@huma-finance/widgets 0.0.62-beta.630 → 0.0.62-beta.633

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/API.md +0 -194
  2. package/dist/cjs/index.cjs +258 -1866
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/index.d.ts +2 -136
  5. package/dist/index.js +261 -1864
  6. package/dist/index.js.map +1 -1
  7. package/package.json +7 -17
  8. package/src/components/CreditLine/paymentV2/1-ChooseAmount.tsx +0 -1
  9. package/src/components/InputAmountModal.tsx +2 -13
  10. package/src/components/Lend/supplyV2/6-Success.tsx +3 -3
  11. package/src/components/WidgetWrapper.tsx +4 -6
  12. package/src/index.tsx +0 -139
  13. package/src/store/widgets.reducers.ts +0 -5
  14. package/src/store/widgets.store.ts +0 -1
  15. package/src/components/CreditLine/solanaBorrow/1-ChooseAmount.tsx +0 -67
  16. package/src/components/CreditLine/solanaBorrow/2-Transfer.tsx +0 -159
  17. package/src/components/CreditLine/solanaBorrow/3-Done.tsx +0 -38
  18. package/src/components/CreditLine/solanaBorrow/index.tsx +0 -90
  19. package/src/components/CreditLine/solanaPayment/1-ChooseAmount.tsx +0 -75
  20. package/src/components/CreditLine/solanaPayment/2-Transfer.tsx +0 -92
  21. package/src/components/CreditLine/solanaPayment/3-Done.tsx +0 -59
  22. package/src/components/CreditLine/solanaPayment/index.tsx +0 -83
  23. package/src/components/Lend/solanaAddRedemption/1-ChooseTranche.tsx +0 -114
  24. package/src/components/Lend/solanaAddRedemption/2-ChooseAmount.tsx +0 -183
  25. package/src/components/Lend/solanaAddRedemption/3-Transfer.tsx +0 -102
  26. package/src/components/Lend/solanaAddRedemption/4-Done.tsx +0 -29
  27. package/src/components/Lend/solanaAddRedemption/index.tsx +0 -155
  28. package/src/components/Lend/solanaCancelRedemption/1-ChooseTranche.tsx +0 -114
  29. package/src/components/Lend/solanaCancelRedemption/2-Transfer.tsx +0 -99
  30. package/src/components/Lend/solanaCancelRedemption/3-Done.tsx +0 -55
  31. package/src/components/Lend/solanaCancelRedemption/index.tsx +0 -162
  32. package/src/components/Lend/solanaSupply/1-Evaluation.tsx +0 -106
  33. package/src/components/Lend/solanaSupply/2-ChooseTranche.tsx +0 -116
  34. package/src/components/Lend/solanaSupply/3-ChooseAmount.tsx +0 -131
  35. package/src/components/Lend/solanaSupply/4-Transfer.tsx +0 -137
  36. package/src/components/Lend/solanaSupply/5-Success.tsx +0 -52
  37. package/src/components/Lend/solanaSupply/index.tsx +0 -155
  38. package/src/components/SolanaTxDoneModal.tsx +0 -119
  39. package/src/components/SolanaTxSendModal.tsx +0 -61
  40. package/src/components/SolanaViewOnExplorer.tsx +0 -29
@@ -30,10 +30,6 @@ var Persona = require('persona');
30
30
  var sdk = require('@huma-finance/sdk');
31
31
  var moment = require('moment');
32
32
  var address = require('@ethersproject/address');
33
- var walletAdapterReact = require('@solana/wallet-adapter-react');
34
- var anchor = require('@coral-xyz/anchor');
35
- var splToken = require('@solana/spl-token');
36
- var web3_js = require('@solana/web3.js');
37
33
  var bytes = require('@ethersproject/bytes');
38
34
 
39
35
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -110,7 +106,6 @@ const widgetSlice = toolkit.createSlice({
110
106
  state.withdrawShares = undefined;
111
107
  state.redeemAmount = undefined;
112
108
  state.redeemShares = undefined;
113
- state.solanaSignature = undefined;
114
109
  },
115
110
  setStep: (state, _ref) => {
116
111
  let {
@@ -201,16 +196,10 @@ const widgetSlice = toolkit.createSlice({
201
196
  } = _ref12;
202
197
  state.multisend = payload;
203
198
  },
204
- setSolanaSignature: (state, _ref13) => {
199
+ setError: (state, _ref13) => {
205
200
  let {
206
201
  payload
207
202
  } = _ref13;
208
- state.solanaSignature = payload;
209
- },
210
- setError: (state, _ref14) => {
211
- let {
212
- payload
213
- } = _ref14;
214
203
  state.errorMessage = payload.errorMessage;
215
204
  state.errorReason = payload.errorReason;
216
205
  state.step = WIDGET_STEP.Error;
@@ -231,8 +220,7 @@ const {
231
220
  setWithdrawAmount,
232
221
  setWithdrawShares,
233
222
  setRedeemAmount,
234
- setRedeemShares,
235
- setSolanaSignature
223
+ setRedeemShares
236
224
  } = widgetSlice.actions;
237
225
  var widgetsReducers = widgetSlice.reducer;
238
226
 
@@ -242,7 +230,7 @@ var SorryImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFTCAYAAAC52Y
242
230
 
243
231
  var AutoPaybackImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbcAAAFkCAYAAACjPXVqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAJL6SURBVHgB7Z0JYBNl+sbfaQu9S7hvGu6blhuk2nCoKCpVUVfdXYq7KuquoKviqru064nrCnU90PW/tIsHIkirAgJCUwXkppX7bApyI6SUFgql+c/7zUwySXNOJpmkfX+7sWmSljRfMs+83/d8zwtAEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBeAsHBEEQRL1Bx4NfZBeIjIzUS/dfu3bNJHs4XjcjUM8gcSPUIOO5556bGRcXl7p+/fr8lStXFvC3GUH44BAEoTKigOl50Uq1WCypffr0SW7btm1q+/btdbGxsbqOHTtCkyZN2GM7derk9HccOXIEysvL4cKFC+w6r2/FFRUV5nXr1pXU1taa+IcU4yVchY/EjfALvV4/c968eVkGgwFycnIgKysLxM+Cib8M5C/17oyQIIINr2UoZAYUsJSUlHResFL79esH/fv3Z+IlCZla7NixgwkeL3RQVlZW/N133xVzHFfAV30odiYgiHrOzOLiYgvCi5qF/97xkgUEQSiCFzRDs2bN5tx7772l77//vuXHH3+0aAn++3/9618tt99+eyH/3Kaj4AJBeACnGAziRQ/hgX727NnsTT9nzhxJzM7zFZyFr+ak70uBIAivQUHjK7I506dPP//tt99a+CrJEorw1ZwFBXfkyJEodJkkdIQjug5t9DOfefj1819/tN2Cl1nPzbM8fN9z29u27DCHvz8VQpQnn3yyFN/kpaWlFv6NLQmZfsaMGed5pNvwogOCIFyC62d8hTYzIyPjPFZHoSporvj5558tjz/+uIX/G+aRyBGMLh17Fm/9+rzlwBqL08snbxdafn/nk6X9ew6eB0JVFxLw1dlMFDVErNKYsOF9zzzzTD7e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Pc6+xkYkMiOM3R5ti/RrHPbw8V9fLb0711RFIcmEZ0jcCIJIbR2tN3SPGzi5Z/zg1EFNxjLRYchUS/gvZ/2vfTUnXyATzSicnVPT7qqjSUSen8mEMyLCJpBiL7xtF1bDB0f/NJC/sRgIwgMkbgRByNGDaEjpL3NeMura8+tsJ5D3pZOwbSIHuxtlJhFhWrPWIqme7V/hf1GtOFWZ+8uLxevOLx4IBOEFJG4EQbhCz18M1zW9fWJybJ+MgUljoUUjMdxZfIB9tJdYgbH0kwjZ9gIpF9NB+RymIq2PlPbayTaSowvzr/vGkZGE8BoSN4IgvAGdl4YBiTdkdIjpPrFfYpoODSkIZ9+VQLY/zhl1I76s1Arf2wTONiu6/vwSmHfshc5Ae9sILyFxIwhCCcx52TV2oGFwE2zCOky41SJtCHcyFelYxcldKPKN4Q4Px5tfPXhProm6bRM+QOJGEIS/GLrGp2boY/pO7J0wXI+GFCFdxJX5RI6TSs7hK3YT/+fhyaOBum0TPkDiRhCEmmAciWFs89/w63T9DL3ih0Fz1oTV8zQlYlfRsU5uHHx6/DXTml9pbxvhGyRuBEEECj1/MQxpcvPklMQbWLfx5qLz0rGas24Yt6alCPvosJHq8/tuJCMJ4TMkbgRBBAM9fzH0Sbhu4tAmNxk6x/bTdYrtbbX5u+L7s5+aPj/xGk5JmoAgfIDEjSAILWBNWAckpqfzU5f6XnxV57gut+z0x+bFp2ajsNGmbcJnSNwIgtAa1oS1d/yIlMYRMalXai+bN5qX5Z27emIOUMVGEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEAQRXP4f8kfGser8rBoAAAAASUVORK5CYII=";
244
232
 
245
- var _templateObject$q, _templateObject2$p, _templateObject3$i, _templateObject4$b, _templateObject5$8, _templateObject6$7, _templateObject7$5, _templateObject8$3;
233
+ var _templateObject$l, _templateObject2$k, _templateObject3$e, _templateObject4$a, _templateObject5$7, _templateObject6$6, _templateObject7$5, _templateObject8$3;
246
234
  function ErrorModal(_ref) {
247
235
  let {
248
236
  title,
@@ -259,12 +247,12 @@ function ErrorModal(_ref) {
259
247
  errorReason = 'Oops! Something went wrong';
260
248
  }
261
249
  const styles = {
262
- wrapper: material.css(_templateObject$q || (_templateObject$q = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
263
- header: material.css(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
264
- sorry: material.css(_templateObject3$i || (_templateObject3$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
265
- content: material.css(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
266
- errorIcon: material.css(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
267
- messageWrapper: material.css(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
250
+ wrapper: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
251
+ header: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
252
+ sorry: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
253
+ content: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
254
+ errorIcon: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
255
+ messageWrapper: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
268
256
  errorMessage: material.css(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-size: 14px;\n font-weight: 400;\n color: ", ";\n cursor: pointer;\n display: -webkit-box;\n line-height: 16px;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: ", ";\n "])), theme.spacing(0.5), theme.palette.text.primary, theme.spacing(2)),
269
257
  okButton: material.css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
270
258
  };
@@ -1637,7 +1625,7 @@ function HumaLoading(_ref2) {
1637
1625
  });
1638
1626
  }
1639
1627
 
1640
- var _templateObject$p, _templateObject2$o, _templateObject3$h, _templateObject4$a;
1628
+ var _templateObject$k, _templateObject2$j, _templateObject3$d, _templateObject4$9;
1641
1629
  function WrapperModal(_ref) {
1642
1630
  let {
1643
1631
  title,
@@ -1646,10 +1634,10 @@ function WrapperModal(_ref) {
1646
1634
  } = _ref;
1647
1635
  const theme = material.useTheme();
1648
1636
  const styles = {
1649
- wrapper: material.css(_templateObject$p || (_templateObject$p = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1650
- header: material.css(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1651
- content: material.css(_templateObject3$h || (_templateObject3$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1652
- bottom: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1637
+ wrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1638
+ header: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1639
+ content: material.css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1640
+ bottom: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1653
1641
  };
1654
1642
  return jsxRuntime.jsxs(material.Box, {
1655
1643
  css: styles.wrapper,
@@ -1664,7 +1652,7 @@ function WrapperModal(_ref) {
1664
1652
  });
1665
1653
  }
1666
1654
 
1667
- var _templateObject$o, _templateObject2$n;
1655
+ var _templateObject$j, _templateObject2$i;
1668
1656
  function LoadingModal(_ref) {
1669
1657
  let {
1670
1658
  title,
@@ -1674,8 +1662,8 @@ function LoadingModal(_ref) {
1674
1662
  } = _ref;
1675
1663
  const theme = material.useTheme();
1676
1664
  const styles = {
1677
- loader: material.css(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1678
- bottom: material.css(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1665
+ loader: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1666
+ bottom: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1679
1667
  };
1680
1668
  return jsxRuntime.jsxs(WrapperModal, {
1681
1669
  title: title,
@@ -1702,8 +1690,7 @@ function WidgetWrapper(_ref) {
1702
1690
  const theme = material.useTheme();
1703
1691
  const dispatch = useAppDispatch();
1704
1692
  const {
1705
- step,
1706
- solanaSignature
1693
+ step
1707
1694
  } = useAppSelector(selectWidgetState);
1708
1695
  const [{
1709
1696
  state,
@@ -1719,14 +1706,12 @@ function WidgetWrapper(_ref) {
1719
1706
  }
1720
1707
  }, [dispatch, failReason, state]);
1721
1708
  React.useEffect(() => {
1722
- if (step === WIDGET_STEP.Done && (txReceipt || solanaSignature)) {
1723
- if (handleSuccess && txReceipt) {
1709
+ if (step === WIDGET_STEP.Done && txReceipt) {
1710
+ if (handleSuccess) {
1724
1711
  handleSuccess(txReceipt.blockNumber);
1725
- } else if (handleSuccess && solanaSignature) {
1726
- handleSuccess(0); // solana tx doesn't have block number
1727
1712
  }
1728
1713
  }
1729
- }, [handleSuccess, solanaSignature, step, txReceipt]);
1714
+ }, [handleSuccess, step, txReceipt]);
1730
1715
  const handleCloseModal = React.useCallback(() => {
1731
1716
  reset();
1732
1717
  dispatch(resetState());
@@ -1753,7 +1738,7 @@ function WidgetWrapper(_ref) {
1753
1738
  });
1754
1739
  }
1755
1740
 
1756
- var _templateObject$n;
1741
+ var _templateObject$i;
1757
1742
  function BottomButton(_ref) {
1758
1743
  let {
1759
1744
  variant,
@@ -1761,7 +1746,7 @@ function BottomButton(_ref) {
1761
1746
  onClick,
1762
1747
  children
1763
1748
  } = _ref;
1764
- const styles = material.css(_templateObject$n || (_templateObject$n = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1749
+ const styles = material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1765
1750
  return jsxRuntime.jsx(material.Box, {
1766
1751
  css: styles,
1767
1752
  children: jsxRuntime.jsx(material.Button, {
@@ -1794,7 +1779,7 @@ function ViewOnExplorer(_ref) {
1794
1779
  });
1795
1780
  }
1796
1781
 
1797
- var _templateObject$m, _templateObject2$m;
1782
+ var _templateObject$h, _templateObject2$h;
1798
1783
  function ApproveAllowanceModal(_ref) {
1799
1784
  let {
1800
1785
  poolInfo,
@@ -1832,8 +1817,8 @@ function ApproveAllowanceModal(_ref) {
1832
1817
  }
1833
1818
  }, [handleSuccess, reset, resetAfterSuccess, state, symbol]);
1834
1819
  const styles = {
1835
- iconWrapper: material.css(_templateObject$m || (_templateObject$m = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1836
- description: material.css(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1820
+ iconWrapper: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1821
+ description: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1837
1822
  };
1838
1823
  const sendIncreaseAllowance = React.useCallback(async () => {
1839
1824
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -1903,7 +1888,7 @@ function ApproveAllowance$c(_ref) {
1903
1888
  });
1904
1889
  }
1905
1890
 
1906
- var _templateObject$l, _templateObject2$l, _templateObject3$g, _templateObject4$9, _templateObject5$7, _templateObject6$6;
1891
+ var _templateObject$g, _templateObject2$g, _templateObject3$c, _templateObject4$8, _templateObject5$6, _templateObject6$5;
1907
1892
  function TxDoneModal(_ref) {
1908
1893
  let {
1909
1894
  content,
@@ -1915,12 +1900,12 @@ function TxDoneModal(_ref) {
1915
1900
  const dispatch = useAppDispatch();
1916
1901
  const reset = utils.useResetAtom(webShared.txAtom);
1917
1902
  const styles = {
1918
- wrapper: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1919
- header: material.css(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1920
- content: material.css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1921
- subContent: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1922
- check: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1923
- doneButton: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1903
+ wrapper: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1904
+ header: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1905
+ content: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1906
+ subContent: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1907
+ check: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1908
+ doneButton: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1924
1909
  };
1925
1910
  const handleCloseModal = React.useCallback(() => {
1926
1911
  reset();
@@ -1962,7 +1947,7 @@ function TxDoneModal(_ref) {
1962
1947
  });
1963
1948
  }
1964
1949
 
1965
- function Success$f(_ref) {
1950
+ function Success$e(_ref) {
1966
1951
  let {
1967
1952
  poolInfo,
1968
1953
  handleAction
@@ -2030,7 +2015,7 @@ function CreditLineApprove(_ref) {
2030
2015
  children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$c, {
2031
2016
  poolInfo: poolInfo,
2032
2017
  amount: amount
2033
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$f, {
2018
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2034
2019
  poolInfo: poolInfo,
2035
2020
  handleAction: handleClose
2036
2021
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -2041,7 +2026,7 @@ function CreditLineApprove(_ref) {
2041
2026
  });
2042
2027
  }
2043
2028
 
2044
- var _templateObject$k, _templateObject2$k;
2029
+ var _templateObject$f, _templateObject2$f;
2045
2030
  function ApproveAllowanceModalV2(_ref) {
2046
2031
  let {
2047
2032
  poolInfo,
@@ -2076,8 +2061,8 @@ function ApproveAllowanceModalV2(_ref) {
2076
2061
  }
2077
2062
  }, [handleSuccess, reset, resetAfterSuccess, state]);
2078
2063
  const styles = {
2079
- iconWrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2080
- description: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2064
+ iconWrapper: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2065
+ description: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2081
2066
  };
2082
2067
  const sendIncreaseAllowance = React.useCallback(async () => {
2083
2068
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -2144,7 +2129,7 @@ function ApproveAllowance$b(_ref) {
2144
2129
  });
2145
2130
  }
2146
2131
 
2147
- function Success$e(_ref) {
2132
+ function Success$d(_ref) {
2148
2133
  let {
2149
2134
  handleAction
2150
2135
  } = _ref;
@@ -2199,7 +2184,7 @@ function AutoPaybackV2(_ref) {
2199
2184
  children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$b, {
2200
2185
  poolInfo: poolInfo,
2201
2186
  poolUnderlyingToken: poolUnderlyingToken
2202
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2187
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
2203
2188
  handleAction: handleClose
2204
2189
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
2205
2190
  title: "Auto Payback",
@@ -2254,17 +2239,17 @@ const useEA = () => {
2254
2239
 
2255
2240
  var spinner = "data:image/gif;base64,R0lGODlhuQEjAfcAAFFRUVFRUVFRUVFRUVNTU1dXV1hYWFlZWVlZWVxcXGtra4ODg5GRkZmZmZmZmZmZmZqampubm52dnaGhoaioqLCwsLe3t7y8vL29vb29vb29vb6+vr6+vr6+vr+/v8HBwcTExMjIyMvLy83Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztHR0dfX1+7u7vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBAAj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ3qHAgAIItKhABSgixkCLNNKoAAoxEsZijTwiwEGOge3YI484AtlXBUMOqYCRaKEAAQNQwuiQkEnW+COTY6mowJZcKgABQxxUOSQDWIrFwQJdpkmmQhCI2eOSZX6FApppqsmmmz3G+dWKddZ55UFt4mmjnl2h0Gefax4UpqAtLkAoVxAc2qdCVLr55aNa8Slpl0UeNKOgcCrkJJQQdIqpUZpuuqWpBlWa5KX+CLUpwKy0IiDlqUSlqiqrBXHgKo+JHqQArcTSGiquQVWgKpeOLmRolcEahECx1ApwLLI/0akqrAsFWuMCvBI0bLXUNovtT8qqaq5DKFRQAQfhElQBueT+eW5PutYZb0bj0lvstffuFGmfC9jbEQr+khswUBykugC3H82bMLX7LowTChiXBMHE1Bps8Vgbc0ysxx+HhbDItFZcclco07ryWQu0HO3LJY1KqsoqnSwyzSk9CeXPDEAMEwMiC81zSEAnHXRNRCds9NEf+az0z0+3FDK5t0ItkopTJ33T1bMiULXWHUnddZQ5ZUz2SWcnPfbaWLUN9NtwWyU31XWDZfb+2STnjRXXcvutt9xZCw7p2YUbfrjSiSveFQcQRN6345RXbvnlmGeu+eacd+7556CHLvp37UYOQQU4j15UBaa33rjqR7HeuuuwLwX57LOnXjtPuOP++u5A9Y478EcJPzvxRhnfOvJFKR/578zvdLvxukdvk/LQWy+w8NobJbvpk3f/E8bVi2/++einr/767LfPHAocxB+/+zzJbz+89ON0//3l52/S/vfzH03gB0D5CXAmBbSfRMjXvwM6K4HzgwgDyefAjBAwgRKcIAUreBEIVk+DDOTgRS64vwyCsIEiLAgJDWhCEKYQIxjD3wJPiMIXboSGNbShRk6ow5dosIeSMVEbEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pTdCwgAIfkECQUAmQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc9PT09PT09PT09PT1CQkJKSkpPT09QUFBRUVFTU1NYWFhdXV1iYmJmZmZpaWlpaWlpaWlsbGxycnJ/f3+MjIyampqqqqqvr6+xsbGxsbGxsbGxsbGysrKysrK1tbW4uLi7u7u8vLy9vb29vb2+vr6+vr6+vr7AwMDExMTHx8fKysrMzMzQ0NDV1dXi4uLv7+/7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAzCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiid+VQMEEE1DQAYqJlSDBAzTW+EAFMBZWgY08PjBBjoJ10GOPPwLpFwtDDomjkWix0EEHJUBEQZJDMmlWByxm2SILDVE55ItWirWilloumRCSXvJoZphejUmmlmAihGaaNVLA5ldYvvmmQnPSeeOdXump55oG+VljnIBmxYKgeio0gaEPcJmoVnkyqqVCJRha5EIslFCCpJMiVamlLC70KJ2cToDAqqzaGapR/iWQeulCM3oZZUIVsKorq4i+GpSsLLq60JRDSgDqQRTsqiwChPrqk5uW3spQrDZK0GxBHSy7rLTO/iSrsB9pu+wD3QYVq6Ui5Squsr2Wu9O5b4L70QPrKkuuu0B14GYFx4JU77L4qsXCv8oGnNbABOtqcFoJK7zwWfQ2LMHDZ2XbMLcUn1RCBxV00K9MEf87ccYocVzByShjDBPC/5KMEsowo9zuSyX8+7HLIJkcM8w3vxTyrpviTNLORN9E7aoPUNCz0B6VQPTOSzNN6dMxqyw1V1RXfXVYOmdt9daKZo0y2GGJfbJQTnpMtkZOZw2UjALEHTcBE0S9dkNdx2w3/k0PyO233EHfLRELRf+EwN+IC3Cv4BV5+nVOhyeOeOCMT0WB5JLPXPlTmEuOwOZUVdC55HuDblTfoyN+relKEZA64iOz7tTriC8uO1Ou0y537LcvhbruAqzee1GiAy9A6cMDZfznyTN1ue6aN19U5KlTLr1AGz+J/EzUY2779QKl/eT428f0e+LWSy/++OS/LcHfBBgLvkHs1//kUGmXL3v29rc/P1P9s9//ABhA9g1wKQU04AGTksAnPW6BQFlf/yCoFP7Z74EUfFv/MJjBCNZPfx0MoQhHSMISmvCEKEyh1DrlKRCq8CUsdJynXvgTGdqQhjyxoQ1diEON6VCGuj3MyQ+BGESjDXGGRbTJET+VRJvEUIdNNKIOeRjFkTyRiVXMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzPAEBAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQklJSVBQUFZWVlhYWFlZWVpaWmBgYG1tbXNzc3R0dHR0dHV1dXd3d3x8fIGBgYmJiZKSkqGhoaysrLCwsLGxsbKysrKysrKysrKysrOzs7a2tr29vcbGxsvLy8zMzM3Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztLS0tjY2Orq6vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ4H2wwYoooKhYBQ/EKKMEH7hYGAoy5ihjBTYKhqOOQPLY419AFvlAi0OmhQKSD31gJJASJGkWChVQYKWVGzhEwZNASknWBleGaSWTCXEJZI1eggWmmGIyZKaOWab5FZtsClnmmzKiKSdXVdIpJpkGSYBnjIDuiZWfdSq0waAPGMoVCoiyudCgcTqaFaSRhrnQomZGuakECISKAI2WIpXplXYmBOOTniaEwgL+osaKQKOlFnUqlg1xCiQFC30g668IFFprTx/cChGYOwpLEArAAjvsUH0iWulHDzT7K6/PBhVpqh4xa+2v2QoVbZjTfkTBt79yG25PG1Tgrp4iwYpurK2ui9a8stJq7734iqrvvmZV2++oAKNVwcAIlFvwWAgv3BIKHygL07n4quswSe26667CMQn87b8Xk/SBxiS7K3FLHgNbb8gklezyTQcDyzHLIGXsssYzw9SuBBJUAC/NLd9cMtBkUSk0yUSPNfLRGictltFMW+z0VlG7O3VYNgv989V8Hp0zThssUEAAARTwwNdcOwR1yWjXtMHYZMdNdgEnp51ryVvrRIH+3HzH3bbdT+3d9+B/A77UB4MnHoDhVyGg+ODYMj7V44MXIPlUFVA+eN2XG/WA5n0X3rlQn4Mut9SjH1W66WSLnvpPmbNONuevCyV72bU75TjrkeeuFOKs++6U4Jq73vmStNckQfHCI6TiiivmrdPbiRcgvfDQZ7+iUGHDbbbxl2uv/fXNIyW+9uU/hcL52Sef/k/Ps7+B++8TKz+L9S+1/v35M3U/+P3Lyf7OF0CmDDB7BXQKxDYQsQQ68IEQjKAEJ0jBClqwgEu6YFGQx0ENAoWDIPRgT0AYQhHuhIQlNCFOUNhBFa6QhRl04U1gSD8ZpgSGNnwhCXOokxTy8IeWQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUquRYQACH5BAkFAJkAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUlJSWVlZYGBgZmZmaGhoaWlpampqbm5uc3NzdHR0dXV1dXV1eXl5gYGBioqKkpKSmZmZn5+fp6enrq6us7Oztra2uLi4vLy8vb29vb29vr6+vr6+vr6+v7+/wsLCyMjIzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7O0NDQ2dnZ5+fn+Pj4/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AMwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4onhoaAiiot5IIEDMDoAwQUsHvZijDhCgEKNg92I44878vjXBT8WKaOQf0FgZJE0ImmWBxNIIOUFQTJE5JI/QuAkWShEKeWXEjS5kI9YxrilWCiAqaYEEzBEZpkOnBmWl2t+KSZCb5Yp51cu1qnmQlfCeeSeXdHpp5QeKISCoDC2SShXh6p550F5GvloV5GCOelBSpa56UEX3BjmpUllaidDKHRqpKMKTYDAq/6wvsoqqUOFamqVC01QJASJLgRBrMAioCWtRJk6K6oXTDDBBb0u5ECwwUpAbK2Z4uqRq9AG++m0O9laZ7MgZQttnNwGBaWax37kgbjQgluuTyh4IK9J2LIb67bvjiWBvcCmmy9Z+/ILq7//ilWvwPgW/BUKAsOqcFrPCjzsw082bC3FJXlwwcYbuyvTwdkmjPFHHJe88U0gAyvyyB2Z7PJNqUbLMkoau1zyxTPV7PHMI9n8Ms9k+Wwy0EELzTHRYxl9NNJhKc0s02GhoDTUYtVs88476foqBARTLZHPWOfkQABkl022tF5fJHXJ5prtNtkEpM2VB2/XHbfcWRFQd/7d5OJd1QR77x2230zpHfjbfRMOFQqH7624VBc0XjfOjycVueRuU175UZdjXrbmmxfFuOdlh/6U4Z4nbrpSgJM++OpEod646rAnRbfkd9fe1O2B5657QfHKKy/oOI1dN9q/FyT88vMKpbWwXesePPPDJ/8U9cxb7xT2y2vP1PTce88U98KLvxT5zdvUJQJkIzAB8eKjD79KKBAAwP3430+7+QSRb5ME+Qsg/lamPez9T4AIBAABtaei+anEAwlMoAP5R5MARBCBCKAgUC5wQQlq0CcO6CACo/fBmYgQgyXkyQkFGIAU7mSFAWyhC3MCw/xlcIY4QUAN7zcxHNZkAvE7BMDrfDiQBq6IJDuUIREXYsQGkgSAMFwgDptoRJJY8IT7WyJBqFhFK4rwhlpMCBedWBIIXJCEYRzjEUuSqiveLwDICyMTx7iSNcqxIXS8Y0+4qEd4kbGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKY0p0nNalrzmtjMpja3yc1uevOb4AynOMdJznKa85zoTKc618lOEAUEACH5BAkFAJcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRU1NTWFhYYmJiZ2dnaWlpbGxscXFxeXl5f39/gYGBgoKCgoKCg4ODhoaGi4uLkpKSlZWVmJiYmpqanp6epaWlqqqqr6+vsrKytra2v7+/x8fHy8vLzc3Nzc3Nzc3Nzs7Ozs7Ozs7Ozs7Ozs7Oz8/P09PT39/f9fX1/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopniUBhE44GIFJKhoGAcu1lhjBTIOpoGNPDoQQY6AkdBjjzgC2VcFQ/ZoJFocaOBkjA8l2aMGS5KlQQVYZgljQzRKaeOPVYZ1pZZacsDQjl7aGCZYY5KpJZQJoZmmi2t+5aabVCok5JwOFFnnVhzc6SZDLc5p5p9btSkolnAi1KWXYCKqlaKLNooQkl5aihAJY+Yp6YqLvtkQpkMeqqcDB6SqqgOafvoTCf6hZvkQB4XeOKqquKrqqatBxVqBqQ6RwAEHrR5UQa7IHrArrz7BGupIJCSbLLNCOXsnSRFIi6yf1P5EKbAhaTttt0MV+1G04uZqLrlipqsuu2lp4C6u68LrFbrzHmBvWvkeoMC+aB0777IAj6WAu/8WrFKTToI7E77SJqzwSQw7aXG9LJFwcLIOTIxSxRZfjNOOuDpAsMcihayykyibBfLKGmDcMlYwq+zwzF3VrDLOYuls8c08a/XyyjIHTZXPJxutFac1l9tp0UovxPTOQckbwNVYHwB11AkJqwGxQimA9dhYc8s1VmKTrXakZ1sVgdpwB5B0206REDfcBNBdlf4Dd8M9t95KEdC32hID/tTgaudt+FN2I0724lA5PrbikDcluOQBFF65Unxj/vfm5WJOOehLve3456QPdQDiHafuVNpxm+36QCTUXvtQVpN9ANCu2+47UU1iGfPsm/r+O/F1G2888k0pvzzzSzl/PPRJSW879UpZfztOgUYQwZbY6yk9ThUEAMD56Acge/gCWW+T3ejHj76+7Buk/E0kyK//+QFsXX9M5tuf/gLwv58oQIACZFsBc4JABC5wJxVooABR98CWHFCC+lNgBWdCAAzqj34brEkHPRg/EIZwJgcgYfxad8KZRECF6FtfC1uSPxgCYIYihKEJcQgTDsDQf8E8HEkEPUjBIKLkhRKUoRFdooEA6o8AQFyiSTggtvMRwAG8k6IWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEwmrwICACH5BAkFAJYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHWVlZWVlZWVlZWVlZWVlZXFxcZWVlb29vdHR0dnZ2e3t7gYGBhYWFiIiIioqKjIyMjY2Njo6OkJCQlJSUnJycpKSkqqqqsbGxtbW1ubm5vLy8v7+/wsLCx8fHy8vLzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7Oz8/P0tLS29vb7u7u+Pj4/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALQkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopojUBRRQcAEJKiJGQQQ01hjBBjESZuOOEVyQY2Az8mgjjj/2dYGQPBaZFgkbwAgRkjw6qaRYJLDYYos+OgTljllOCdYGV4bZYkMkbGljl152RYKYYqKZkJk1upmmVlayeSWRCsFJI55zbmVnmwwdCWefav4pZkNwykmoVWAaemVDG2xJAUQkSLnoUWs6OiakSE7a0AUJhCqqopcCpamLEAlKIwV8JkTCAv6ixprAAqUWVeefJcmqawK1EnWrmK1+BOuusdLaq1C/thisR6ASK+uyx+5U5ZWkejSss6J6Gu1a2Oq6LVvdyvott+GKOq5a5Zp7LloUpKvtumWRkC68abXbbbX0isTkBtDKFAG27+Zr0gYXFFxwvzDZqyu+An9k8MMF63TBsAsw3LBHBENsMMIXc1Wlxg93XFbGIBdsqchfkVzyySirWbLBLY/1csQxh6UyxBzXfNXNBxO1L8s6V3RzzjdFYIAASAtgQMBBWwR0TxckLXXSRDf9FAVTZy1A1VYvFbXWWT/d9VNHgz01r2NT9bXZU4udtlIJsJ01028zVbbcSUdQd/5UeE9t7N5O3d233oA7FXffSNNd+FFr9+324kQJzjbakDPVONuPVz4U1nJzrTlQl0/t+d6VZp5TBFMv/bmrpZde1M+rs96667E/NXvrtTt1++y5M7U77r0r9TvtwSc1vLQmF8/Q8TdtkAAA0Ef/t/IH7Y7TAtFnH73i1AN/kwHahw8A5dQD9bz44RNevk8XoI++6evHJID74pMfP04k0I/+/Tu1r3/4o+MfSiLwv/BxT4AvIWABs3dABLaEAgvMnsUcqJINRDB6FLzJBQEggAzaRIELnKAHUzK/AnZwhDXJXwFReBMVuu+ELCwa+hoYQ5gcKVQ9qqEOd8jDHvrwh5VADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpR0DAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTk5OTo6Ojw8PEpKSlpaWmRkZGhoaGhoaGhoaGlpaWpqam1tbXR0dHt7e4GBgYWFhYqKio2NjY2NjY6Ojo6OjpKSkpeXl5ubm6CgoKmpqbCwsLi4uMDAwMPDw8jIyMzMzM3Nzc7Ozs7Ozs7Ozs7Ozs/Pz9XV1d3d3ezs7PX19f7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaIlAkffGCCiol9oMEFNNLYAYyFzVjjjhe8iCNgHfAo5I9/mSCkkDcSyVeQR/KopFkfdCCllD42pGOTNVb5JFhTdimlQ1jyqOWWXXlpZkNh7jgmmVpFaWaXVqZJI5tfvXnmQkamqQGdXtnpZZxhrsnnVX7CCeiRSQ66VaFTPnTljh84ZIIGEVQaQaKKFsVoB4ImZEIHM2oQqUOUWmoqppkG9WmhJV1g6qv+EeyZ6lBuvllSB7DCiuqsPtVqKEm55sorUau6aBKuwb466rBruZqsqbIyq9azr14g7VrUmmrttWk5m2203JqFbLadhhtWthFsa+5ZH5C7bkvlyjRurru+SxKLLbYY70tGwtqjvSnlK7CxOX2qgQacApwSvgPrqzC7DQv8MJQR5zsxWQxXfDFZFVu8sVgdt/ixWBkPPPJYJTt88lgm03oBAzAz8O/KYD0Q880y09yVCTj3/IDOW/UsdARAY/Wy0D3XW/RTSCO9NFUdNC30vk8fpYHUSVcd1dFYx6y01khd3bXXYD8V9dgwU132UGjDvPZTXGP99dtGjU003U7xLPX+z3hDZbPQ6vZtdtwXLCu4QSYknvjhUynuOONQOS455HlLrjjlTVl+OeZLab4450p5rjboPmmuU9QGpG7AA3OTPjlOHzCg+uwGMDA65bevpAHtvBvQOuk4ddB777kDH9PwvR9g/E8XIN/778sf7zzvDES/kwnT9269Th9kz3vx25/Uvfezgx9+SdiTr/r5OKm/PvvoBxmr4QdF4H7g8H8kvAD8918A/gRJH/nyJxIG9O+A/fMdQprnPXARkCMGQKAE+ae0B2QPgA/MyAEmyMFO2Q95GMzgRTTAQQ4qDyEfsCDtHmA+ES4kgiWcIP0M4qYZujAjH4ghB+92w5VcQIfiEzRAD1nyACBOcIgrMaAREYhElRRxiQdsYkpICEX+CVGKKKki/0KIRZBssIot7OJEcghFLorxIz804hXPeJIIAHGNbDxJBwpQQh7GMSXNo6MVIxDGO2rkc34MpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMZ1wCAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUFBQUFBQUFBQUFBQUpKSllZWWZmZm5ubnJycnR0dHR0dHR0dHR0dHR0dHV1dXV1dXZ2dnh4eHx8fH9/f4GBgYSEhIiIiIyMjJCQkJSUlJeXl5mZmZmZmZqampqamp2dnaGhoaenp62trbGxsbOzs7S0tLe3t7u7u7+/v8LCwsXFxcjIyM3NzdLS0tbW1tvb2+Tk5O7u7vX19f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaoonUnhOCiiy+sWNgKL9YYwgkyCvaCjTbimONfPPIY44987RhkjT4SWdYKJzS5AkQtHlmjkmQx2eSVJwzJUJRSukilWFZieaVDXHb5ZVhiptkQjV16eaZXYabZpJYKtRnCk292JaeYdCbEppR5erUnln0mVKaNhQZ61aBXJorQny8m2ZCRG2SpKFIvMCqpQ5megKdDK1wg6qgXbODopT4x+qlIJ5Dq6gX+q6Ia1KAlvfDqq7IWlWasIW1wq6sh5FrUC8SeZOuvrgrrVqvIksqrsmYx26yom0Ib7bSjVmttldiKeuq2YXV7AbhqhYCttuSONe0G6a6FLLvtrkTsvDtJm228Ks2rb7E6vbDCCt/iG9K++gqMFsH7GmwWwgUrTBbD9Do8FsT8ShwWxQFbjBXEGj9McMdlNUzUCb6W+izIW50gwcosr4wuylZd0PLMEgQLs1Yy0zyzzTdbpbLONPd8FdA68yx0VC8QrfPRU62gdNBMR/Xz0yxHHZXTVFdt9VNJZ73y1lB5XTPYT039NNlQ5ay00WgzpXbRbUcVAtAvx60UyaJucLL+3Xz37fffgAcu+OCBzp1AAhfUTfhPGyDg+OOOs734Ty8kAPnlCEgwuVCWY3655pv7JIHnnkseuk0vkE56xqe7dIHqnsPb+k2we57A7DjV7jnutOt+Oe82+Q757cDTNLrwCIxbPElMZnwC8gjsvTxGFxwwwPXXSyA98qBP31EI2IePPfEHPe87695DdIH47A+AQEIh6K54+hFt0H777z+qegLo0+/Q/feT3UFC0DnHJWB+/lMfAO83qf4l8CELvB8CH9iRF0Swfd2joElOcEH25U+DJgFfB8P3QRCShIMjxF4JTSgSC6bwespjIUkQ8MIBSE+GGxHhCFeIw5BYb4SqE+zhRVx4wRgKcSQrKOIRUZKA+x0giEvUyAsad73MQTGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuDxaQAAAIfkECQUAJQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdRUVFRUVFRUVFRUVFRUVFUVFRZWVlhYWFpaWlvb29ycnJ0dHR1dXV1dXV3d3eAgICKioqPj4+VlZWZmZmbm5uioqKqqqqwsLC3t7e/v7/FxcXNzc3c3Nze3t7r6+vx8fH7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBLCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqKJ1G1xAAQUXZLDiYS6+aCMFG8w4WI032pijjn/x2KONQP415JAyFmnWBhtk8ONDGxzZ4wVKktVkBlhmCaWUPVYp1pVZhulQlFy+SKWXYIWpppMOlWkmml+BuSaWDgl5JJxxzilmQ2RKeSaeXMk555ZH/gnoVoKuGZGdT46ZwQWNHmqUnlpKxKREFESg6aaGSjoUpWyStMGmpGpKgaeTzhlpSKW2eiqq/kQJelKmrZaaJKxu1eoqrm6NqmupvLaVwa+lrhpsWcMSu6mxx47lq7IRNLsWtBG8Ki1aF0DL7LVi0aprp9ya5W2p4IZ7EpPbzhQlqZCauxK68Lq7Frz0ypsWvfHauyS+6Oq7L7+X+usswOkKjCjABluJcMID18vwkkhdIPGtD4M1agMYZ2xtxVxdkPHHGD9QMMdQZQDyyQ2QrNUDKIP8gMpXedwyyCPDnBTLM3+8sc1Q5ewyz1P5DDLQUgmd8ctEQ4Wz0DsnvZTMQtfs9FBGIz21Uyb7fHVUUJ8s8tZRXQxy02A/JXGMZaet9tpst+3223Af26KZUse9k8kG5K33/td2E/WA3oDrTXbfO/0d+OGDE37TBYc3bgDFiueEgOOHpxy5ToxTfjjkl9MUgeaId45TA6AHbrXoNJFe+t6o22T46gYk3jpLFMCed7mzt7SB7QjkLhLeAgSPgOwlvA468b5TtAECwTffvAG4C6S65pYnz9EGzmff/OkFLU+99R1hr/34shsPeLTgc8T8+OOnG6XqDeCYPkcXsM9+7/Oz1ID97OfPEv/si57/QCI+AGYPfQM0SQEN2DwEJrAkDMwe8h64kQg6T4AU5MgDLBi8DCqQg9zzYEg2yEADiPAk6wMg504YkhSOzwB1Y2FGaje+EMqwJBmgQMgweMMe+vCHhEAMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTk4tIAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhz09PT09PT09PT09PT09PT8/P0REREpKSk5OTlBQUFBQUFFRUVFRUVFRUVFRUVFRUVRUVF9fX25ubnp6en9/f4GBgYGBgYGBgYKCgoODg4eHh5CQkJmZmaGhoaurq7CwsLGxsbW1tby8vMXFxc3Nzdra2uXl5fLy8vv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4nUkgACCCCSseJgILtboooyE0WijjTgG1uKOO/b4F5BACukXkTvGaCRZJIjgpJNKOoSkjSIsOdaTWML40JQ1VmklWE1m+eSWXIIQ5ZddiYnlmQrpOCWaYKmJJZlIsgmnVnKOSWeSd36Vp5MRuXnjRHb2WdSfhYJEAgeMMmqmoUjleRIIjVbKAQiQGhVmlpNaaimmmRa1aaIfLeqppaHGdaqnoKba1qr+nrrqFqyoysoWrZXaeiuujOq6FqW4eulrWrwOu5YItJJqrFimeqrsslc2+ii01FZr7bXYZqvtttx26+23b5HwLLhXgYDBueduICy5WZGwAbrwYsABu1rFa+8G9F7Fgb32tppvVCTwy++/U+0rcLzrEtzUwfbOq/BTDMfr8MMLR4zuxBQvZbDFCWeMVMAWY+CxUxsf7O/ISkWML8pNgcwvxiwzZS686sY8lbg256zzzjz37PPPQJso7rhB98SBBEgnDXPRPpGQ9NNJE820TCJAbbUEUk/90tVXa70TBlxbvbTXM4XdNdk2gWC21VkXLQIGDQggNwQri3T02k+fjLb+QE7L7bffBYy90d14I6032iIU8Pfic4ekduFId0w2CYozzjgEikKO9N4FxW255SJ/BHbhoXP+Agefp+7QvkjL+2zVhbfds+epMy74QBw0oPvuupeOEOFhH+41CbV/3oBCEvCufAMQSD7QBmbfrjUIxX+eUPLLL6/s41Y7Tzbq1TP+e/bZS8AQshtswIHsQIMf/t8IkU++9KY3JML7fx9vUO7yL495/RapHP7MZxDs9U95ALSIBPAnt8NB4IDL814CF3I//OnPIBCM4AQpggH8Oe+BGdwd+zYokAVW73ZwC6HuSFgRE36uAMITCAhU2AACsnAiIIAA4wrgu4SAMIOzMbyhlNIVxIKIIIQ9FOJJ+Nc/GypRJTOUXxKfmJIU8k4CRaSiSdw0Qi168YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pcKCwgAIfkECQUAkgAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFBQUFERERMTExUVFRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlZWVlZWVlZWVlZWVldXV1jY2NqampycnJ6enqBgYGHh4eLi4uNjY2NjY2Ojo6Ojo6Ojo6Pj4+RkZGVlZWcnJynp6eurq6wsLCxsbGysrKysrKzs7O1tbW5ubm9vb3Dw8PKysrNzc3Ozs7Ozs7f39/p6enu7u7y8vL+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAlCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqCJ2N9ywomIuxCijiy8OdoOMOLogQ42C5ZgjjTz2daOPOAbpF5E5GnlWi0xGhGSRSo7F5JRANvSkjFFKSWWTDslwpQtZhrXllBBdWWWYXI1JpkNDEokmWGpyyaaPO775VZwtSjSkDGfauRWeKcmAwqA6+plUnCfdMOiii/ZpaFBjJsropCg8ilSeKVE6KZiWwiWopow62ilaoG46qlulMsrpqWuluuiq/qym5YKrKNQZa1qKunorW7OWCuuupIL6K7Bo9aoqsW8NKSqyzDbr7LPQRivttNRWa+212DZ34wjcjjBstli50O24I9gK7lUokEvut+dCJa665C7bLlPwqlvpvFLdUK+6+Er17r7dytuvUf8CPILAAxNVMMAIJyyUvgZz6/BTEY9w78RMLQxvwxgHle6+7HZ8lMbchizyUdt2a/LJLLfs8sswxyzzzDTXbHO+KGyg8wYocHxzTSPsLDTPPwPVwdBDj1B0T0cjnfTSOrngtNM+Q51S01MLrbTVNmXtNNcKudBBBRVocDBJN3iNNNgHoYDAAHDHPUAF5nqUttpCs12Q/gZy9w33xXbjnbfeAlXg9+FbfyS4zh0QLkkHh0de90Y5C76yzTdEHnkFD/XqQsOLOw655ocLfMPYZKdewcoy4F21zG+T7nfibatuewUbLNR61q/LLPvhGiSEwu23575Q5UIDrnfmv/fN+UE3EE887Qkp6zhBzDcf9/MGoS697ddXpL3cjRsU/fe3Ux++Q4aPP4DyAg2P/u3rS+SC+wMgNML89NcfUfvNU59AvMc/svkvIjLQHvcMsr8Cpu6ATvrdAg3iAgeSLXgQhIgMYgc8hliwAvDLIEOG1zcNXE4SDSygCCvipdc58IQr3Mj50BfCGI5EA9+DoQ07IjXb1XCHjSjpHRCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHSceAAAAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzU1NTU1NTU1NTU1NTU1NTU1NTU1NTc3Nz4+PkhISE9PT1BQUFBQUFBQUFBQUFBQUFBQUFFRUVFRUVJSUlVVVVxcXGNjY2dnZ2hoaGhoaGhoaGhoaGlpaWlpaWlpaWlpaWlpaWpqam5ubnJycnZ2dnp6en5+foKCgoaGhomJiYyMjI2NjY2NjY6Ojo+Pj5OTk5qamqamprKysrq6ur29vb6+vsHBwcfHx87OztTU1Nvb2+Pj4+zs7Pv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oos4oRDDTDC2GJhMdZYw4yC2WgjjoDpWCMOPPb1oo8xBnkWDkhKRGSNRpKF5JNJPjTkkk2KBSWUES0pY5VgXYnlQ1py2aWXT2bpI5BiekVmmWb+mOZXa0YpEZtvwrlmSi/KIMONdSZFZkp6Bhpon0hdCaigiBI6F6KM8qmoWzgwyuijb9UgKaJoUrrWpZhqyhangmbqKVqWgiqDqKOeZaoMqa5V6qX+qLZq1quIOiprWpF2eiukse7q66/ABivssMQWa+yxyCar7HCRwgDDqct2hQMMLVRrLQzRaoWDtdxa22u2UHUrLrbgUiWDuOLaWu5T6I67blTbttvtu1DFK6+19D5l770t5Msuvy2Q6+9Blqrb07n8GuxvCxIM4LDDEgjcE78SDwxDww9nPIAECt+0r7jfrtuCxiQ7zGpP07o78EAwlOxyxx7L4Cy0Kw/ksssS1HyUBze7XLHOQPWMM9BD1SC0y0QLNfLRJMOc9E0nME3yyU9PLLXGVFe9kwxXZ6z1T11D/LVPGF/dL001UBuw0zob3TXaJ5Ag99wnhKwzCVf/3BL+DHP3PXfWVVfAtAczyeD34SSwvTLePevdUtyI933C2ALVUHbGHtitkuGR+w341+ee0MLnMUHe+dxnUy6RzGubdPrhqkNUgwcS1G67BKmH9LrfsTvE8O3AV6D5Raa/PnnvC/0O/PLDV8T37iSQjvxAMixvvQQVhIQD9CRMr9D11+fO0IvNS/L86Y57Xz341jcEgwfwxy8+Qi2cPr/3A9HO/vLSD0RC/ACEX/8GUj/EpQ9/+7Ne+nAQwAZ64ICVK6DcWlC+3iVwefcTyP8cGEDF4S8iFwReBt/HwQZ+kCMVCKHtpFdCB3rwhA05gQpr1ysGtjCAGYRhlmZIuIPI4IbsATyeDi+ivwt27IdAjF/3hoiREOZwdkmEnxCZWBEcJHCKB4ki/CBIRYcUcXlc3GASK9hFhdTgBCms3QMdAkUgYrGMK2lBEuFYuhuSkY4hIWED34hHl8DgBPAjQQte2MdCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6PxOQAAAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFCQkJFRUVMTExPT09QUFBQUFBQUFBRUVFRUVFRUVFUVFRcXFxkZGRoaGhoaGhoaGhoaGhoaGhpaWlpaWltbW1xcXF6enqDg4OMjIySkpKXl5eZmZmampqampqbm5udnZ2ioqKtra21tbW9vb3Dw8PIyMjOzs7R0dHd3d3j4+Pq6ur4+Pj+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLOa0wosrtGgYjDTGKKNgNdJ4I2A56rijXz36+ONeQcI4JF9FvngkkUUuyWSQTj5ZY5RITknllRUqiaVeK5zg5Zc2bkkXCl+WeUKYYsLVpZllpikXm2y6CRecZsrp1pp0emlnW3jmuWdbeX75J1uBnoDCoIT6iehafba5KKBlHvropJRWaumlmGaq6aacdurpp6CKuQIKKKAZ6lYniKDqqpKemtWq/rCqeoKrWMVq66y0UrWCrbbmShWvt/oqFbC9CgsVsbEaeyyyqyr7FLOyOuvUrsxKa9AKHDQgwLYNcGDqTsziaq1AEGxr7rkYAIXsuAKtoO258ArQwLc5pRprq9a6G+++DQQ1aqnsDvTuvvFCEHBRJxCsML4H/1Suwvtq0LBQECs8MVAoVEwwvRfflLDG8XLccU0ZgwyvyCPTZDK8Kfc0sMnptgzuytuKOxOZhsos0MsV90uTCBwELbQIMn8MMsMuYSv00kGjPK4IINsME9NUc1A0z+fO+3PVTBMtswg8Q+D1TEpzvbTOA5GJtEwnmM201Gg3RKrTHAHt9tBxOyQC/gQN9N23BnRjZPfdHIydN0IrYOD34n13MNLgd8N9+EAr8M044xKHhALhTU+OkOWXM251SJw77rlBGoSu+toabX534DK7q3romS+0qwYY5M6B5AZBTjXvk4M9e+gMiZD78ccDzlDbVbPueerDX45yB8hXn3vgqQYtAvCnKx49484bb331tZ+ekfff+8164uNbb7j5FmWbvt8cU9++9fBndML8fRuM0P3jc17+HgK6772PIAC0HvcG2JD9pc9//0sg8g7IwIjIL3oClCDyFlhBhlwwdBBYIO40iAHYdTAhJyig38qXEPFJkIUnpEjbcqcBEZiQhByMoUhOIMHR6bAloTy8nw9/2JIVjLB6OSRiSailKgEq8YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsNRIQACH5BAkFADcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUVFRU1NTVlZWWFhYWFhYWFhYWFhYWFhYWVlZW1tbYGBgaGhocHBwc3NzdHR0dHR0dHR0dHR0dXV1dXV1dXV1dXV1dnZ2eXl5fHx8goKCiIiIj4+PlZWVmJiYmZmZmZmZmpqampqam5ubnZ2do6OjqKiora2tsbGxt7e3wMDAx8fHzMzM1NTU5eXl7u7u9vb2/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiizq9MILLSL24owwxjgYjTTaGBiOOOr4F485+tgXkDMKOSSRNRqpF5JJKpkXkk7yBWSUR75I5ZVYZrlVCyt0uUKTWs7l5ZgrhEkXl2R22YKZcaGZZpdgsqnWm2OuKWdbdI55J555drknW32uYOefab3QJ6FsuUnmoIimpaiajbb1ApotxBnppZhmqummnHbq6aeghirqqKSWaupMhpagagllnprVCv6rxlqCpa4+1YKsstJaK1O44rqrVLf2Gquuvx4Fq7CrMlrsUsjG2uqyTB3brLLQIhVss8RWO1Szqmpb0AodPMDAAx9Qu9O1vWbragkCtOuuu8/2JG2u3gqEwbv4ttsBUKmuGq+29+ab7771GvWBwAiXUHBRCDe88LYNI/zvwzw9ELHAGFAM1MUIa/wTxwJ77BPI+YrcEwMku/uAyTx1kHK7CrPs4ssC4GSlzDcEDDLBM936wc8fzCozySvTVALQSAfN8gscM1DT0UkjHbPJOg9c0wpRR23uwy90gHK7DHygrkpZZ41zTy+UHfXZPGGtNtJjs522uAwwgMHUIrn99v7PcePsdd2A1/3AxB2lvTffbC+EQeCM1433R4f/nLhCfzfO+NYaQf024ZPfsILllhcd0uGdI0Q36Iw/ntALmnNukOFll37QC6hbnvFCXWOg++53O6Q50KrLfkMJtVu+0Aq8J4/BBw95ibnsxBfPuEIvKK988MJPFL30gFNuvfLPZ+/Q59wLnlAL3yvPvPgXlV/3+geVkL7y7F9UufS6zq983/W/fnrtPDuI/pLHv/59S3qiQ0gHBri7AhqQICv4H+NupxD5MZCCD5xI1xr3AOwVpHoM9GAGm5csiHyAgSN0yQLn57oUlmSF1muhC0uCvOSJbYYxmVSlcMjDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56ck8BAQAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzo6Ojk5OTo6Ojw8PEFBQUlJSU9PT1BQUFFRUVFRUVFRUVJSUlVVVV5eXmZmZmhoaGhoaGhoaGlpaWlpaWlpaWlpaW1tbXV1dXx8fICAgIGBgYGBgYGBgYGBgYKCgoKCgoKCgoODg4WFhYiIiIuLi5GRkZaWlpubm6GhoaampqysrK+vr7GxsbKysrKysrW1tbi4uLy8vL29vcDAwMXFxcvLy8zMzNLS0t/f3/r6+v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostlicDTDC6GJhMdY4o2A15njjXznquGNfPdr4I19BxjgkkEUeSWSQSiIpZJNIQinllFRyZYMMWMpgQ5V3ZemlDFzS9aWXW4YJ15VjZmkmXGmSuaZbbWZZ5ptrxYnlnHSu5MIHH5TgQk5otolnnibZQEEAiCYaAAU42UloSh8oKimiJ9gU6JeDPirSoZNO+oGlY2aqKUiRdtpppZYaOWpJNphqagL+q4LFqauexuoVra/aypUMuJqq61Yn9Nrpn79iFaywkhJbrFUuICspmMta1aqziUaLVQLUBsCAtVeVkC2q3FaFLbLbhmsVr8iKai5Ux+KqbE8yuCCvC+quq5AN43aaQL03zevvu/Y65MKsiFIAME///hvwRKoGlXDCC0v7sMIRUxXvxPPyW3FSF2NM78ZSdYyxxiAbZYPH8pYsFcoHq0yQCyeUcELLCGPsMkIfJKDzzgl86vDDNxvkAgM8F80AtD+JTHLFJxTttM5IB30Uvk8/LXVSFFT99AVXGyWD1lV3XVTOYDsNrthAZV120T6jnfbabLsdlNpw69y23D2RXXf+AmfjvZMLe+u8tN8yEV03o4T7BHjdg6MkwwmQnxA14XqD3TdMj0eu+eR4V/705S/BrPnonMs99NMUlO6SDaO3Djree1Ig+weqv+R66zQnntPtrev+E+u8a+67RI/z+cEJjVsEfPCQD/+QDLJHH/3dITEfufMNnSD99rInP5H1zWOv0MDccz9S5sF777eh5XNPvUfWi69QCe2X33jHEAUvv0L1l/96QScwnvFKMDj0Ra52+2Nf/6T3voLYQIAQ/EDuDNKw/SUEegtk4EIiGEEEWlAiCswgBRo4kAByEIIf5IgIo1cChZwwghNMIUQusMLUXfCFEZRhRsgnQoWYEIfbxtNhRj4gwgn+EIgkFGJEMvg/gRwRiEocYv2aKBAZIJFPLYwiRlxAQwYO7oq00+JGruQ9KwIxi2J0SQmAqL40wu+FbXSjR1gnwBJ4UI54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8lNqQQEACH5BAkFADUAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHREREREREQ0NDSUlJUlJSV1dXWFhYWVlZWVlZW1tbYmJibm5uc3NzdHR0dHR0dXV1dXV1dXV1eHh4fX19gICAgYGBgYGBgoKCgoKCg4ODhoaGjIyMk5OTnJycoqKiqKiora2tsLCwsbGxs7Oztra2urq6vr6+xcXFysrKzMzM1tbW39/f7Ozs8fHx9vb2/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AawgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPboo3wpBJnCj3QJaeSQRL51pJFJKrmkkE229SSUUao1JZVVonVlkFmyZMIIJuy0ZZcodYCAAGiiuUAHOI1JJkkpEJDmnGgigGRNU75J0gh09onmnTQtqedIJvhpKKCDanWmoX0ukChXfDLqZ5iPZrWApH5iUGlWmPpJwKZXpdCpn6BaJeqodJZqFaqpqkoVq/5pIuAqVRDAKsAGs05VKKyI5urUpahq6utUi2Iq67BUySnpsUClYIIJvSKrEAaM4grUlyNkm2200iLUwQJyErCmUNhqqy2l3U6VgrnsjsBtuku12y68UsnLLr1QrWuvtvhCtS+//Tr1b7YBO6Wvve/262zCOpXLLroFCzTCAghUXDEEEPvk8LYRD5QCxRaHjAAEQzkLbccei6wyAo6ifBTIK4dMsstEmRmzyiPQPBTMN1vcss4/mdDzygwDTZPNQ4ecs9E9IZ10xUszvZPTT0ctdU4jPB1y0VfDpLXFXfO0wddshr2T1j8Hiu3JXWedNNcpdSD33B1YzbTbN8NdJv7dfJs9tsrW1sT34GWHPcLcGc9kAuF86222S4zzbffjN0XeN+UOfVm34xdZTjfmDHUAweikY1yS53ODnlAKpbcOQeAhLe4550yz7nrrsIOEuuoIYXC764l3lILltBttwu+3R8QlRLIPXrzRGyDvOtfDY2A9BhtMrtDhc2vPu0DSu+49QR1cbz7233cUfuuFe3v++bmnb9H6pbdvkAnvv2+//BTRT/r4NShf/s7HP4yIzn8LGeD7AFjAhvhvfwRJgQLPB8EGPuSA4VsI/iZ4vQpa0CEY/B3DJMhB63nwgw0JYeu4VkLrBQ+FEAkhBhhIvhbC0CUb4CANbxi7CZ6Qh5lwyuECgQiTxeUwe0RMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycoJBQQAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdSUlJSUlJSUlJVVVVYWFhYWFhZWVlZWVlaWlpfX19tbW1ycnJ0dHR0dHR0dHR0dHR0dHR1dXV1dXV1dXV4eHiCgoKKioqNjY2NjY2Ojo6Ojo6Ojo6Ojo6QkJCUlJSZmZmhoaGqqqqxsbG1tbW6urq8vLy9vb2/v7/CwsLHx8fOzs7U1NTi4uLz8/P4+Pj+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0CupMKQRAYZF5FIqmCkW0kmuSRbTSL55FpRFjllWlUOeSWWWW55kgoVHADAmAdsoORNXXpZkgRjtunmBjhVqSZJYrppJwAKxCnlnCMpcOefEvDp1QZ/FvqBoFwVqiiiWn2gaKEiMIoVm4/eWYGkV1X6Z56YVqXpnQd06umnbnIqqlSUkgoAnKdKJYKq/mOe0OpUsIY6q6uqynqrVBV8yuquvFZ6qFBaAvvQCXXaqcCZP6lwwrPQMmvsQidsUIEEFXwgrU/OQuvtttNC5e24uoYbFbnjgmvuUuiOu6647UL77lPxyjtvU/WeoO69R9XLr1Pdkrvvuip8oMABCEswbFABR/vvQB8gLPHEkQ5V7MMChTnxxmVifNQGHIe8sMcMh2wyyUNpbPLGv6Ls08ohm+oyTyrAHPLMPiFr88YD4zxTzTtP7HNPQQs99E4SFH3ApUfrJILSPTcdk8owM21Tt1FjfDDMgdp0wgdgh12uz0mbbDVNIoSt9gcVDy1C2RJLMPZMX6+t9tw+O5u1/kt22y11T3X3Hfbef7uUtuBiF/6QlSYdjvgHeCteULUSVF75yCIFjnjkkgv0geWgV845RwU/jnnnA20Q+uqjb+R4322jPtDbq69e0utqxy67QLXXfvpHuLO9e0G09x76sRskv4EIhAukwuHMD1+Q6saHnnW1ymevu/QUXVs96FFjn332v3MPEfXfV96zCuO3v0Hr5i/0efqVLySC++3HT5EK9GO7EP7ta57+COK977WOfQDMHvwGeBD+fa9lDUyg9hgokRNUD4IIkaDyFkhBg4DJdw7RYPIE2MGBFMxay4PI/SRYvhKKRIMkdGFGEshBGXrkA+6LoQ03cgIR+FCHjTsMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHeauAAAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh1lZWVJSUlpaWmNjY2dnZ2lpaWlpaW5ubn19fYGBgYGBgYKCgoKCgoKCgoSEhIiIiI2NjZGRkZWVlZiYmJmZmZmZmZmZmZmZmZqampubm56enqKioqioqK6urrKysri4uLu7u729vb+/v8PDw8nJyc3NzdDQ0NnZ2d7e3uXl5fj4+P7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oosfuQBBAxA4EGLhHkAQAA45hgAAzQCdoCOQOI4Y497GRDkkRgQmRcDRzYpgpJ2idDklFDWZeSURw5ZZVxYNmnAlnFJ2eWRYMKFwZhklunWmWgCqaZbHrTp5ptslSCnjnS2dSeOSea5Fpty+qmnnDwKupadaAJgaFtxdqnoom2VcCWSkMLlAZM5AgBBpZxm96IBBhwAwZOdMnpjkAaUUKpaEHTZ56r+ZQGKpZawhoUomrWONemYhebq1a1t+vqVrGjSKmxWmMr56rHI7rkss1e1euez0FZF7JjGVlvVntpqleyYm3ab1amOiqtVo12Sai5W6B4JgLrrNhtkuEGVIMK9Iqgab0UeYOBvtj7hKzC8+2I1sMD6FmzwwfgqjJW9DN+bsMNTRYzvxBRHBXHEGGcMlcUEe/wxxyJXFXHJC5WAAQMsY9CxTxvni3JCJTAA6s2gMvDyzEh5gPPPoO7MM1GSAg300EsdYDTQvSJdlM9LAw2w0z/ZHPXP9FIt1NVAH6A1UVwf/fXWYd/s9dhBKV22AU2j3RMGaxswtds5rX023T9BzXX+yHjvBPfVc7/kweCE902Q3lLfVALhjHsg9NgeqM124C4t3jjjhgt1+eWZA7V5453D/Dnjj4cuk+WjO266Qy+yzIDLJqE++uoMieD67TGalPrgtCt0Ke64lyRC6qWvDjzwWYeUeu8JwXg87pRrNHzjfDMv0PPIQ9QvBqpHBHHxtP+O/e2s+2u+v+Bbr/34wTN0/vuwq6+R+Oy3fRD88MuvUc31s5wy/u+Lnv4a0r/XLWR7ADTfADFCP+y5L4HnWyBGnIe96EHwfOmTYPOwR637XdBfGmQg8tKHQAiGMCOoy6BAPli9E+rugi4UXAJjCBOVBZCGMymBDnHIwx768IeHQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKTFAoIACH5BAkFAC0AIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHZWVlXl5eZmZmb29vdHR0dXV1d3d3fn5+h4eHjIyMjY2NjY2NjY2Njo6OkJCQlZWVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpqampqam5ubn5+fp6enr6+vs7OzuLi4vLy8wcHBxcXFy8vLzc3Nzs7O0dHR1dXV3t7e7Ozs+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AWwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiyCBMKLLRqWQQA01iiABzECBkKNPNqYY18z9ihkACX8mNeOQw5pJF5JJtnAknV50GSSUNI1ZZIZVCnXlUMeoCVcJXCp5JduhSlmj2S+dSaPAqTp1po1PukmWwfAGQAIc7Jl5pp5tlXnmXj2ydaZcgrKlgBXZmmoW0EOGeiib3nwpwANFAnppdl5kMGmj2LaVgNDKuppWiAgmqQAlo5aFpJXpqqqWP6mXtnmq2I1yiWOtIIF56y5drXnma72mpWUcHYqLFbErmnssVYlCyyzWv0qJrRbxcqll9QOq2y2WhUgJrbcZmXtkAWEy9WfXZrblQfe8ljAsj6VIG+w6k70Ir0/zasvvvVWta++/W71L8ABYzXwvAVfdTDCCVu1ML8NO/VwxP4eTLHDA1/MEAgedAxxTwRrnBC7BZRsMq4iP3WAySyXDG7KS63ccssvw3xUAzPnLKrNRZWQ8888H0Xyzy3DG7RPOBPd8s5HAyWz0iYX2jRQSUNdMtNT95SB1SdnHZTPXBfwsdc3Pa201GSDzHXaQoFN9NgtldCxByDAHXQJZked0/7cfBvtdQkZHHBAAxnYzRLfiPvNtk4cI8634YvP5LjjkQM1OeKV/3Q535lHpCmnKG0+d+cOZdDA6ag3gPJIjV+uOOkCpS474SaJDvtCs8++ekhyT367QiDkPvtJif+ukPC6Q1TCvRTJazzuyMvuEOCbVv/68xKVEL30DH1e/ffYb6T99qhv/P35GewefkXkn461QeijD/n6CZlO/tjUx1+9+vRLRP77BfGe/jbVv4t4YHtwE+AAC2hA5NlNgfpj4EUAJzv+ISR/A7SgBCPiPIkMsHobdAkG0Xe9EIpkhNYzIUxA8D0PzE+FMIyhDGdIwxra8IY4zKEOd8jDHvrwh3hADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUnqBAQAIfkECQUAMAAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc1NTU1NTU1NTU2NjY5OTlHR0dhYWFra2twcHB0dHR0dHR0dHR1dXV2dnZ7e3uEhISLi4uNjY2NjY2NjY2NjY2NjY2NjY2Ojo6QkJCRkZGVlZWcnJyjo6Opqamtra2wsLCxsbGxsbGxsbGysrKysrK4uLjCwsLIyMjOzs7X19fj4+Pu7u7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBhCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogkgocCCSSgUGJjKDBQQAAwBkCAASSsiNgFBMSoI4wH2FjYATsGGUABKvoIGJBCBkmAkX+RkGSSPTJ5FgoPGFDAlQds0NCLTwpZpJRjHXDlmGRqmZAJXSb5AJhioUDmm2OuidAFaQpZAJthwalnARcgZECdQuL5lZh7wvklQVwCqqOgXblZKJxRFpSoojAyytUDj+p5qEAPUBrjnZZqZWWmb5pJkJOeBsBAqFqRCmef/gbl6GmNrGLl6puwFkQnpaDWetWtZSI0aZom+IoVocDSapCbgOZqbFUbAHulQsw+SYCpz1olrbNzyrpjpNleRcKtBjxEwgUHHPCAsuFmdYGrm7bL1ruFGhCvvGyhgCyZ3OIL14kXXLBBsf4WHB4KCBtMFwkMpOvwA/cqjNYDDlecbr8Sm9WwxRavmjFa6HLMMbYftynyyRGXzFXIJ1uMscpctXwyzGLJLDLNYOlrs8U4g7Uzzz179bPDHge98tBZGi300Ep7RcLP7DatFcsnkyy1Vhu0HPXVXG2w8QEMbM31aQiXnfLYWJltNtpeqa0221y5vTbcWsldNt112302/t5P6b03307ZDXjecw/+0N2Gp30BA4wzbnXiT3nd+ORhQx6V5JRPLrblR5mQ+ed/cw7UA59n/rLoQrVYeuaoJ8Xw6pQT3HpRr8PeuOyzD1W77QzgnntQqvPOQOi/40Q673IWr7vwvisP1OKwn+58T8d/Lj1MhU9vEOaNr5sTCiaELz7xuZOwwfnN0wS++OyTr/1N7Mef/vs9rS9/+O7TL9P98esfFP/s899E7JcSAOJPgBAxQcAWKLCT2O9+CDQXAyeYv4oYMIINOdcEKWgS/mGwIRsMoQPb90GGaDCEDKxgCUuCwg1u7iAoimGKVgiSFk7whQQ5kQxjOD8aWsSG8AzE4UB2uEMV+jAhGwBiwHo4RCLu8IgbUaASM+hEGRoRigZRohBhoMMqxhCLGrHh45blRRmCMSMoQOEYyVhGEjDxjBBBQRIDNkNztfGKcIxiG/MYkzLikY8bqSIgZ9LFOg7ykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzGIa85jITKYyl8nMZjrzmdCMpjSnSc1qWvOa2MymNrfJzW5685vgDKc4x0nOcprznOhMpzrXWcuAAAAh+QQJBQA1ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQkREREdHR1hYWGlpaXR0dHx8fICAgIGBgYGBgYKCgoKCgoKCgoWFhYqKipKSkpeXl5mZmZmZmZmZmZmZmZmZmZqampqampubm6CgoKioqK2trbCwsLGxsbGxsbKysrKysrKysrOzs7W1tbi4uLy8vMHBwcjIyM/Pz9vb2/X19fv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AGsIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaCJTIyAQwIoBGKDBiYihYACLNK74IoyDaVDjjgEcgGNgI/DIo48/9rWCkELeWKRZIzhwwAEIaLBCQw4gKeSSZY1gwJZcbokAQ1YKOQKWYjnQ5ZlbopBQkGHuSCSZXpmJJppqHqRjmzvC6ZWWc86JUJV41qhnV332qSRBEgQq6KBa8VkomgexqWiLjGol56NnTmnQpDZWmtUBmNJ50IyTauqpVaCG2mWdBUmK55v+p1aFgKpdmloQoG0aECtWGtDKpUIH4MnqrlSt4KsBXyqkIpK6EovVrLQOixAKwdboorNa0eoARChooMEItmJ7lYyYwipuW8YWKsG5c/V6JgLSsgvXCiigEK68+Oarr0QpPnmAA2Pu2xYKCPhrMAL3CkzWCAY3/GTACmfp8MQJR+xVwRM3vK3FYjGcscPxcryVBB87fKjIXJXs8MYod6Wyxi1f/LK/LMeslQYzP3myzVetkPMBFfNMlZMvryv0Vj6/fHRXSWeM8NJxTlwz1FytoIEDWEtJ9dZcd+3112CHLfbYZJdt9tkVdYu1AxqEjHZSK0iw9tw7v33UCnPnjXX+0HYHpbfeRvdtVJN/5+224D4VDjjiRSmuN+ND4e343JALJfnkWFcuFOZrax7U1ZhD7HnimI8eFOGKi256T6jrrfrqPVmdd900rWD77bAXVC/fMt3uO++52/T778H/NLzvxcd+PPLJ67Q88803BLxHz9sePUMjeKv94R9Vf31CVmsvPu3dL/89QuGPL/5J5p9vkPrqvy4S9O4TlD782tcvU/b4iz+9QCsYgQDBpb+N8K9/3vrfABcovwLyC4Hamx4DGejAi3QLguSz3wQpWMGKYLCBrdrgAjtYkQPiT4IiHOD/SGgQE44PhCFMIQFZOBEXJvAhMhTgCmloEBSoMCKoOYQhD0MSwBRyb4gh8aEIkciSInKQiU30ob2gSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWxAoIACH5BAkFADYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUlJSVVVVV1dXY2NjcnJyfn5+ioqKjY2NjY2NjY2Njo6Ojo6Ojo6OkJCQlZWVmJiYmZmZmZmZmZmZmZmZmpqampqam5ubnJycnp6eo6Ojqampr6+vs7Oztra2urq6vLy8vb29vb29vb29vb29vr6+vr6+vr6+wMDAxMTEzc3N3t7e8fHx+/v7/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoYlMZJHCAAQg80MKJiSUgwIw0znjAizAO1oIBNfY4YwY5Csajjz6CEORfBxCpJI5HngVCBlCm4BAISip5QJNltZCAAVx2eQCQCyVZJZFYjgVCl2h2icBCYyoJZplenZnmnFci1EKbRCYAp1c7zumnngelgKePa+7J1ZZ++skkQYIOWmOhhmqVaKIPIORojW9GepWck6ZZp0FDXrqoplVl0KmfCD1wqQAGkJqVqf6nppnQqka6ehWssXaZEJWDQmprVX3myqJCGeD56a9WrShspgedWWWlyGLFaawOmdojtNFmhUCuUkLUwqjZansqs+G29UCiB9RablwtPKAsi+SuK++89Na7WAsZPKAvCODam9YDCAQscIv+rtXCwAgjAGjBZyWQMMILMzwWwA8jrK7EYVX8MMZigaBxwv1y/OrHFov8FcUkB3yxyVplkLLAK7OMVQovBxyyzFXV7CvOWXmccsw8X4VyxdgGvdXQCBdt9FY+l7w0WC2AIPXNT1dt9dVYZ6311lx37fXXYIftUApQZtCt2FDlq+/aDwCN9lFqs712vG8TFbfca7tdN/5Q7eKN995w+4233oDzJLjfhRN1+N+JC7W43I0LdffhdEeeU9+PU235TY/ru3lQmAv+uVChQz76UCnIfTZO37Z+elGtx6756zbJLjvtP9keO+4+6e467zz5/i3wwQtPPENRl716ScLPDvyTZSuPku/HKwR99NKfZHv1CZGNPfbc2/T994SHnxK+44PvbQspOG++t+mr3xD7KdRv//saoR8/lA7Rb///+MvI/so2tv8Z0H0BTMgAzTY/AzowgRbRX/oK6EAAQrAi3hvfQypowAtG8HpQKl9BOGhBD1ZkdxHxHwdN2BISto+FLawgAmH4EQfOkIYgGR4Od8jDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56cooBAQAh+QQJBQA3ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTo6Oj8/P0hISE5OTlBQUFBQUFBQUFJSUlVVVVpaWmBgYGtra3d3d4CAgIqKipCQkJWVlZeXl5iYmJmZmZqampqampqampubm6Wlpa+vr7GxsbGxsbKysrKysrKysrKysra2tru7u729vb29vb6+vr6+vr6+vr6+vsHBwcTExMnJyc/Pz9nZ2e3t7fv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AG8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaGJTLoSAgQQYpHCiYik4oMCMNCqAwYuGSVDjjgo4gONgEPDIIwM/AhaCkEL6WKRaLqTgAkRIInnjkmWF8IADWGIJwZMLYRBlklSSBUGWZGI5ZUIMfCkkl2F+dWWZZZ55kJpChtDmV2PCCaedCNHJI593bhWCnoQm5OeOgAaa1ZuEluninIfSyKaiWDWqpwQIBRmpApRq5YKlcEKAkAubYpoQBg4EoGoADyTa6VD+MYJK5gMJaernqavmqqoCj74q1KeyZikqmn66OtADuiYbwLC+BhVslnIelOaXxgqErLLJMtusTxI868CkmSL5LUIYYIstuNvqBKys2irkggQPzOgABL3Oaa6ynKbr06Cg0vpRCPdiW6++OqHa6APoanRtwLqaSjBPKTBKZrsdKcBwsko+3FMKGEDwAAQYJMzRxcnmq7FZJOtq8slkWZyyqv6yLObLqkYrs0kphhCCyC25QHMAN6eUAgREF00vTS6TTHHQIXVstNE29/wy0yZJ8PTVUbME8MUDU/3R0FdfzbNKKQTMq9ckWR320w7LtHDDaJe0dtg3hZDn0XGTBPb+3EaPnbdVe/NNtN9/UxW44IQXPpXgRiv+ldqCZ+24VS4wvvTkWDk9d7WYY2X32l13vhXkREsu+lYupH766qy37vrrsMcu++y012777SeloDvuVLmAwe/Ah8z7UyoGH3zowxfFsfHGJ558T8xH/zxSvkff/PRGFW898MhjD/32wXPuPU/ghz8+rOX/7vz5NaVvOvs5aW999/AXDH79RMkPvPj485Qi9z5RXf+OkroCrm+ANTGgAREYFAUukIE/ceADIeg/CQqQgjux4AUxuBDdhcBJKrEgBxmSAp2ZUGcpkeAIO3jCFh4wIxNc4UFy1sITytAmNawh/W6okhzWUCLtG+ThRnzYQojo7oggFKJGiGhDhyARiS9UIkKYqLMdDuSJT5QiRkrIROdhEYpavAgTrSiQJn3xiGEUYw7JWMYzojGNFuGiCQ9oRjfC0SVuTOIdV5LHPeLxi358SR31GMhCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6EznMwMCACH5BAkFADAAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHQUFBQUFBQUFBRUVFS0tLUlJSV1dXWVlZWVlZWlpaXV1dbm5uhISEk5OTmJiYmZmZmZmZmZmZmpqanp6ep6enra2tsLCwsbGxsbGxsrKys7OztLS0t7e3urq6vb29wMDAxcXFycnJzMzMzc3Nzc3Nzs7Ozs7Oz8/P1NTU3Nzc7u7u/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AYQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoolMmeOCBCScyJgECMMbIAIstFmZCjDjGKEGNg3mQ448IMMAjYDcC+WMGQ/q1gJFA0phkWRIsIOUCDHjQUJFM5tjAk2RFOeWXCziJ0ItZ/silWF6C+aWYBi1ZZo5ngpWmml8q5OabMbIZZ1Z00rkjQnfiiYCee1o1Z59TJtSAoDEWyhWidCJ5kI+MLuDoVpCq+edBjCJgZUImRAnjAptealSmYJZaUAaCWoqQCf4LBCDrrLK6aipRqH4pKUKLvplQBrQGOyuht/LUQK5SEjtQr0aGiZAHwkYbgLLF4uQBsrYqdC2QqhYkbbQIVBsUA7l+2pAHEjDAgAS7IsTAt9FuKa5PsGYq70fwSjvvT/X2ea9HwOYrrLn78nSolAR79K7AwXZbsE4eZMAutRrFyjCt/z5MlsUXy5qxxmI10PGsDoP8FbQjT2sySya0fFPK4a6cUrrqqttuTBKMfLPMInlQ88/qUpwSAhdny3PPQCctNEpE5xvz0SQlnfTHLzUtrdFQg5SB1EknDBOrwi7gddYfNcA10CW/ZILEEoxNNkhnJ/22WHEDPXdYdf98t/6cea+798l9L/23VGbHnfbgVplQN+JgmVA42oyLhW7NEgge+eWYZ6755px37vnnoIcu+uikE+ly6VSxLcHqbqOOVKirxx67607JbvvqtC+l+u2r75z7ULzf/vtRsAcfu+XD24Su8ccnT1TxzCPvPE3Mzz498NX7fj1P0PO+PVHL8y799zN1v/r45NOUYgYrpu/++/DHL//89GPWMvr1sxRxBvxngH/+J+mfANkHQJwMcICtKyDLDjhABdKEgQP8nwM7AkEBIu9+95vgRirYP8thEIMazMj+Kii4D34whBdZGwcfYkIQotAiIzwgRFrowhdSJIYdnCENT2dDiqyPf6UJfNUOJdjDFO6wiC45IhJZ1sIlqi2DToyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1qSLyAAOw==";
2256
2241
 
2257
- var _templateObject$j, _templateObject2$j, _templateObject3$f, _templateObject4$8;
2242
+ var _templateObject$e, _templateObject2$e, _templateObject3$b, _templateObject4$7;
2258
2243
  function SignIn(_ref) {
2259
2244
  let {
2260
2245
  description
2261
2246
  } = _ref;
2262
2247
  const theme = material.useTheme();
2263
2248
  const styles = {
2264
- wrapper: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2265
- header: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2266
- icon: material.css(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2267
- content: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2249
+ wrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2250
+ header: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2251
+ icon: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2252
+ content: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2268
2253
  };
2269
2254
  return jsxRuntime.jsxs(material.Box, {
2270
2255
  css: styles.wrapper,
@@ -2285,8 +2270,8 @@ function SignIn(_ref) {
2285
2270
  });
2286
2271
  }
2287
2272
 
2288
- var _templateObject$i, _templateObject2$i, _templateObject3$e, _templateObject4$7, _templateObject5$6, _templateObject6$5, _templateObject7$4;
2289
- function Evaluation$5(_ref) {
2273
+ var _templateObject$d, _templateObject2$d, _templateObject3$a, _templateObject4$6, _templateObject5$5, _templateObject6$4, _templateObject7$4;
2274
+ function Evaluation$4(_ref) {
2290
2275
  let {
2291
2276
  poolInfo,
2292
2277
  handleApprove
@@ -2317,12 +2302,12 @@ function Evaluation$5(_ref) {
2317
2302
  fetchData();
2318
2303
  }, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool, isWalletOwnershipVerified]);
2319
2304
  const styles = {
2320
- wrapper: material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2321
- header: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2322
- content: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2323
- checkWrapper: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2324
- checkIcon: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2325
- congratsWrapper: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2305
+ wrapper: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2306
+ header: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2307
+ content: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2308
+ checkWrapper: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2309
+ checkIcon: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2310
+ congratsWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2326
2311
  bottom: material.css(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2327
2312
  };
2328
2313
  const goToNextStep = () => {
@@ -2386,7 +2371,7 @@ function Evaluation$5(_ref) {
2386
2371
  });
2387
2372
  }
2388
2373
 
2389
- var _templateObject$h, _templateObject2$h, _templateObject3$d, _templateObject4$6, _templateObject5$5, _templateObject6$4, _templateObject7$3, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2374
+ var _templateObject$c, _templateObject2$c, _templateObject3$9, _templateObject4$5, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2390
2375
  function ChooseAmountModal(_ref) {
2391
2376
  let {
2392
2377
  title,
@@ -2413,12 +2398,12 @@ function ChooseAmountModal(_ref) {
2413
2398
  } = webShared.useMQ();
2414
2399
  const [inputTouched, setInputTouched] = React.useState(false);
2415
2400
  const styles = {
2416
- subTitle: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2417
- description2: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2418
- chosenAmountWrapper: material.css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2419
- chosenAmount: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2420
- chosenAmountSymbol: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2421
- inputAmountWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2401
+ subTitle: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2402
+ description2: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2403
+ chosenAmountWrapper: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2404
+ chosenAmount: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2405
+ chosenAmountSymbol: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2406
+ inputAmountWrapper: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2422
2407
  inputAmount: material.css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2423
2408
  inputField: material.css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2424
2409
  maxButton: material.css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n width: 80px;\n "]))),
@@ -2569,7 +2554,7 @@ function ChooseAmountModal(_ref) {
2569
2554
  });
2570
2555
  }
2571
2556
 
2572
- function ChooseAmount$g(_ref) {
2557
+ function ChooseAmount$c(_ref) {
2573
2558
  let {
2574
2559
  poolInfo,
2575
2560
  accountStats
@@ -2688,7 +2673,7 @@ function TxSendModal(_ref) {
2688
2673
  });
2689
2674
  }
2690
2675
 
2691
- function Transfer$k(_ref) {
2676
+ function Transfer$f(_ref) {
2692
2677
  let {
2693
2678
  poolInfo
2694
2679
  } = _ref;
@@ -2711,7 +2696,7 @@ function Transfer$k(_ref) {
2711
2696
  });
2712
2697
  }
2713
2698
 
2714
- function Success$d(_ref) {
2699
+ function Success$c(_ref) {
2715
2700
  let {
2716
2701
  poolInfo,
2717
2702
  creditRecord,
@@ -2736,7 +2721,7 @@ function Success$d(_ref) {
2736
2721
  });
2737
2722
  }
2738
2723
 
2739
- var _templateObject$g, _templateObject2$g, _templateObject3$c, _templateObject4$5, _templateObject5$4;
2724
+ var _templateObject$b, _templateObject2$b, _templateObject3$8, _templateObject4$4, _templateObject5$3;
2740
2725
  const validateDefaultTargetGroup = async frontendClient => {
2741
2726
  var _await$frontendClient;
2742
2727
  // NOTE: this extra request is necessary as the targetGroupId state in NotifiTargetContext will not be updated constantly right after login
@@ -2852,11 +2837,11 @@ function NotifiSubscriptionModal(_ref) {
2852
2837
  handleSuccess();
2853
2838
  }, [dispatch, handleSuccess, reset]);
2854
2839
  const styles = {
2855
- disclaimer: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2856
- inputField: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2857
- inputWrapper: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2858
- header: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2859
- check: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2840
+ disclaimer: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2841
+ inputField: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2842
+ inputWrapper: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2843
+ header: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2844
+ check: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2860
2845
  };
2861
2846
  if (isLoading) {
2862
2847
  return jsxRuntime.jsx(LoadingModal, {
@@ -3033,17 +3018,17 @@ function CreditLineBorrow(_ref) {
3033
3018
  loadingTitle: "Borrow",
3034
3019
  handleClose: handleClose,
3035
3020
  handleSuccess: handleSuccess,
3036
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$5, {
3021
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$4, {
3037
3022
  poolInfo: poolInfo,
3038
3023
  handleApprove: approveCallback
3039
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$g, {
3024
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
3040
3025
  poolInfo: poolInfo,
3041
3026
  accountStats: accountStats
3042
3027
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$a, {
3043
3028
  poolInfo: poolInfo
3044
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$k, {
3029
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
3045
3030
  poolInfo: poolInfo
3046
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
3031
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3047
3032
  poolInfo: poolInfo,
3048
3033
  handleAction: setupNotificationsOrClose,
3049
3034
  creditRecord: creditRecord,
@@ -3058,7 +3043,7 @@ function CreditLineBorrow(_ref) {
3058
3043
  });
3059
3044
  }
3060
3045
 
3061
- var _templateObject$f, _templateObject2$f, _templateObject3$b, _templateObject4$4, _templateObject5$3, _templateObject6$3, _templateObject7$2, _templateObject8$1;
3046
+ var _templateObject$a, _templateObject2$a, _templateObject3$7, _templateObject4$3, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8$1;
3062
3047
  function InputAmountModal(_ref) {
3063
3048
  let {
3064
3049
  title,
@@ -3067,7 +3052,6 @@ function InputAmountModal(_ref) {
3067
3052
  tokenSymbol,
3068
3053
  suffix: defaultSuffix,
3069
3054
  currentAmount,
3070
- minimumAmount,
3071
3055
  maxAmount,
3072
3056
  maxAmountText = 'MAX',
3073
3057
  maxAmountTitle,
@@ -3079,12 +3063,12 @@ function InputAmountModal(_ref) {
3079
3063
  const [inputTouched, setInputTouched] = React.useState(false);
3080
3064
  const suffix = " ".concat(defaultSuffix !== null && defaultSuffix !== void 0 ? defaultSuffix : tokenSymbol);
3081
3065
  const styles = {
3082
- inputAmountWrapper: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3083
- inputAmount: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3084
- inputField: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3085
- maxWrapper: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3086
- maxTitle: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3087
- max: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n white-space: nowrap;\n "]))),
3066
+ inputAmountWrapper: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3067
+ inputAmount: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3068
+ inputField: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3069
+ maxWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3070
+ maxTitle: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3071
+ max: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n "]))),
3088
3072
  info: material.css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.palette.text.secondary),
3089
3073
  subInfo: material.css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: ", ";\n "])), theme.spacing(6))
3090
3074
  };
@@ -3102,9 +3086,6 @@ function InputAmountModal(_ref) {
3102
3086
  if (!shared.isEmpty(maxAmount) && Number(currentAmount) > Number(maxAmount)) {
3103
3087
  return true;
3104
3088
  }
3105
- if (!shared.isEmpty(minimumAmount) && Number(currentAmount) < minimumAmount) {
3106
- return true;
3107
- }
3108
3089
  return false;
3109
3090
  };
3110
3091
  const getEndAdornment = () => jsxRuntime.jsxs(material.Box, {
@@ -3146,11 +3127,6 @@ function InputAmountModal(_ref) {
3146
3127
  css: styles.info,
3147
3128
  children: info
3148
3129
  }, info))
3149
- }), !!minimumAmount && minimumAmount > 0 && jsxRuntime.jsx(material.Box, {
3150
- children: jsxRuntime.jsxs(material.Typography, {
3151
- css: styles.info,
3152
- children: ["Minimum deposit: ", minimumAmount, " ", tokenSymbol]
3153
- }, 'minDeposit')
3154
3130
  }), jsxRuntime.jsx(BottomButton, {
3155
3131
  variant: "contained",
3156
3132
  onClick: handleAction,
@@ -3160,7 +3136,7 @@ function InputAmountModal(_ref) {
3160
3136
  });
3161
3137
  }
3162
3138
 
3163
- function ChooseAmount$f(_ref) {
3139
+ function ChooseAmount$b(_ref) {
3164
3140
  let {
3165
3141
  poolInfo,
3166
3142
  poolUnderlyingToken,
@@ -3271,7 +3247,7 @@ function TxSendModalV2(_ref) {
3271
3247
  });
3272
3248
  }
3273
3249
 
3274
- function Transfer$j(_ref) {
3250
+ function Transfer$e(_ref) {
3275
3251
  let {
3276
3252
  poolInfo
3277
3253
  } = _ref;
@@ -3305,7 +3281,7 @@ function Transfer$j(_ref) {
3305
3281
  });
3306
3282
  }
3307
3283
 
3308
- function Success$c(_ref) {
3284
+ function Success$b(_ref) {
3309
3285
  let {
3310
3286
  poolUnderlyingToken,
3311
3287
  creditRecord,
@@ -3402,16 +3378,16 @@ function CreditLineBorrowV2(_ref) {
3402
3378
  handleSuccess: handleSuccessCallback,
3403
3379
  children: [!step && jsxRuntime.jsx(LoadingModal, {
3404
3380
  title: "Borrow"
3405
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$f, {
3381
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
3406
3382
  poolInfo: poolInfo,
3407
3383
  poolUnderlyingToken: poolUnderlyingToken,
3408
3384
  accountStats: accountStats
3409
3385
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$9, {
3410
3386
  poolInfo: poolInfo,
3411
3387
  poolUnderlyingToken: poolUnderlyingToken
3412
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$j, {
3388
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
3413
3389
  poolInfo: poolInfo
3414
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3390
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3415
3391
  poolUnderlyingToken: poolUnderlyingToken,
3416
3392
  handleAction: setupNotificationsOrClose,
3417
3393
  creditRecord: accountStats.creditRecord,
@@ -3426,7 +3402,7 @@ function CreditLineBorrowV2(_ref) {
3426
3402
  });
3427
3403
  }
3428
3404
 
3429
- function ChooseAmount$e(_ref) {
3405
+ function ChooseAmount$a(_ref) {
3430
3406
  let {
3431
3407
  payoffAmount,
3432
3408
  totalDueAmount,
@@ -3491,7 +3467,7 @@ function ApproveAllowance$8(_ref) {
3491
3467
  });
3492
3468
  }
3493
3469
 
3494
- function Transfer$i(_ref) {
3470
+ function Transfer$d(_ref) {
3495
3471
  let {
3496
3472
  poolInfo
3497
3473
  } = _ref;
@@ -3517,7 +3493,7 @@ function Transfer$i(_ref) {
3517
3493
  });
3518
3494
  }
3519
3495
 
3520
- function Success$b(_ref) {
3496
+ function Success$a(_ref) {
3521
3497
  let {
3522
3498
  poolInfo,
3523
3499
  handleAction
@@ -3583,15 +3559,15 @@ function CreditLinePayment(_ref) {
3583
3559
  loadingTitle: "Make Payment",
3584
3560
  handleClose: handleClose,
3585
3561
  handleSuccess: handleSuccess,
3586
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$e, {
3562
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$a, {
3587
3563
  poolInfo: poolInfo,
3588
3564
  payoffAmount: payoffAmount,
3589
3565
  totalDueAmount: totalDueAmount
3590
3566
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$8, {
3591
3567
  poolInfo: poolInfo
3592
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$i, {
3568
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$d, {
3593
3569
  poolInfo: poolInfo
3594
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3570
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3595
3571
  poolInfo: poolInfo,
3596
3572
  handleAction: handleClose
3597
3573
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3602,7 +3578,7 @@ function CreditLinePayment(_ref) {
3602
3578
  });
3603
3579
  }
3604
3580
 
3605
- function ChooseAmount$d(_ref) {
3581
+ function ChooseAmount$9(_ref) {
3606
3582
  let {
3607
3583
  payoffAmount: payoffAmountBN,
3608
3584
  totalDueAmount: totalDueAmountBN,
@@ -3624,8 +3600,6 @@ function ChooseAmount$d(_ref) {
3624
3600
  } = webShared.usePoolSafeAllowanceV2(poolInfo.poolName, account, provider);
3625
3601
  const totalDueAmount = Number(ethers.ethers.utils.formatUnits(totalDueAmountBN, decimals));
3626
3602
  const payoffAmount = Number(ethers.ethers.utils.formatUnits(payoffAmountBN, decimals));
3627
-
3628
- // TODO: Remove redundant useEffect
3629
3603
  React.useEffect(() => {
3630
3604
  setCurrentAmount(totalDueAmount);
3631
3605
  }, [totalDueAmount]);
@@ -3683,7 +3657,7 @@ function ApproveAllowance$7(_ref) {
3683
3657
  });
3684
3658
  }
3685
3659
 
3686
- function Transfer$h(_ref) {
3660
+ function Transfer$c(_ref) {
3687
3661
  let {
3688
3662
  poolInfo,
3689
3663
  poolUnderlyingToken
@@ -3718,7 +3692,7 @@ function Transfer$h(_ref) {
3718
3692
  });
3719
3693
  }
3720
3694
 
3721
- function Success$a(_ref) {
3695
+ function Success$9(_ref) {
3722
3696
  let {
3723
3697
  poolUnderlyingToken,
3724
3698
  handleAction
@@ -3789,7 +3763,7 @@ function CreditLinePaymentV2(_ref) {
3789
3763
  loadingTitle: "Pay",
3790
3764
  handleClose: handleClose,
3791
3765
  handleSuccess: handleSuccess,
3792
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$d, {
3766
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$9, {
3793
3767
  poolInfo: poolInfo,
3794
3768
  poolUnderlyingToken: poolUnderlyingToken,
3795
3769
  payoffAmount: payoffAmount,
@@ -3797,10 +3771,10 @@ function CreditLinePaymentV2(_ref) {
3797
3771
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$7, {
3798
3772
  poolInfo: poolInfo,
3799
3773
  poolUnderlyingToken: poolUnderlyingToken
3800
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$h, {
3774
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
3801
3775
  poolInfo: poolInfo,
3802
3776
  poolUnderlyingToken: poolUnderlyingToken
3803
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3777
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3804
3778
  poolUnderlyingToken: poolUnderlyingToken,
3805
3779
  handleAction: handleClose
3806
3780
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3830,7 +3804,7 @@ function ApproveAllowance$6(_ref) {
3830
3804
  });
3831
3805
  }
3832
3806
 
3833
- function Success$9(_ref) {
3807
+ function Success$8(_ref) {
3834
3808
  let {
3835
3809
  amountToDeposit,
3836
3810
  poolUnderlyingToken,
@@ -3848,7 +3822,7 @@ function Success$9(_ref) {
3848
3822
  });
3849
3823
  }
3850
3824
 
3851
- function Transfer$g(_ref) {
3825
+ function Transfer$b(_ref) {
3852
3826
  let {
3853
3827
  poolInfo,
3854
3828
  amountToDeposit,
@@ -3929,11 +3903,11 @@ function SupplyFirstLossCover(_ref) {
3929
3903
  poolInfo: poolInfo,
3930
3904
  poolUnderlyingToken: poolUnderlyingToken,
3931
3905
  amountToDeposit: minAmountToDeposit
3932
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$g, {
3906
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$b, {
3933
3907
  poolInfo: poolInfo,
3934
3908
  amountToDeposit: minAmountToDeposit,
3935
3909
  title: title
3936
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3910
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
3937
3911
  poolUnderlyingToken: poolUnderlyingToken,
3938
3912
  handleAction: handleClose,
3939
3913
  amountToDeposit: minAmountToDeposit
@@ -3945,7 +3919,7 @@ function SupplyFirstLossCover(_ref) {
3945
3919
  });
3946
3920
  }
3947
3921
 
3948
- function Evaluation$4(_ref) {
3922
+ function Evaluation$3(_ref) {
3949
3923
  let {
3950
3924
  poolInfo,
3951
3925
  tokenId
@@ -3982,7 +3956,7 @@ function Evaluation$4(_ref) {
3982
3956
  });
3983
3957
  }
3984
3958
 
3985
- function ChooseAmount$c(_ref) {
3959
+ function ChooseAmount$8(_ref) {
3986
3960
  var _receivable;
3987
3961
  let {
3988
3962
  poolInfo,
@@ -4047,7 +4021,7 @@ function ChooseAmount$c(_ref) {
4047
4021
  });
4048
4022
  }
4049
4023
 
4050
- var _templateObject$e, _templateObject2$e, _templateObject3$a, _templateObject4$3, _templateObject5$2, _templateObject6$2, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10;
4024
+ var _templateObject$9, _templateObject2$9, _templateObject3$6, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10;
4051
4025
  function ConfirmTransferModal(_ref) {
4052
4026
  let {
4053
4027
  title,
@@ -4058,12 +4032,12 @@ function ConfirmTransferModal(_ref) {
4058
4032
  } = _ref;
4059
4033
  const theme = material.useTheme();
4060
4034
  const styles = {
4061
- wrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4062
- header: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4063
- description: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4064
- transferWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4065
- transfer: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4066
- transferItem: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4035
+ wrapper: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4036
+ header: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4037
+ description: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4038
+ transferWrapper: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4039
+ transfer: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4040
+ transferItem: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4067
4041
  arrow: material.css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n @keyframes bounceAlpha {\n 0% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n 25% {\n opacity: 0;\n transform: translateX(10px) scale(0.9);\n }\n 26% {\n opacity: 0;\n transform: translateX(-10px) scale(0.9);\n }\n 55% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n }\n animation-name: bounceAlpha;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n color: ", ";\n position: absolute;\n margin: auto;\n top: 0;\n left: calc(15% + 36px);\n bottom: 0;\n right: 0;\n width: 16px;\n height: 16px;\n "])), theme.palette.primary.main),
4068
4042
  arrowFirst: material.css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n left: calc(15% + 20px);\n animation-delay: 0.2s;\n "]))),
4069
4043
  okButton: material.css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
@@ -4187,7 +4161,7 @@ function ApproveNFT(_ref) {
4187
4161
  });
4188
4162
  }
4189
4163
 
4190
- function Transfer$f(_ref) {
4164
+ function Transfer$a(_ref) {
4191
4165
  let {
4192
4166
  poolInfo,
4193
4167
  tokenId
@@ -4212,7 +4186,7 @@ function Transfer$f(_ref) {
4212
4186
  });
4213
4187
  }
4214
4188
 
4215
- function Success$8(_ref) {
4189
+ function Success$7(_ref) {
4216
4190
  let {
4217
4191
  handleAction
4218
4192
  } = _ref;
@@ -4260,19 +4234,19 @@ function InvoiceFactoringBorrow(_ref) {
4260
4234
  isOpen: true,
4261
4235
  handleClose: handleClose,
4262
4236
  handleSuccess: handleSuccess,
4263
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$4, {
4237
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$3, {
4264
4238
  poolInfo: poolInfo,
4265
4239
  tokenId: tokenId.toString()
4266
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
4240
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
4267
4241
  poolInfo: poolInfo,
4268
4242
  accountStats: accountStats
4269
4243
  }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer$2, {}), step === WIDGET_STEP.ApproveNFT && jsxRuntime.jsx(ApproveNFT, {
4270
4244
  poolInfo: poolInfo,
4271
4245
  tokenId: tokenId.toString()
4272
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
4246
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$a, {
4273
4247
  poolInfo: poolInfo,
4274
4248
  tokenId: tokenId.toString()
4275
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
4249
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4276
4250
  handleAction: handleClose
4277
4251
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4278
4252
  title: "Invoice Factoring",
@@ -4282,7 +4256,7 @@ function InvoiceFactoringBorrow(_ref) {
4282
4256
  });
4283
4257
  }
4284
4258
 
4285
- function ChooseAmount$b(_ref) {
4259
+ function ChooseAmount$7(_ref) {
4286
4260
  let {
4287
4261
  creditRecord,
4288
4262
  poolInfo
@@ -4347,7 +4321,7 @@ function ApproveAllowance$5(_ref) {
4347
4321
  });
4348
4322
  }
4349
4323
 
4350
- function Transfer$e(_ref) {
4324
+ function Transfer$9(_ref) {
4351
4325
  let {
4352
4326
  poolInfo
4353
4327
  } = _ref;
@@ -4373,7 +4347,7 @@ function Transfer$e(_ref) {
4373
4347
  });
4374
4348
  }
4375
4349
 
4376
- function Success$7(_ref) {
4350
+ function Success$6(_ref) {
4377
4351
  let {
4378
4352
  poolInfo,
4379
4353
  handleAction
@@ -4427,14 +4401,14 @@ function InvoiceFactoringPayment(_ref) {
4427
4401
  loadingTitle: "Make Payment",
4428
4402
  handleClose: handleClose,
4429
4403
  handleSuccess: handleSuccess,
4430
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
4404
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$7, {
4431
4405
  creditRecord: creditRecord,
4432
4406
  poolInfo: poolInfo
4433
4407
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$5, {
4434
4408
  poolInfo: poolInfo
4435
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
4409
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
4436
4410
  poolInfo: poolInfo
4437
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4411
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
4438
4412
  poolInfo: poolInfo,
4439
4413
  handleAction: handleClose
4440
4414
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -4445,8 +4419,8 @@ function InvoiceFactoringPayment(_ref) {
4445
4419
  });
4446
4420
  }
4447
4421
 
4448
- var _templateObject$d, _templateObject2$d, _templateObject3$9;
4449
- function ChooseTranche$4(_ref) {
4422
+ var _templateObject$8, _templateObject2$8, _templateObject3$5;
4423
+ function ChooseTranche$1(_ref) {
4450
4424
  let {
4451
4425
  selectedTranche,
4452
4426
  changeTranche
@@ -4454,9 +4428,9 @@ function ChooseTranche$4(_ref) {
4454
4428
  const theme = material.useTheme();
4455
4429
  const dispatch = useAppDispatch();
4456
4430
  const styles = {
4457
- subTitle: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4458
- radioGroup: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4459
- formControl: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4431
+ subTitle: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4432
+ radioGroup: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4433
+ formControl: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4460
4434
  };
4461
4435
  const handleNext = () => {
4462
4436
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -4501,7 +4475,7 @@ function ChooseTranche$4(_ref) {
4501
4475
  });
4502
4476
  }
4503
4477
 
4504
- function ChooseAmount$a(_ref) {
4478
+ function ChooseAmount$6(_ref) {
4505
4479
  let {
4506
4480
  poolInfo,
4507
4481
  poolUnderlyingToken,
@@ -4567,7 +4541,7 @@ function ChooseAmount$a(_ref) {
4567
4541
  });
4568
4542
  }
4569
4543
 
4570
- function Transfer$d(_ref) {
4544
+ function Transfer$8(_ref) {
4571
4545
  let {
4572
4546
  poolInfo,
4573
4547
  poolUnderlyingToken,
@@ -4600,7 +4574,7 @@ function Transfer$d(_ref) {
4600
4574
  });
4601
4575
  }
4602
4576
 
4603
- function Done$6(_ref) {
4577
+ function Done$2(_ref) {
4604
4578
  let {
4605
4579
  handleAction
4606
4580
  } = _ref;
@@ -4710,18 +4684,18 @@ function AddRedemptionV2(_ref) {
4710
4684
  loadingTitle: title,
4711
4685
  handleClose: handleClose,
4712
4686
  handleSuccess: handleRedeemSuccess,
4713
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$4, {
4687
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
4714
4688
  selectedTranche: trancheInfo === null || trancheInfo === void 0 ? void 0 : trancheInfo.tranche,
4715
4689
  changeTranche: handleChangeTranche
4716
- }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$a, {
4690
+ }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$6, {
4717
4691
  poolInfo: poolInfo,
4718
4692
  poolUnderlyingToken: poolUnderlyingToken,
4719
4693
  trancheInfo: trancheInfo
4720
- }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$d, {
4694
+ }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$8, {
4721
4695
  poolInfo: poolInfo,
4722
4696
  poolUnderlyingToken: poolUnderlyingToken,
4723
4697
  trancheInfo: trancheInfo
4724
- }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$6, {
4698
+ }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$2, {
4725
4699
  handleAction: handleClose
4726
4700
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4727
4701
  title: title,
@@ -4732,7 +4706,7 @@ function AddRedemptionV2(_ref) {
4732
4706
  });
4733
4707
  }
4734
4708
 
4735
- function Transfer$c(_ref) {
4709
+ function Transfer$7(_ref) {
4736
4710
  let {
4737
4711
  poolInfo,
4738
4712
  trancheType,
@@ -4758,7 +4732,7 @@ function Transfer$c(_ref) {
4758
4732
  });
4759
4733
  }
4760
4734
 
4761
- function Done$5(_ref) {
4735
+ function Done$1(_ref) {
4762
4736
  let {
4763
4737
  poolUnderlyingToken,
4764
4738
  redemptionInfo,
@@ -4819,11 +4793,11 @@ function CancelRedemptionV2(_ref) {
4819
4793
  loadingTitle: title,
4820
4794
  handleClose: handleClose,
4821
4795
  handleSuccess: handleRedeemSuccess,
4822
- children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
4796
+ children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$7, {
4823
4797
  poolInfo: poolInfo,
4824
4798
  trancheType: trancheType,
4825
4799
  redemptionInfo: redemptionInfo
4826
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$5, {
4800
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
4827
4801
  poolUnderlyingToken: poolUnderlyingToken,
4828
4802
  handleAction: handleClose,
4829
4803
  redemptionInfo: redemptionInfo
@@ -4836,7 +4810,7 @@ function CancelRedemptionV2(_ref) {
4836
4810
  });
4837
4811
  }
4838
4812
 
4839
- var _templateObject$c, _templateObject2$c;
4813
+ var _templateObject$7, _templateObject2$7;
4840
4814
  function EvaluationEA(_ref) {
4841
4815
  let {
4842
4816
  poolInfo,
@@ -4850,8 +4824,8 @@ function EvaluationEA(_ref) {
4850
4824
  } = core.useWeb3React();
4851
4825
  const [loading, setLoading] = React.useState(false);
4852
4826
  const styles = {
4853
- iconWrapper: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4854
- description: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4827
+ iconWrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4828
+ description: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4855
4829
  };
4856
4830
  const approveLender = async () => {
4857
4831
  if (account) {
@@ -4946,7 +4920,7 @@ function HumaSnackBar(_ref2) {
4946
4920
  });
4947
4921
  }
4948
4922
 
4949
- var _templateObject$b, _templateObject2$b;
4923
+ var _templateObject$6, _templateObject2$6;
4950
4924
  const KYCProvider = 'Securitize';
4951
4925
  // TODO: Add copies for the other pools. Currently only the Jia pool is using the KYC process.
4952
4926
  const JiaPoolCopies = {
@@ -5012,8 +4986,8 @@ function EvaluationKYC(_ref) {
5012
4986
  const docSignatureCompleted = docSignatureStatus === 'completed';
5013
4987
  const [openSnackBar, setOpenSnackBar] = React.useState(false);
5014
4988
  const styles = {
5015
- iconWrapper: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5016
- description: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4989
+ iconWrapper: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4990
+ description: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
5017
4991
  };
5018
4992
  const {
5019
4993
  envelopeKey,
@@ -5204,7 +5178,7 @@ function EvaluationKYC(_ref) {
5204
5178
  });
5205
5179
  }
5206
5180
 
5207
- function Evaluation$3(_ref) {
5181
+ function Evaluation$2(_ref) {
5208
5182
  var _poolInfo$extra;
5209
5183
  let {
5210
5184
  poolInfo,
@@ -5225,7 +5199,7 @@ function Evaluation$3(_ref) {
5225
5199
  });
5226
5200
  }
5227
5201
 
5228
- function ChooseAmount$9(_ref) {
5202
+ function ChooseAmount$5(_ref) {
5229
5203
  let {
5230
5204
  allowance,
5231
5205
  withdrawlLockoutSeconds,
@@ -5282,7 +5256,7 @@ function ApproveAllowance$4(_ref) {
5282
5256
  });
5283
5257
  }
5284
5258
 
5285
- function Transfer$b(_ref) {
5259
+ function Transfer$6(_ref) {
5286
5260
  let {
5287
5261
  poolInfo
5288
5262
  } = _ref;
@@ -5305,7 +5279,7 @@ function Transfer$b(_ref) {
5305
5279
  });
5306
5280
  }
5307
5281
 
5308
- function Success$6(_ref) {
5282
+ function Success$5(_ref) {
5309
5283
  let {
5310
5284
  poolInfo,
5311
5285
  handleAction,
@@ -5428,20 +5402,20 @@ function LendSupply(_ref) {
5428
5402
  loadingTitle: "Supply ".concat(poolInfo.poolUnderlyingToken.symbol),
5429
5403
  handleClose: handleClose,
5430
5404
  handleSuccess: handleSupplySuccess,
5431
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$3, {
5405
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$2, {
5432
5406
  poolInfo: poolInfo,
5433
5407
  handleClose: handleClose,
5434
5408
  handleApproveSuccess: handleApproveSuccess
5435
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$9, {
5409
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$5, {
5436
5410
  poolInfo: poolInfo,
5437
5411
  allowance: allowance,
5438
5412
  underlyingTokenBalance: balanceWithoutDecimals,
5439
5413
  withdrawlLockoutSeconds: withdrawlLockoutSeconds
5440
5414
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$4, {
5441
5415
  poolInfo: poolInfo
5442
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$b, {
5416
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$6, {
5443
5417
  poolInfo: poolInfo
5444
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
5418
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
5445
5419
  poolInfo: poolInfo,
5446
5420
  handleAction: setupNotificationsOrClose,
5447
5421
  hasNextStep: isFirstTimeNotifiUser
@@ -5456,8 +5430,8 @@ function LendSupply(_ref) {
5456
5430
  });
5457
5431
  }
5458
5432
 
5459
- var _templateObject$a, _templateObject2$a, _templateObject3$8;
5460
- function ChooseTranche$3(_ref) {
5433
+ var _templateObject$5, _templateObject2$5, _templateObject3$4;
5434
+ function ChooseTranche(_ref) {
5461
5435
  let {
5462
5436
  poolUnderlyingToken,
5463
5437
  selectedTranche,
@@ -5466,9 +5440,9 @@ function ChooseTranche$3(_ref) {
5466
5440
  const theme = material.useTheme();
5467
5441
  const dispatch = useAppDispatch();
5468
5442
  const styles = {
5469
- subTitle: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5470
- radioGroup: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5471
- formControl: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5443
+ subTitle: material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5444
+ radioGroup: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5445
+ formControl: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5472
5446
  };
5473
5447
  const handleNext = () => {
5474
5448
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -5518,7 +5492,7 @@ function ChooseTranche$3(_ref) {
5518
5492
  });
5519
5493
  }
5520
5494
 
5521
- var _templateObject$9, _templateObject2$9, _templateObject3$7;
5495
+ var _templateObject$4, _templateObject2$4, _templateObject3$3;
5522
5496
  function PersonaEvaluation(_ref) {
5523
5497
  let {
5524
5498
  poolInfo,
@@ -5784,9 +5758,9 @@ function PersonaEvaluation(_ref) {
5784
5758
  }
5785
5759
  };
5786
5760
  const styles = {
5787
- iconWrapper: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5788
- description: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5789
- points: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5761
+ iconWrapper: material.css(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5762
+ description: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5763
+ points: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5790
5764
  };
5791
5765
  if (!loadingType) {
5792
5766
  return jsxRuntime.jsxs(WrapperModal, {
@@ -5818,7 +5792,7 @@ function PersonaEvaluation(_ref) {
5818
5792
  });
5819
5793
  }
5820
5794
 
5821
- var _templateObject$8, _templateObject2$8;
5795
+ var _templateObject$3, _templateObject2$3;
5822
5796
  const LoadingCopiesByType = {
5823
5797
  verificationStatus: {
5824
5798
  description: "Checking your verification status..."
@@ -6023,8 +5997,8 @@ function SecuritizeEvaluation(_ref) {
6023
5997
  onClose: () => setOpenSnackBar(false)
6024
5998
  });
6025
5999
  const styles = {
6026
- iconWrapper: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6027
- description: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6000
+ iconWrapper: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6001
+ description: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6028
6002
  };
6029
6003
  if (!loadingType) {
6030
6004
  return jsxRuntime.jsxs(WrapperModal, {
@@ -6051,7 +6025,7 @@ function SecuritizeEvaluation(_ref) {
6051
6025
  });
6052
6026
  }
6053
6027
 
6054
- function Evaluation$2(_ref) {
6028
+ function Evaluation$1(_ref) {
6055
6029
  var _poolInfo$KYC, _poolInfo$KYC2;
6056
6030
  let {
6057
6031
  poolInfo,
@@ -6080,7 +6054,7 @@ function Evaluation$2(_ref) {
6080
6054
  return null;
6081
6055
  }
6082
6056
 
6083
- function ChooseAmount$8(_ref) {
6057
+ function ChooseAmount$4(_ref) {
6084
6058
  let {
6085
6059
  poolInfo,
6086
6060
  lpConfig,
@@ -6180,7 +6154,7 @@ function ApproveAllowance$3(_ref) {
6180
6154
  });
6181
6155
  }
6182
6156
 
6183
- function Transfer$a(_ref) {
6157
+ function Transfer$5(_ref) {
6184
6158
  let {
6185
6159
  poolInfo,
6186
6160
  trancheType
@@ -6212,7 +6186,7 @@ function Transfer$a(_ref) {
6212
6186
  });
6213
6187
  }
6214
6188
 
6215
- function Success$5(_ref) {
6189
+ function Success$4(_ref) {
6216
6190
  let {
6217
6191
  poolInfo,
6218
6192
  lpConfig,
@@ -6275,9 +6249,9 @@ function Success$5(_ref) {
6275
6249
  }, [campaign, dispatch, handleAction, isFirstTimeNotifiUser, notifiChainSupported]);
6276
6250
  const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
6277
6251
  const getSubContent = () => {
6278
- const lockupEndTime = dayjs__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'day').date(1);
6279
- const withdrawTime = lockupEndTime.add(1, 'month');
6280
- return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(lockupEndTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
6252
+ const redemptionTime = dayjs__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'day').date(1);
6253
+ const withdrawTime = redemptionTime.add(1, 'month');
6254
+ return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(redemptionTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
6281
6255
  };
6282
6256
  const getButtonText = () => {
6283
6257
  if (hasNextStep) {
@@ -6312,7 +6286,7 @@ function Notifications$1(_ref) {
6312
6286
  });
6313
6287
  }
6314
6288
 
6315
- var _templateObject$7, _templateObject2$7, _templateObject3$6, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7;
6289
+ var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4$1, _templateObject5, _templateObject6, _templateObject7;
6316
6290
  var STATE = /*#__PURE__*/function (STATE) {
6317
6291
  STATE["Loading"] = "Loading";
6318
6292
  STATE["SignIn"] = "SignIn";
@@ -6400,12 +6374,12 @@ function PointsEarned(_ref) {
6400
6374
  handleAction();
6401
6375
  }, [dispatch, handleAction, reset]);
6402
6376
  const styles = {
6403
- wrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6404
- congrats: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6405
- ribbon: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6406
- ribbonContent: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6407
- entirePoints: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6408
- entirePointsDetails: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6377
+ wrapper: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6378
+ congrats: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6379
+ ribbon: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6380
+ ribbonContent: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6381
+ entirePoints: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6382
+ entirePointsDetails: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6409
6383
  everyday: material.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
6410
6384
  };
6411
6385
  if (state === STATE.SignIn) {
@@ -6537,18 +6511,18 @@ function LendSupplyV2(_ref) {
6537
6511
  loadingTitle: "Supply ".concat(poolUnderlyingToken.symbol),
6538
6512
  handleClose: handleClose,
6539
6513
  handleSuccess: handleSuccess,
6540
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$3, {
6514
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
6541
6515
  poolUnderlyingToken: poolUnderlyingToken,
6542
6516
  selectedTranche: selectedTranche,
6543
6517
  changeTranche: setSelectedTranche
6544
- }), step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$2, {
6518
+ }), step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$1, {
6545
6519
  poolInfo: poolInfo,
6546
6520
  handleClose: handleClose,
6547
6521
  isUniTranche: isUniTranche,
6548
6522
  changeTranche: setSelectedTranche,
6549
6523
  pointsTestnetExperience: pointsTestnetExperience,
6550
6524
  campaign: campaign
6551
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
6525
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$4, {
6552
6526
  poolInfo: poolInfo,
6553
6527
  lpConfig: lpConfig,
6554
6528
  juniorAssets: juniorAssets,
@@ -6557,10 +6531,10 @@ function LendSupplyV2(_ref) {
6557
6531
  isUniTranche: isUniTranche
6558
6532
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$3, {
6559
6533
  poolInfo: poolInfo
6560
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$a, {
6534
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$5, {
6561
6535
  poolInfo: poolInfo,
6562
6536
  trancheType: selectedTranche
6563
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
6537
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6564
6538
  poolInfo: poolInfo,
6565
6539
  lpConfig: lpConfig,
6566
6540
  campaign: campaign,
@@ -6625,7 +6599,7 @@ function CheckWithdrawable(_ref) {
6625
6599
  });
6626
6600
  }
6627
6601
 
6628
- function ChooseAmount$7(_ref) {
6602
+ function ChooseAmount$3(_ref) {
6629
6603
  let {
6630
6604
  lenderPosition,
6631
6605
  poolBalance,
@@ -6663,7 +6637,7 @@ function ChooseAmount$7(_ref) {
6663
6637
  });
6664
6638
  }
6665
6639
 
6666
- function Transfer$9(_ref) {
6640
+ function Transfer$4(_ref) {
6667
6641
  let {
6668
6642
  poolInfo
6669
6643
  } = _ref;
@@ -6686,7 +6660,7 @@ function Transfer$9(_ref) {
6686
6660
  });
6687
6661
  }
6688
6662
 
6689
- function Success$4(_ref) {
6663
+ function Success$3(_ref) {
6690
6664
  let {
6691
6665
  poolInfo,
6692
6666
  handleAction
@@ -6776,13 +6750,13 @@ function LendWithdraw(_ref) {
6776
6750
  children: [step === WIDGET_STEP.CheckWithdrawable && jsxRuntime.jsx(CheckWithdrawable, {
6777
6751
  poolInfo: poolInfo,
6778
6752
  handleClose: handleClose
6779
- }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$7, {
6753
+ }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$3, {
6780
6754
  poolInfo: poolInfo,
6781
6755
  lenderPosition: lenderPosition,
6782
6756
  poolBalance: poolBalance
6783
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
6757
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$4, {
6784
6758
  poolInfo: poolInfo
6785
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6759
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
6786
6760
  poolInfo: poolInfo,
6787
6761
  handleAction: handleClose
6788
6762
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -6794,7 +6768,7 @@ function LendWithdraw(_ref) {
6794
6768
  });
6795
6769
  }
6796
6770
 
6797
- var _templateObject$6, _templateObject2$6, _templateObject3$5, _templateObject4$1;
6771
+ var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4;
6798
6772
  function ConfirmTransfer$1(_ref) {
6799
6773
  let {
6800
6774
  poolInfo,
@@ -6836,10 +6810,10 @@ function ConfirmTransfer$1(_ref) {
6836
6810
  dispatch(setStep(WIDGET_STEP.Transfer));
6837
6811
  };
6838
6812
  const styles = {
6839
- itemWrapper: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6840
- item: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6841
- itemValue: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6842
- divider: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6813
+ itemWrapper: material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6814
+ item: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6815
+ itemValue: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6816
+ divider: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6843
6817
  };
6844
6818
  return jsxRuntime.jsxs(WrapperModal, {
6845
6819
  title: "Withdraw ".concat(symbol),
@@ -6883,7 +6857,7 @@ function ConfirmTransfer$1(_ref) {
6883
6857
  });
6884
6858
  }
6885
6859
 
6886
- function Transfer$8(_ref) {
6860
+ function Transfer$3(_ref) {
6887
6861
  let {
6888
6862
  poolInfo,
6889
6863
  tranche,
@@ -6909,7 +6883,7 @@ function Transfer$8(_ref) {
6909
6883
  });
6910
6884
  }
6911
6885
 
6912
- function Done$4(_ref) {
6886
+ function Done(_ref) {
6913
6887
  let {
6914
6888
  poolUnderlyingToken,
6915
6889
  withdrawAmount,
@@ -7009,11 +6983,11 @@ function LendWithdrawV2(_ref) {
7009
6983
  redemptionStatus: redemptionStatus,
7010
6984
  poolUnderlyingToken: poolUnderlyingToken,
7011
6985
  poolIsClosed: poolIsClosed
7012
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$8, {
6986
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$3, {
7013
6987
  poolInfo: poolInfo,
7014
6988
  tranche: trancheType,
7015
6989
  poolIsClosed: poolIsClosed
7016
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$4, {
6990
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done, {
7017
6991
  poolUnderlyingToken: poolUnderlyingToken,
7018
6992
  withdrawAmount: redemptionStatus.withdrawableAssets,
7019
6993
  handleAction: handleClose
@@ -7026,7 +7000,7 @@ function LendWithdrawV2(_ref) {
7026
7000
  });
7027
7001
  }
7028
7002
 
7029
- function ChooseAmount$6(_ref) {
7003
+ function ChooseAmount$2(_ref) {
7030
7004
  let {
7031
7005
  poolInfo,
7032
7006
  poolUnderlyingToken,
@@ -7149,7 +7123,7 @@ function ApproveReceivable$1(_ref) {
7149
7123
  });
7150
7124
  }
7151
7125
 
7152
- function Transfer$7(_ref) {
7126
+ function Transfer$2(_ref) {
7153
7127
  let {
7154
7128
  poolInfo,
7155
7129
  tokenId
@@ -7194,7 +7168,7 @@ function Transfer$7(_ref) {
7194
7168
  });
7195
7169
  }
7196
7170
 
7197
- function Success$3(_ref) {
7171
+ function Success$2(_ref) {
7198
7172
  let {
7199
7173
  poolUnderlyingToken,
7200
7174
  creditRecord,
@@ -7290,7 +7264,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7290
7264
  loadingTitle: "Borrow",
7291
7265
  handleClose: handleClose,
7292
7266
  handleSuccess: handleSuccessCallback,
7293
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$6, {
7267
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$2, {
7294
7268
  poolInfo: poolInfo,
7295
7269
  poolUnderlyingToken: poolUnderlyingToken,
7296
7270
  accountStats: accountStats,
@@ -7301,10 +7275,10 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7301
7275
  }), step === WIDGET_STEP.ApproveNFT && tokenId && jsxRuntime.jsx(ApproveReceivable$1, {
7302
7276
  poolInfo: poolInfo,
7303
7277
  tokenId: tokenId
7304
- }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$7, {
7278
+ }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$2, {
7305
7279
  poolInfo: poolInfo,
7306
7280
  tokenId: tokenId
7307
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
7281
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$2, {
7308
7282
  poolUnderlyingToken: poolUnderlyingToken,
7309
7283
  handleAction: setupNotificationsOrClose,
7310
7284
  creditRecord: accountStats.creditRecord,
@@ -7319,7 +7293,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7319
7293
  });
7320
7294
  }
7321
7295
 
7322
- var _templateObject$5, _templateObject2$5, _templateObject3$4;
7296
+ var _templateObject, _templateObject2, _templateObject3;
7323
7297
  function ChoosePaymentType(_ref) {
7324
7298
  let {
7325
7299
  paymentType,
@@ -7328,9 +7302,9 @@ function ChoosePaymentType(_ref) {
7328
7302
  const theme = material.useTheme();
7329
7303
  const dispatch = useAppDispatch();
7330
7304
  const styles = {
7331
- subTitle: material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7332
- radioGroup: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7333
- formControl: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7305
+ subTitle: material.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7306
+ radioGroup: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7307
+ formControl: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7334
7308
  };
7335
7309
  const handleNext = () => {
7336
7310
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -7375,7 +7349,7 @@ function ChoosePaymentType(_ref) {
7375
7349
  });
7376
7350
  }
7377
7351
 
7378
- function ChooseAmount$5(_ref) {
7352
+ function ChooseAmount$1(_ref) {
7379
7353
  let {
7380
7354
  payoffAmount: payoffAmountBN,
7381
7355
  poolInfo,
@@ -7557,7 +7531,7 @@ function ApproveReceivable(_ref) {
7557
7531
  });
7558
7532
  }
7559
7533
 
7560
- function Transfer$6(_ref) {
7534
+ function Transfer$1(_ref) {
7561
7535
  let {
7562
7536
  poolInfo,
7563
7537
  poolUnderlyingToken,
@@ -7615,7 +7589,7 @@ function Transfer$6(_ref) {
7615
7589
  });
7616
7590
  }
7617
7591
 
7618
- function Success$2(_ref) {
7592
+ function Success$1(_ref) {
7619
7593
  let {
7620
7594
  poolUnderlyingToken,
7621
7595
  paymentType,
@@ -7708,7 +7682,7 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7708
7682
  children: [step === WIDGET_STEP.ChoosePaymentType && jsxRuntime.jsx(ChoosePaymentType, {
7709
7683
  paymentType: paymentType,
7710
7684
  changePaymentType: setPaymentType
7711
- }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$5, {
7685
+ }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$1, {
7712
7686
  poolInfo: poolInfo,
7713
7687
  poolUnderlyingToken: poolUnderlyingToken,
7714
7688
  payoffAmount: payoffAmount,
@@ -7724,14 +7698,14 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7724
7698
  }), step === WIDGET_STEP.ApproveNFT && borrowTokenId && jsxRuntime.jsx(ApproveReceivable, {
7725
7699
  poolInfo: poolInfo,
7726
7700
  tokenId: borrowTokenId
7727
- }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$6, {
7701
+ }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$1, {
7728
7702
  poolInfo: poolInfo,
7729
7703
  poolUnderlyingToken: poolUnderlyingToken,
7730
7704
  paymentType: paymentType,
7731
7705
  paymentTokenId: tokenId,
7732
7706
  borrowTokenId: borrowTokenId,
7733
7707
  setSuccessTxReceipt: setSuccessTxReceipt
7734
- }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$2, {
7708
+ }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$1, {
7735
7709
  poolUnderlyingToken: poolUnderlyingToken,
7736
7710
  paymentType: paymentType,
7737
7711
  handleAction: handleClose,
@@ -7744,7 +7718,7 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7744
7718
  });
7745
7719
  }
7746
7720
 
7747
- function Evaluation$1(_ref) {
7721
+ function Evaluation(_ref) {
7748
7722
  let {
7749
7723
  poolInfo,
7750
7724
  payerAddress,
@@ -7782,7 +7756,7 @@ function Evaluation$1(_ref) {
7782
7756
  });
7783
7757
  }
7784
7758
 
7785
- function ChooseAmount$4(_ref) {
7759
+ function ChooseAmount(_ref) {
7786
7760
  var _poolInfo$extra;
7787
7761
  let {
7788
7762
  poolInfo,
@@ -7968,7 +7942,7 @@ function Permit(_ref) {
7968
7942
  });
7969
7943
  }
7970
7944
 
7971
- function Transfer$5(_ref) {
7945
+ function Transfer(_ref) {
7972
7946
  let {
7973
7947
  poolInfo
7974
7948
  } = _ref;
@@ -7997,7 +7971,7 @@ function Transfer$5(_ref) {
7997
7971
  });
7998
7972
  }
7999
7973
 
8000
- function Success$1(_ref) {
7974
+ function Success(_ref) {
8001
7975
  let {
8002
7976
  handleAction
8003
7977
  } = _ref;
@@ -8043,11 +8017,11 @@ function StreamFactoringBorrow(_ref) {
8043
8017
  isOpen: isOpen,
8044
8018
  handleClose: handleClose,
8045
8019
  handleSuccess: handleSuccess,
8046
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$1, {
8020
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation, {
8047
8021
  poolInfo: poolInfo,
8048
8022
  payerAddress: payerAddress,
8049
8023
  superToken: superToken
8050
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$4, {
8024
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount, {
8051
8025
  poolInfo: poolInfo,
8052
8026
  currentFlowRate: currentFlowRate
8053
8027
  }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance, {
@@ -8057,9 +8031,9 @@ function StreamFactoringBorrow(_ref) {
8057
8031
  payerAddress: payerAddress,
8058
8032
  borrower: account,
8059
8033
  superToken: superToken
8060
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$5, {
8034
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer, {
8061
8035
  poolInfo: poolInfo
8062
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$1, {
8036
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
8063
8037
  handleAction: handleClose
8064
8038
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
8065
8039
  title: "Stream Borrowing",
@@ -8584,1510 +8558,46 @@ const themeHuma = material.createTheme(themeBase, {
8584
8558
  components: components(themeBase)
8585
8559
  });
8586
8560
 
8587
- var _templateObject$4, _templateObject2$4;
8588
- function Evaluation(_ref) {
8561
+ function NotifiContextWrapper(_ref) {
8589
8562
  let {
8590
- poolInfo,
8591
- isUniTranche,
8592
- handleApproveSuccess
8563
+ chainId,
8564
+ children
8593
8565
  } = _ref;
8594
- const theme = material.useTheme();
8595
- const isDev = shared.checkIsDev();
8596
- const dispatch = useAppDispatch();
8597
8566
  const {
8598
- publicKey
8599
- } = walletAdapterReact.useWallet();
8600
- const [loading, setLoading] = React.useState(false);
8601
- const styles = {
8602
- iconWrapper: material.css(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
8603
- description: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
8604
- };
8605
- const approveLender = async () => {
8606
- if (publicKey) {
8607
- try {
8608
- setLoading(true);
8609
- await shared.IdentityServiceV2.approveSolanaLender(publicKey.toString(), poolInfo.chainId, poolInfo.juniorTrancheMint, isDev);
8610
- if (!isUniTranche) {
8611
- await shared.IdentityServiceV2.approveSolanaLender(publicKey.toString(), poolInfo.chainId, poolInfo.seniorTrancheMint, isDev);
8612
- }
8613
- handleApproveSuccess();
8614
- setLoading(false);
8615
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
8616
- } catch (e) {
8617
- const error = e;
8618
- setLoading(false);
8619
- dispatch(setError({
8620
- errorMessage: error.message
8621
- }));
8622
- }
8567
+ account,
8568
+ provider
8569
+ } = core.useWeb3React();
8570
+ const signer = React.useMemo(() => {
8571
+ if (provider instanceof ethers.providers.JsonRpcProvider) {
8572
+ return provider.getSigner();
8623
8573
  }
8624
- };
8625
- if (!loading) {
8626
- return jsxRuntime.jsxs(WrapperModal, {
8627
- title: "Lender Approval",
8628
- subTitle: "This pool requires lender approval",
8629
- children: [jsxRuntime.jsx(material.Box, {
8630
- css: styles.iconWrapper,
8631
- children: jsxRuntime.jsx("img", {
8632
- src: ApproveLenderImg,
8633
- alt: "approve-lender"
8634
- })
8635
- }), jsxRuntime.jsx(material.Box, {
8636
- css: styles.description
8637
- }), jsxRuntime.jsx(BottomButton, {
8638
- variant: "contained",
8639
- onClick: approveLender,
8640
- children: "GET APPROVED"
8641
- })]
8642
- });
8574
+ return undefined;
8575
+ }, [provider]);
8576
+ if (account == null || signer == null || chainId == null) {
8577
+ return null;
8643
8578
  }
8644
- return jsxRuntime.jsx(LoadingModal, {
8645
- title: "Approval Pending",
8646
- description: "Waiting for approval confirmation..."
8647
- });
8648
- }
8649
-
8650
- var _templateObject$3, _templateObject2$3, _templateObject3$3;
8651
- function ChooseTranche$2(_ref) {
8652
- let {
8653
- poolUnderlyingToken,
8654
- selectedTranche,
8655
- changeTranche
8656
- } = _ref;
8657
- const theme = material.useTheme();
8658
- const dispatch = useAppDispatch();
8659
- const styles = {
8660
- subTitle: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
8661
- radioGroup: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
8662
- formControl: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
8663
- };
8664
- const handleNext = () => {
8665
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
8666
- };
8667
- const items = [{
8668
- label: 'Senior',
8669
- value: 'senior'
8670
- }, {
8671
- label: 'Junior',
8672
- value: 'junior'
8673
- }];
8674
- return jsxRuntime.jsxs(WrapperModal, {
8675
- title: "Supply ".concat(poolUnderlyingToken.symbol),
8676
- children: [jsxRuntime.jsxs(material.FormControl, {
8677
- children: [jsxRuntime.jsx(material.FormLabel, {
8678
- css: styles.subTitle,
8679
- children: "Select Tranche Type"
8680
- }), jsxRuntime.jsx(material.RadioGroup, {
8681
- "aria-labelledby": "buttons-group-label",
8682
- name: "radio-buttons-group",
8683
- css: styles.radioGroup,
8684
- onChange: e => changeTranche(e.target.value),
8685
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
8686
- value: item.value,
8687
- control: jsxRuntime.jsx(material.Radio, {
8688
- sx: {
8689
- '& .MuiSvgIcon-root': {
8690
- fontSize: 24
8691
- }
8692
- }
8693
- }),
8694
- label: item.label,
8695
- css: styles.formControl
8696
- }, item.label))
8697
- })]
8698
- }), jsxRuntime.jsx(BottomButton, {
8699
- variant: "contained",
8700
- disabled: !selectedTranche,
8701
- onClick: handleNext,
8702
- children: "NEXT"
8703
- })]
8704
- });
8705
- }
8706
-
8707
- function ChooseAmount$3(_ref) {
8708
- let {
8709
- poolInfo,
8710
- poolState,
8711
- tokenAccount,
8712
- selectedTranche,
8713
- isUniTranche
8714
- } = _ref;
8715
- const dispatch = useAppDispatch();
8716
- const {
8717
- symbol,
8718
- decimals
8719
- } = poolInfo.underlyingMint;
8720
- const [currentAmount, setCurrentAmount] = React.useState(0);
8721
- const balance = tokenAccount ? new anchor.BN(tokenAccount.amount.toString()) : new anchor.BN(0);
8722
- const {
8723
- juniorAvailableCapBN,
8724
- seniorAvailableCapBN
8725
- } = React.useMemo(() => {
8726
- const {
8727
- maxSeniorJuniorRatio,
8728
- liquidityCap,
8729
- seniorTrancheAssets,
8730
- juniorTrancheAssets
8731
- } = poolState;
8732
- const juniorTrancheAssetsBN = new anchor.BN(juniorTrancheAssets !== null && juniorTrancheAssets !== void 0 ? juniorTrancheAssets : 0);
8733
- const seniorTrancheAssetsBN = new anchor.BN(seniorTrancheAssets !== null && seniorTrancheAssets !== void 0 ? seniorTrancheAssets : 0);
8734
- const totalDeployedBN = seniorTrancheAssetsBN.add(juniorTrancheAssetsBN);
8735
- const totalAvailableCapBN = new anchor.BN(liquidityCap !== null && liquidityCap !== void 0 ? liquidityCap : 0).sub(totalDeployedBN);
8736
- const maxSeniorAssetsBN = juniorTrancheAssetsBN.muln(maxSeniorJuniorRatio !== null && maxSeniorJuniorRatio !== void 0 ? maxSeniorJuniorRatio : 0);
8737
- let seniorAvailableCapBN = maxSeniorAssetsBN.sub(seniorTrancheAssetsBN);
8738
- seniorAvailableCapBN = seniorAvailableCapBN.gt(totalAvailableCapBN) ? totalAvailableCapBN : seniorAvailableCapBN;
8739
- return {
8740
- juniorAvailableCapBN: totalAvailableCapBN.sub(seniorAvailableCapBN),
8741
- seniorAvailableCapBN
8742
- };
8743
- }, [poolState]);
8744
- const handleChangeAmount = newAmount => {
8745
- setCurrentAmount(newAmount);
8746
- dispatch(setSupplyAmount(Number(newAmount)));
8747
- };
8748
- const handleAction = () => {
8749
- dispatch(setStep(WIDGET_STEP.Transfer));
8750
- };
8751
- const getTrancheCap = () => {
8752
- if (selectedTranche === 'junior') {
8753
- return juniorAvailableCapBN;
8754
- }
8755
- return seniorAvailableCapBN;
8756
- };
8757
- const getMinAmount = () => {
8758
- const minAmount = poolState.minDepositAmount ? shared.SolanaTokenUtils.formatUnits(new anchor.BN(poolState.minDepositAmount), decimals) : 0;
8759
- return Math.max(0, Math.ceil(Number(minAmount)));
8760
- };
8761
- const getMaxAmount = () => {
8762
- const trancheCap = getTrancheCap();
8763
- return balance.gt(trancheCap) ? trancheCap : balance;
8764
- };
8765
- const getInfos = () => {
8766
- const trancheCap = getTrancheCap();
8767
- const currentAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
8768
- const remainingCap = trancheCap.sub(currentAmountBN);
8769
- if (remainingCap.ltn(0)) {
8770
- return ['0 remaining capacity'];
8771
- }
8772
- return ["".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(remainingCap, decimals)), " remaining capacity")];
8773
- };
8774
- return jsxRuntime.jsx(InputAmountModal, {
8775
- title: "Enter Amount",
8776
- subTitle: "Depositing to ".concat(isUniTranche ? 'uni tranche' : selectedTranche, " tranche"),
8777
- tokenSymbol: symbol,
8778
- currentAmount: currentAmount,
8779
- handleChangeAmount: handleChangeAmount,
8780
- minimumAmount: getMinAmount(),
8781
- maxAmount: Number(shared.SolanaTokenUtils.formatUnits(getMaxAmount(), decimals)),
8782
- maxAmountTitle: "".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(balance, decimals)), " balance"),
8783
- infos: getInfos(),
8784
- handleAction: handleAction,
8785
- actionText: "SUPPLY"
8786
- });
8787
- }
8788
-
8789
- function SolanaViewOnExplorer(_ref) {
8790
- let {
8791
- chainId,
8792
- signature
8793
- } = _ref;
8794
- const link = shared.getSolanaExplorerUrl(chainId, signature, 'tx');
8795
- if (!link) {
8796
- return null;
8797
- }
8798
- return jsxRuntime.jsx(material.Button, {
8799
- fullWidth: true,
8800
- variant: "outlined",
8801
- onClick: () => shared.openInNewTab(link),
8802
- children: jsxRuntime.jsx(material.Box, {
8803
- component: "span",
8804
- children: "VIEW ON EXPLORER"
8805
- })
8806
- });
8807
- }
8808
-
8809
- function SolanaTxSendModal(_ref) {
8810
- let {
8811
- chainId,
8812
- tx,
8813
- handleSuccess
8814
- } = _ref;
8815
- const dispatch = useAppDispatch();
8816
- const {
8817
- sendTransaction
8818
- } = walletAdapterReact.useWallet();
8819
- const {
8820
- connection
8821
- } = walletAdapterReact.useConnection();
8822
- const [signature, setSignature] = React.useState('');
8823
- React.useEffect(() => {
8824
- async function sendTx() {
8825
- if (!connection || !tx) {
8826
- return;
8827
- }
8828
- try {
8829
- const latestBlockHash = await connection.getLatestBlockhash();
8830
- const signature = await sendTransaction(tx, connection);
8831
- setSignature(signature);
8832
- dispatch(setSolanaSignature(signature));
8833
- await connection.confirmTransaction({
8834
- blockhash: latestBlockHash.blockhash,
8835
- lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,
8836
- signature
8837
- });
8838
- handleSuccess();
8839
- } catch (error) {
8840
- const err = error;
8841
- dispatch(setError({
8842
- errorMessage: (err === null || err === void 0 ? void 0 : err.message) || ''
8843
- }));
8844
- }
8845
- }
8846
- sendTx();
8847
- }, [connection, dispatch, handleSuccess, sendTransaction, tx]);
8848
- return jsxRuntime.jsx(LoadingModal, {
8849
- title: "Transaction Pending",
8850
- description: "Waiting for confirmation...",
8851
- children: jsxRuntime.jsx(SolanaViewOnExplorer, {
8852
- chainId: chainId,
8853
- signature: signature
8854
- })
8855
- });
8856
- }
8857
-
8858
- function Transfer$4(_ref) {
8859
- let {
8860
- poolInfo,
8861
- selectedTranche
8862
- } = _ref;
8863
- const dispatch = useAppDispatch();
8864
- const {
8865
- publicKey
8866
- } = walletAdapterReact.useWallet();
8867
- const {
8868
- supplyAmount
8869
- } = useAppSelector(selectWidgetState);
8870
- const {
8871
- decimals
8872
- } = poolInfo.underlyingMint;
8873
- const supplyBigNumber = shared.SolanaTokenUtils.parseUnits(String(supplyAmount), decimals);
8874
- const [transaction, setTransaction] = React.useState();
8875
- const {
8876
- juniorLenderApprovedAccountPDA,
8877
- seniorLenderApprovedAccountPDA,
8878
- seniorLenderStateAccount,
8879
- juniorLenderStateAccount,
8880
- loading: isLoadingLenderAccounts
8881
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
8882
- const program = webShared.useHumaProgram(poolInfo.chainId);
8883
- const handleSuccess = React.useCallback(() => {
8884
- dispatch(setStep(WIDGET_STEP.Done));
8885
- }, [dispatch]);
8886
- React.useEffect(() => {
8887
- async function getTx() {
8888
- if (!publicKey || transaction || isLoadingLenderAccounts) {
8889
- return;
8890
- }
8891
- const tx = new web3_js.Transaction();
8892
- const {
8893
- underlyingTokenATA,
8894
- seniorTrancheATA,
8895
- juniorTrancheATA
8896
- } = shared.getTokenAccounts(poolInfo, publicKey);
8897
- if (selectedTranche === 'senior' && !seniorLenderStateAccount || selectedTranche === 'junior' && !juniorLenderStateAccount) {
8898
- const createLenderAccountsTx = await program.methods.createLenderAccounts().accountsPartial({
8899
- lender: publicKey,
8900
- humaConfig: poolInfo.humaConfig,
8901
- poolConfig: poolInfo.poolConfig,
8902
- approvedLender: selectedTranche === 'senior' ? seniorLenderApprovedAccountPDA : juniorLenderApprovedAccountPDA,
8903
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
8904
- lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
8905
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
8906
- }).transaction();
8907
- tx.add(createLenderAccountsTx);
8908
- }
8909
- const depositTx = await program.methods.deposit(supplyBigNumber).accountsPartial({
8910
- depositor: publicKey,
8911
- poolConfig: poolInfo.poolConfig,
8912
- underlyingMint: poolInfo.underlyingMint.address,
8913
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
8914
- poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
8915
- depositorUnderlyingToken: underlyingTokenATA,
8916
- depositorTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
8917
- humaConfig: poolInfo.humaConfig,
8918
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
8919
- }).transaction();
8920
- tx.add(depositTx);
8921
- setTransaction(tx);
8922
- }
8923
- getTx();
8924
- }, [isLoadingLenderAccounts, juniorLenderApprovedAccountPDA, juniorLenderStateAccount, poolInfo, program.methods, publicKey, selectedTranche, seniorLenderApprovedAccountPDA, seniorLenderStateAccount, supplyBigNumber, transaction]);
8925
- if (isLoadingLenderAccounts) {
8926
- return jsxRuntime.jsx(LoadingModal, {
8927
- title: "Supply"
8928
- });
8929
- }
8930
- return jsxRuntime.jsx(SolanaTxSendModal, {
8931
- tx: transaction,
8932
- chainId: poolInfo.chainId,
8933
- handleSuccess: handleSuccess
8934
- });
8935
- }
8936
-
8937
- var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4, _templateObject5, _templateObject6;
8938
- function SolanaTxDoneModal(_ref) {
8939
- let {
8940
- content,
8941
- subContent,
8942
- handleAction,
8943
- solanaSignature,
8944
- chainId,
8945
- buttonText
8946
- } = _ref;
8947
- const theme = material.useTheme();
8948
- const dispatch = useAppDispatch();
8949
- const styles = {
8950
- wrapper: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
8951
- header: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
8952
- content: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
8953
- subContent: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
8954
- check: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
8955
- bottomButtonGroup: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n display: flex;\n row-gap: ", ";\n column-gap: ", ";\n\n button {\n height: 40px;\n margin-top: ", ";\n }\n "])), theme.spacing(1), theme.spacing(1), theme.spacing(1))
8956
- };
8957
- const handleCloseModal = React.useCallback(() => {
8958
- dispatch(resetState());
8959
- handleAction();
8960
- }, [dispatch, handleAction]);
8961
- return jsxRuntime.jsxs(material.Box, {
8962
- css: styles.wrapper,
8963
- children: [jsxRuntime.jsx(material.Typography, {
8964
- variant: "h6",
8965
- css: styles.header,
8966
- children: "Transaction Completed"
8967
- }), jsxRuntime.jsx(material.Box, {
8968
- css: styles.check,
8969
- children: jsxRuntime.jsx(CheckIcon, {})
8970
- }), jsxRuntime.jsx(material.Box, {
8971
- css: styles.content,
8972
- children: content.map(item => jsxRuntime.jsx(material.Box, {
8973
- sx: {
8974
- marginTop: theme.spacing(1)
8975
- },
8976
- children: item
8977
- }, item))
8978
- }), subContent && jsxRuntime.jsx(material.Box, {
8979
- css: styles.subContent,
8980
- children: subContent.map(item => jsxRuntime.jsx(material.Box, {
8981
- sx: {
8982
- marginTop: theme.spacing(1)
8983
- },
8984
- children: item
8985
- }, item))
8986
- }), jsxRuntime.jsxs(material.Box, {
8987
- css: styles.bottomButtonGroup,
8988
- children: [solanaSignature && chainId && jsxRuntime.jsx(SolanaViewOnExplorer, {
8989
- signature: solanaSignature,
8990
- chainId: chainId
8991
- }), jsxRuntime.jsx(material.Button, {
8992
- className: "transaction-done-modal-close-btn",
8993
- variant: "contained",
8994
- fullWidth: true,
8995
- onClick: handleCloseModal,
8996
- children: !buttonText ? 'DONE' : buttonText
8997
- })]
8998
- })]
8999
- });
9000
- }
9001
-
9002
- function Success(_ref) {
9003
- let {
9004
- poolInfo,
9005
- poolState,
9006
- handleAction
9007
- } = _ref;
9008
- const {
9009
- supplyAmount,
9010
- solanaSignature
9011
- } = useAppSelector(selectWidgetState);
9012
- const {
9013
- symbol
9014
- } = poolInfo.underlyingMint;
9015
- const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
9016
- const getSubContent = () => {
9017
- var _poolState$withdrawal;
9018
- const lockupEndTime = dayjs__default["default"]().add((_poolState$withdrawal = poolState.withdrawalLockupPeriodDays) !== null && _poolState$withdrawal !== void 0 ? _poolState$withdrawal : 0, 'day').date(1);
9019
- const withdrawTime = lockupEndTime.add(1, 'month');
9020
- return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(lockupEndTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
9021
- };
9022
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9023
- handleAction: handleAction,
9024
- content: content,
9025
- subContent: getSubContent(),
9026
- chainId: poolInfo.chainId,
9027
- solanaSignature: solanaSignature,
9028
- buttonText: "DONE"
9029
- });
9030
- }
9031
-
9032
- function SolanaLendSupply(_ref) {
9033
- let {
9034
- poolInfo,
9035
- poolState,
9036
- handleClose,
9037
- handleSuccess
9038
- } = _ref;
9039
- const dispatch = reactRedux.useDispatch();
9040
- const {
9041
- isUniTranche
9042
- } = poolState;
9043
- const {
9044
- seniorLenderApproved,
9045
- juniorLenderApproved,
9046
- loading: isLoadingLenderAccounts,
9047
- refresh: refreshLenderAccounts
9048
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9049
- const [tokenAccount, isLoadingTokenAccount] = webShared.useTokenAccount(poolInfo);
9050
- const {
9051
- step,
9052
- errorMessage
9053
- } = useAppSelector(selectWidgetState);
9054
- const [selectedTranche, setSelectedTranche] = React.useState();
9055
- React.useEffect(() => {
9056
- if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccount) {
9057
- if (!juniorLenderApproved && !seniorLenderApproved) {
9058
- dispatch(setStep(WIDGET_STEP.Evaluation));
9059
- return;
9060
- }
9061
- if (juniorLenderApproved && !seniorLenderApproved) {
9062
- setSelectedTranche('junior');
9063
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9064
- return;
9065
- }
9066
- if (seniorLenderApproved && !juniorLenderApproved) {
9067
- setSelectedTranche('senior');
9068
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9069
- return;
9070
- }
9071
- if (juniorLenderApproved && seniorLenderApproved) {
9072
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
9073
- }
9074
- }
9075
- }, [dispatch, handleClose, poolInfo, step, isLoadingLenderAccounts, juniorLenderApproved, seniorLenderApproved, isLoadingTokenAccount]);
9076
- const handleApproveSuccess = React.useCallback(() => {
9077
- refreshLenderAccounts();
9078
- }, [refreshLenderAccounts]);
9079
- if (isLoadingLenderAccounts || isLoadingTokenAccount) {
9080
- return jsxRuntime.jsx(WidgetWrapper, {
9081
- isOpen: true,
9082
- isLoading: true,
9083
- loadingTitle: "Supply",
9084
- handleClose: handleClose,
9085
- handleSuccess: handleSuccess
9086
- });
9087
- }
9088
- return jsxRuntime.jsxs(WidgetWrapper, {
9089
- isOpen: true,
9090
- loadingTitle: "Supply ".concat(poolInfo.underlyingMint.symbol),
9091
- handleClose: handleClose,
9092
- handleSuccess: handleSuccess,
9093
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation, {
9094
- poolInfo: poolInfo,
9095
- isUniTranche: isUniTranche,
9096
- handleApproveSuccess: handleApproveSuccess
9097
- }), step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$2, {
9098
- poolUnderlyingToken: poolInfo.underlyingMint,
9099
- selectedTranche: selectedTranche,
9100
- changeTranche: setSelectedTranche
9101
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$3, {
9102
- poolInfo: poolInfo,
9103
- poolState: poolState,
9104
- tokenAccount: tokenAccount,
9105
- selectedTranche: selectedTranche,
9106
- isUniTranche: isUniTranche
9107
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$4, {
9108
- poolInfo: poolInfo,
9109
- selectedTranche: selectedTranche
9110
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
9111
- poolInfo: poolInfo,
9112
- poolState: poolState,
9113
- handleAction: handleClose
9114
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9115
- title: "Supply",
9116
- errorReason: "Sorry there was an error",
9117
- errorMessage: errorMessage,
9118
- handleOk: handleClose
9119
- })]
9120
- });
9121
- }
9122
-
9123
- function ChooseAmount$2(_ref) {
9124
- let {
9125
- poolInfo,
9126
- poolState,
9127
- selectedTranche,
9128
- lenderState
9129
- } = _ref;
9130
- const dispatch = useAppDispatch();
9131
- const {
9132
- symbol
9133
- } = poolInfo.underlyingMint;
9134
- const [currentAmount, setCurrentAmount] = React.useState(0);
9135
- const [currentShares, setCurrentShares] = React.useState(0);
9136
- const {
9137
- mintAccount,
9138
- loading: isLoadingTrancheMintAccounts
9139
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9140
- const {
9141
- seniorTokenAccount,
9142
- juniorTokenAccount,
9143
- loading: isLoadingTokenAccounts
9144
- } = webShared.useTrancheTokenAccounts(poolInfo);
9145
- const maxSharesFormatted = React.useMemo(() => {
9146
- var _seniorTokenAccount$a, _seniorTokenAccount$a2, _juniorTokenAccount$a, _juniorTokenAccount$a2;
9147
- if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals)) {
9148
- return 0;
9149
- }
9150
- return shared.SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new anchor.BN((_seniorTokenAccount$a = seniorTokenAccount === null || seniorTokenAccount === void 0 || (_seniorTokenAccount$a2 = seniorTokenAccount.amount) === null || _seniorTokenAccount$a2 === void 0 ? void 0 : _seniorTokenAccount$a2.toString()) !== null && _seniorTokenAccount$a !== void 0 ? _seniorTokenAccount$a : 0) : new anchor.BN((_juniorTokenAccount$a = juniorTokenAccount === null || juniorTokenAccount === void 0 || (_juniorTokenAccount$a2 = juniorTokenAccount.amount) === null || _juniorTokenAccount$a2 === void 0 ? void 0 : _juniorTokenAccount$a2.toString()) !== null && _juniorTokenAccount$a !== void 0 ? _juniorTokenAccount$a : 0), mintAccount.decimals);
9151
- }, [mintAccount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount]);
9152
- const sharePrice = React.useMemo(() => {
9153
- var _poolState$seniorTran, _poolState$juniorTran;
9154
- if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals) || !(mintAccount !== null && mintAccount !== void 0 && mintAccount.supply)) {
9155
- return 0;
9156
- }
9157
- const mintSupplyFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN(mintAccount.supply.toString()), mintAccount.decimals));
9158
- if (mintSupplyFormatted === 0) {
9159
- return 0;
9160
- }
9161
- const seniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN((_poolState$seniorTran = poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets) !== null && _poolState$seniorTran !== void 0 ? _poolState$seniorTran : 0), mintAccount.decimals));
9162
- if (selectedTranche === 'senior') {
9163
- return seniorTrancheAssetsFormatted / mintSupplyFormatted;
9164
- }
9165
- const juniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN((_poolState$juniorTran = poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets) !== null && _poolState$juniorTran !== void 0 ? _poolState$juniorTran : 0), mintAccount.decimals));
9166
- return juniorTrancheAssetsFormatted / mintSupplyFormatted;
9167
- }, [mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals, mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.supply, poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets, poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets, selectedTranche]);
9168
- React.useEffect(() => {
9169
- if (poolState !== null && poolState !== void 0 && poolState.withdrawalLockupPeriodDays && poolState !== null && poolState !== void 0 && poolState.epochEndTime && lenderState) {
9170
- const SECONDS_IN_A_DAY = 24 * 60 * 60;
9171
- const lastDepositTime = Number(lenderState.depositRecord.lastDepositTime);
9172
- const lockupEndTime = lastDepositTime + poolState.withdrawalLockupPeriodDays * SECONDS_IN_A_DAY;
9173
- if (poolState.epochEndTime < lockupEndTime) {
9174
- const lockupEndTimeDayjs = dayjs__default["default"].unix(lockupEndTime).date(1);
9175
- dispatch(setStep(WIDGET_STEP.Error));
9176
- dispatch(setError({
9177
- errorReason: 'Redemption too soon',
9178
- errorMessage: "Your last deposit was on ".concat(shared.timestampToLL(lastDepositTime), ". You can redeem on ").concat(shared.timestampToLL(lockupEndTimeDayjs.unix()), ".")
9179
- }));
9180
- }
9181
- }
9182
- }, [dispatch, lenderState, poolState.epochEndTime, poolState.withdrawalLockupPeriodDays]);
9183
- const handleChangeShares = newShares => {
9184
- const amount = Number(newShares) * sharePrice;
9185
- setCurrentShares(Number(newShares));
9186
- setCurrentAmount(amount);
9187
- dispatch(setRedeemShares(Number(newShares)));
9188
- dispatch(setRedeemAmount(amount));
9189
- };
9190
- const handleAction = () => {
9191
- dispatch(setStep(WIDGET_STEP.Transfer));
9192
- };
9193
- if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState || (poolState === null || poolState === void 0 ? void 0 : poolState.withdrawalLockupPeriodDays) === undefined ||
9194
- // withdrawalLockupPeriodDays can be 0
9195
- !(poolState !== null && poolState !== void 0 && poolState.epochEndTime)) {
9196
- return jsxRuntime.jsx(LoadingModal, {
9197
- title: "Redemption"
9198
- });
9199
- }
9200
- return jsxRuntime.jsx(InputAmountModal, {
9201
- title: "Redemption",
9202
- subTitle: "Enter number of shares to redeem from the ".concat(selectedTranche, " tranche"),
9203
- tokenSymbol: symbol,
9204
- currentAmount: currentShares,
9205
- handleChangeAmount: handleChangeShares,
9206
- maxAmount: maxSharesFormatted,
9207
- infos: ["".concat(String(shared.formatNumber(currentAmount)), " ").concat(symbol)],
9208
- maxAmountTitle: "".concat(shared.formatNumber(maxSharesFormatted), " Shares"),
9209
- suffix: "Shares",
9210
- handleAction: handleAction,
9211
- actionText: "REQUEST"
9212
- });
9213
- }
9214
-
9215
- var _templateObject$1, _templateObject2$1, _templateObject3$1;
9216
- function ChooseTranche$1(_ref) {
9217
- let {
9218
- selectedTranche,
9219
- changeTranche
9220
- } = _ref;
9221
- const theme = material.useTheme();
9222
- const dispatch = useAppDispatch();
9223
- const styles = {
9224
- subTitle: material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9225
- radioGroup: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9226
- formControl: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9227
- };
9228
- const handleNext = () => {
9229
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9230
- };
9231
- const items = [{
9232
- label: 'Senior',
9233
- value: 'senior'
9234
- }, {
9235
- label: 'Junior',
9236
- value: 'junior'
9237
- }];
9238
- return jsxRuntime.jsxs(WrapperModal, {
9239
- title: "Redemption",
9240
- children: [jsxRuntime.jsxs(material.FormControl, {
9241
- children: [jsxRuntime.jsx(material.FormLabel, {
9242
- css: styles.subTitle,
9243
- children: "Select Tranche Type"
9244
- }), jsxRuntime.jsx(material.RadioGroup, {
9245
- "aria-labelledby": "buttons-group-label",
9246
- name: "radio-buttons-group",
9247
- css: styles.radioGroup,
9248
- onChange: e => changeTranche(e.target.value),
9249
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9250
- value: item.value,
9251
- control: jsxRuntime.jsx(material.Radio, {
9252
- sx: {
9253
- '& .MuiSvgIcon-root': {
9254
- fontSize: 24
9255
- }
9256
- }
9257
- }),
9258
- label: item.label,
9259
- css: styles.formControl
9260
- }, item.label))
9261
- })]
9262
- }), jsxRuntime.jsx(BottomButton, {
9263
- variant: "contained",
9264
- disabled: !selectedTranche,
9265
- onClick: handleNext,
9266
- children: "NEXT"
9267
- })]
9268
- });
9269
- }
9270
-
9271
- function Done$3(_ref) {
9272
- let {
9273
- poolInfo,
9274
- handleAction
9275
- } = _ref;
9276
- const {
9277
- redeemShares,
9278
- solanaSignature
9279
- } = useAppSelector(selectWidgetState);
9280
- const content = ["".concat(shared.formatNumber(redeemShares), " shares requested for redemption")];
9281
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9282
- handleAction: handleAction,
9283
- content: content,
9284
- chainId: poolInfo.chainId,
9285
- solanaSignature: solanaSignature,
9286
- buttonText: "DONE"
9287
- });
9288
- }
9289
-
9290
- function Transfer$3(_ref) {
9291
- let {
9292
- poolInfo,
9293
- selectedTranche
9294
- } = _ref;
9295
- const dispatch = useAppDispatch();
9296
- const {
9297
- publicKey
9298
- } = walletAdapterReact.useWallet();
9299
- const {
9300
- redeemShares
9301
- } = useAppSelector(selectWidgetState);
9302
- const {
9303
- mintAccount
9304
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9305
- const [transaction, setTransaction] = React.useState();
9306
- const program = webShared.useHumaProgram(poolInfo.chainId);
9307
- const redeemBN = React.useMemo(() => {
9308
- if (!mintAccount) {
9309
- return null;
9310
- }
9311
- return shared.SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals);
9312
- }, [mintAccount, redeemShares]);
9313
- const handleSuccess = React.useCallback(() => {
9314
- dispatch(setStep(WIDGET_STEP.Done));
9315
- }, [dispatch]);
9316
- React.useEffect(() => {
9317
- async function getTx() {
9318
- if (!publicKey || !redeemBN || transaction) {
9319
- return;
9320
- }
9321
- const {
9322
- seniorTrancheATA,
9323
- juniorTrancheATA,
9324
- poolSeniorTrancheATA,
9325
- poolJuniorTrancheATA
9326
- } = shared.getTokenAccounts(poolInfo, publicKey);
9327
- const tx = await program.methods.addRedemptionRequest(redeemBN).accountsPartial({
9328
- lender: publicKey,
9329
- humaConfig: poolInfo.humaConfig,
9330
- poolConfig: poolInfo.poolConfig,
9331
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9332
- poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
9333
- lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9334
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9335
- }).transaction();
9336
- setTransaction(tx);
9337
- }
9338
- getTx();
9339
- }, [poolInfo, program.methods, publicKey, redeemBN, selectedTranche, transaction]);
9340
- return jsxRuntime.jsx(SolanaTxSendModal, {
9341
- tx: transaction,
9342
- chainId: poolInfo.chainId,
9343
- handleSuccess: handleSuccess
9344
- });
9345
- }
9346
-
9347
- function SolanaLendAddRedemption(_ref) {
9348
- let {
9349
- poolInfo,
9350
- poolState,
9351
- tranche,
9352
- handleClose,
9353
- handleSuccess
9354
- } = _ref;
9355
- const dispatch = reactRedux.useDispatch();
9356
- const {
9357
- seniorLenderStateAccount,
9358
- juniorLenderStateAccount,
9359
- loading: isLoadingLenderAccounts
9360
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9361
- const {
9362
- seniorTokenAccount,
9363
- juniorTokenAccount,
9364
- loading: isLoadingTokenAccounts
9365
- } = webShared.useTrancheTokenAccounts(poolInfo);
9366
- const {
9367
- step,
9368
- errorMessage
9369
- } = useAppSelector(selectWidgetState);
9370
- const [selectedTranche, setSelectedTranche] = React.useState(tranche);
9371
- React.useEffect(() => {
9372
- if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccounts) {
9373
- var _seniorTokenAccount$a, _seniorTokenAccount$a2, _juniorTokenAccount$a, _juniorTokenAccount$a2;
9374
- const seniorTrancheShares = new anchor.BN((_seniorTokenAccount$a = seniorTokenAccount === null || seniorTokenAccount === void 0 || (_seniorTokenAccount$a2 = seniorTokenAccount.amount) === null || _seniorTokenAccount$a2 === void 0 ? void 0 : _seniorTokenAccount$a2.toString()) !== null && _seniorTokenAccount$a !== void 0 ? _seniorTokenAccount$a : 0);
9375
- const juniorTrancheShares = new anchor.BN((_juniorTokenAccount$a = juniorTokenAccount === null || juniorTokenAccount === void 0 || (_juniorTokenAccount$a2 = juniorTokenAccount.amount) === null || _juniorTokenAccount$a2 === void 0 ? void 0 : _juniorTokenAccount$a2.toString()) !== null && _juniorTokenAccount$a !== void 0 ? _juniorTokenAccount$a : 0);
9376
- if (selectedTranche) {
9377
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9378
- return;
9379
- }
9380
- if (juniorTrancheShares.gtn(0) && seniorTrancheShares.lten(0)) {
9381
- setSelectedTranche('junior');
9382
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9383
- return;
9384
- }
9385
- if (seniorTrancheShares.gtn(0) && juniorTrancheShares.lten(0)) {
9386
- setSelectedTranche('senior');
9387
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9388
- return;
9389
- }
9390
- if (seniorTrancheShares.gtn(0) && juniorTrancheShares.gtn(0)) {
9391
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
9392
- }
9393
- }
9394
- }, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche]);
9395
- const title = 'Redemption';
9396
- if (isLoadingLenderAccounts || isLoadingTokenAccounts) {
9397
- return jsxRuntime.jsx(WidgetWrapper, {
9398
- isOpen: true,
9399
- isLoading: true,
9400
- loadingTitle: title,
9401
- handleClose: handleClose,
9402
- handleSuccess: handleSuccess
9403
- });
9404
- }
9405
- return jsxRuntime.jsxs(WidgetWrapper, {
9406
- isOpen: true,
9407
- loadingTitle: title,
9408
- handleClose: handleClose,
9409
- handleSuccess: handleSuccess,
9410
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
9411
- selectedTranche: selectedTranche,
9412
- changeTranche: setSelectedTranche
9413
- }), step === WIDGET_STEP.ChooseAmount && selectedTranche && jsxRuntime.jsx(ChooseAmount$2, {
9414
- poolInfo: poolInfo,
9415
- poolState: poolState,
9416
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9417
- selectedTranche: selectedTranche
9418
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$3, {
9419
- poolInfo: poolInfo,
9420
- selectedTranche: selectedTranche
9421
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$3, {
9422
- poolInfo: poolInfo,
9423
- handleAction: handleClose
9424
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9425
- title: title,
9426
- errorReason: "Sorry there was an error",
9427
- errorMessage: errorMessage,
9428
- handleOk: handleClose
9429
- })]
9430
- });
9431
- }
9432
-
9433
- function Transfer$2(_ref) {
9434
- let {
9435
- poolInfo,
9436
- lenderState,
9437
- lenderStatePDA,
9438
- selectedTranche
9439
- } = _ref;
9440
- const dispatch = useAppDispatch();
9441
- const {
9442
- publicKey
9443
- } = walletAdapterReact.useWallet();
9444
- const [transaction, setTransaction] = React.useState();
9445
- const program = webShared.useHumaProgram(poolInfo.chainId);
9446
- const handleSuccess = React.useCallback(() => {
9447
- dispatch(setStep(WIDGET_STEP.Done));
9448
- }, [dispatch]);
9449
- React.useEffect(() => {
9450
- async function getTx() {
9451
- if (!publicKey || !lenderState || !lenderStatePDA || transaction) {
9452
- return;
9453
- }
9454
- const {
9455
- seniorTrancheATA,
9456
- juniorTrancheATA,
9457
- poolSeniorTrancheATA,
9458
- poolJuniorTrancheATA
9459
- } = shared.getTokenAccounts(poolInfo, publicKey);
9460
- const tx = await program.methods.cancelRedemptionRequest(lenderState.redemptionRecord.numSharesRequested).accountsPartial({
9461
- lender: publicKey,
9462
- humaConfig: poolInfo.humaConfig,
9463
- poolConfig: poolInfo.poolConfig,
9464
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9465
- trancheState: selectedTranche === 'senior' ? poolInfo.seniorTrancheState : poolInfo.juniorTrancheState,
9466
- lenderState: lenderStatePDA,
9467
- poolAuthority: poolInfo.poolAuthority,
9468
- poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
9469
- lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9470
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9471
- }).transaction();
9472
- setTransaction(tx);
9473
- }
9474
- getTx();
9475
- }, [lenderState, lenderStatePDA, poolInfo, program.methods, publicKey, selectedTranche, transaction]);
9476
- return jsxRuntime.jsx(SolanaTxSendModal, {
9477
- tx: transaction,
9478
- chainId: poolInfo.chainId,
9479
- handleSuccess: handleSuccess
9480
- });
9481
- }
9482
-
9483
- var _templateObject, _templateObject2, _templateObject3;
9484
- function ChooseTranche(_ref) {
9485
- let {
9486
- selectedTranche,
9487
- changeTranche
9488
- } = _ref;
9489
- const theme = material.useTheme();
9490
- const dispatch = useAppDispatch();
9491
- const styles = {
9492
- subTitle: material.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9493
- radioGroup: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9494
- formControl: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9495
- };
9496
- const handleNext = () => {
9497
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9498
- };
9499
- const items = [{
9500
- label: 'Senior',
9501
- value: 'senior'
9502
- }, {
9503
- label: 'Junior',
9504
- value: 'junior'
9505
- }];
9506
- return jsxRuntime.jsxs(WrapperModal, {
9507
- title: "Cancel Redemption",
9508
- children: [jsxRuntime.jsxs(material.FormControl, {
9509
- children: [jsxRuntime.jsx(material.FormLabel, {
9510
- css: styles.subTitle,
9511
- children: "Select Tranche Type"
9512
- }), jsxRuntime.jsx(material.RadioGroup, {
9513
- "aria-labelledby": "buttons-group-label",
9514
- name: "radio-buttons-group",
9515
- css: styles.radioGroup,
9516
- onChange: e => changeTranche(e.target.value),
9517
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9518
- value: item.value,
9519
- control: jsxRuntime.jsx(material.Radio, {
9520
- sx: {
9521
- '& .MuiSvgIcon-root': {
9522
- fontSize: 24
9523
- }
9524
- }
9525
- }),
9526
- label: item.label,
9527
- css: styles.formControl
9528
- }, item.label))
9529
- })]
9530
- }), jsxRuntime.jsx(BottomButton, {
9531
- variant: "contained",
9532
- disabled: !selectedTranche,
9533
- onClick: handleNext,
9534
- children: "NEXT"
9535
- })]
9536
- });
9537
- }
9538
-
9539
- function Done$2(_ref) {
9540
- let {
9541
- poolInfo,
9542
- lenderState,
9543
- selectedTranche,
9544
- handleAction
9545
- } = _ref;
9546
- const {
9547
- mintAccount,
9548
- loading: isLoadingTrancheMintAccounts
9549
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9550
- const {
9551
- solanaSignature
9552
- } = useAppSelector(selectWidgetState);
9553
- const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : ["Your request to cancel the redemption of ".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(lenderState.redemptionRecord.numSharesRequested, mintAccount.decimals)), " shares has been successfully processed.")];
9554
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9555
- handleAction: handleAction,
9556
- content: content,
9557
- chainId: poolInfo.chainId,
9558
- solanaSignature: solanaSignature,
9559
- buttonText: "DONE"
9560
- });
9561
- }
9562
-
9563
- function SolanaLendCancelRedemption(_ref) {
9564
- let {
9565
- poolInfo,
9566
- tranche,
9567
- handleClose,
9568
- handleSuccess
9569
- } = _ref;
9570
- const dispatch = reactRedux.useDispatch();
9571
- const {
9572
- seniorLenderStateAccount,
9573
- juniorLenderStateAccount,
9574
- juniorLenderStateAccountPDA,
9575
- seniorLenderStateAccountPDA,
9576
- loading: isLoadingLenderAccounts
9577
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9578
- const {
9579
- step,
9580
- errorMessage
9581
- } = useAppSelector(selectWidgetState);
9582
- const [selectedTranche, setSelectedTranche] = React.useState(tranche);
9583
- React.useEffect(() => {
9584
- if (!step && !isLoadingLenderAccounts) {
9585
- var _seniorLenderStateAcc, _juniorLenderStateAcc;
9586
- const seniorTrancheSharesRequested = new anchor.BN((_seniorLenderStateAcc = seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested) !== null && _seniorLenderStateAcc !== void 0 ? _seniorLenderStateAcc : 0);
9587
- const juniorTrancheSharesRequested = new anchor.BN((_juniorLenderStateAcc = juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested) !== null && _juniorLenderStateAcc !== void 0 ? _juniorLenderStateAcc : 0);
9588
- if (selectedTranche) {
9589
- dispatch(setStep(WIDGET_STEP.Transfer));
9590
- return;
9591
- }
9592
- if (juniorTrancheSharesRequested.gtn(0) && seniorTrancheSharesRequested.lten(0)) {
9593
- setSelectedTranche('junior');
9594
- dispatch(setStep(WIDGET_STEP.Transfer));
9595
- return;
9596
- }
9597
- if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.lten(0)) {
9598
- setSelectedTranche('senior');
9599
- dispatch(setStep(WIDGET_STEP.Transfer));
9600
- return;
9601
- }
9602
- if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.gtn(0)) {
9603
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
9604
- }
9605
- }
9606
- }, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested, juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested, selectedTranche]);
9607
- const title = 'Cancel Redemption';
9608
- if (isLoadingLenderAccounts) {
9609
- return jsxRuntime.jsx(WidgetWrapper, {
9610
- isOpen: true,
9611
- isLoading: true,
9612
- loadingTitle: title,
9613
- handleClose: handleClose,
9614
- handleSuccess: handleSuccess
9615
- });
9616
- }
9617
- return jsxRuntime.jsxs(WidgetWrapper, {
9618
- isOpen: true,
9619
- loadingTitle: title,
9620
- handleClose: handleClose,
9621
- handleSuccess: handleSuccess,
9622
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
9623
- selectedTranche: selectedTranche,
9624
- changeTranche: setSelectedTranche
9625
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$2, {
9626
- poolInfo: poolInfo,
9627
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9628
- lenderStatePDA: selectedTranche === 'senior' ? seniorLenderStateAccountPDA : juniorLenderStateAccountPDA,
9629
- selectedTranche: selectedTranche
9630
- }), step === WIDGET_STEP.Done && selectedTranche && jsxRuntime.jsx(Done$2, {
9631
- poolInfo: poolInfo,
9632
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9633
- selectedTranche: selectedTranche,
9634
- handleAction: handleClose
9635
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9636
- title: title,
9637
- errorReason: "Sorry there was an error",
9638
- errorMessage: errorMessage,
9639
- handleOk: handleClose
9640
- })]
9641
- });
9642
- }
9643
-
9644
- function ChooseAmount$1(_ref) {
9645
- let {
9646
- poolInfo,
9647
- creditConfigAccount
9648
- } = _ref;
9649
- const dispatch = useAppDispatch();
9650
- const {
9651
- symbol,
9652
- decimals
9653
- } = poolInfo.underlyingMint;
9654
- const [currentAmount, setCurrentAmount] = React.useState(0);
9655
- const creditAvailable = React.useMemo(() => shared.SolanaTokenUtils.formatUnits(creditConfigAccount.creditAvailable, decimals), [creditConfigAccount.creditAvailable, decimals]);
9656
- const handleChangeAmount = newAmount => {
9657
- setCurrentAmount(newAmount);
9658
- };
9659
- const handleAction = React.useCallback(() => {
9660
- const borrowAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
9661
- dispatch(setBorrowInfo({
9662
- borrowAmount: currentAmount,
9663
- borrowAmountBN: JSON.parse(borrowAmountBN.toString()),
9664
- chargedFees: 0,
9665
- nextStep: WIDGET_STEP.Transfer
9666
- }));
9667
- }, [currentAmount, decimals, dispatch]);
9668
- return jsxRuntime.jsx(InputAmountModal, {
9669
- title: "Borrow",
9670
- subTitle: "Choose Amount",
9671
- tokenSymbol: symbol,
9672
- currentAmount: currentAmount,
9673
- handleChangeAmount: handleChangeAmount,
9674
- maxAmount: creditAvailable,
9675
- infos: ["".concat(String(shared.formatNumber(creditAvailable)), " ").concat(symbol, " Available")],
9676
- handleAction: handleAction,
9677
- actionText: "BORROW"
9678
- });
9679
- }
9680
-
9681
- function Transfer$1(_ref) {
9682
- let {
9683
- poolInfo
9684
- } = _ref;
9685
- const dispatch = useAppDispatch();
9686
- const {
9687
- wallet,
9688
- publicKey
9689
- } = walletAdapterReact.useWallet();
9690
- const sentinel = shared.getSentinelAddress(poolInfo.chainId);
9691
- const {
9692
- connection
9693
- } = walletAdapterReact.useConnection();
9694
- const [transaction, setTransaction] = React.useState();
9695
- const program = webShared.useHumaProgram(poolInfo.chainId);
9696
- const {
9697
- borrowAmountBN: borrowAmountBNJson
9698
- } = useAppSelector(selectWidgetState);
9699
- const handleSuccess = React.useCallback(() => {
9700
- dispatch(setStep(WIDGET_STEP.Done));
9701
- }, [dispatch]);
9702
- React.useEffect(() => {
9703
- async function getTx() {
9704
- var _borrowAmountBNJson$t, _tokenAccount$delegat;
9705
- if (!wallet || !publicKey || !connection) {
9706
- return;
9707
- }
9708
- const {
9709
- underlyingTokenATA
9710
- } = shared.getTokenAccounts(poolInfo, publicKey);
9711
- const tx = new web3_js.Transaction();
9712
-
9713
- // Create user token account if it doesn't exist
9714
- let tokenAccount;
9715
- try {
9716
- tokenAccount = await splToken.getAccount(connection, underlyingTokenATA, undefined, splToken.TOKEN_2022_PROGRAM_ID);
9717
- } catch (error) {
9718
- // TokenAccountNotFoundError can be possible if the associated address has already received some lamports,
9719
- // becoming a system account. Assuming program derived addressing is safe, this is the only case for the
9720
- // TokenInvalidAccountOwnerError in this code path.
9721
- if (error instanceof splToken.TokenAccountNotFoundError || error instanceof splToken.TokenInvalidAccountOwnerError) {
9722
- // As this isn't atomic, it's possible others can create associated accounts meanwhile.
9723
- tx.add(splToken.createAssociatedTokenAccountInstruction(publicKey, underlyingTokenATA, publicKey, new web3_js.PublicKey(poolInfo.underlyingMint.address), splToken.TOKEN_2022_PROGRAM_ID, splToken.ASSOCIATED_TOKEN_PROGRAM_ID));
9724
- }
9725
- }
9726
-
9727
- // Approve allowance to the sentinel if the account is new or delegated amount is not enough
9728
- const borrowAmountBN = new anchor.BN((_borrowAmountBNJson$t = borrowAmountBNJson === null || borrowAmountBNJson === void 0 ? void 0 : borrowAmountBNJson.toString()) !== null && _borrowAmountBNJson$t !== void 0 ? _borrowAmountBNJson$t : '0');
9729
- if (!tokenAccount || borrowAmountBN.gt(new anchor.BN(tokenAccount.delegatedAmount.toString())) || ((_tokenAccount$delegat = tokenAccount.delegate) === null || _tokenAccount$delegat === void 0 ? void 0 : _tokenAccount$delegat.toString()) !== sentinel) {
9730
- tx.add(splToken.createApproveCheckedInstruction(underlyingTokenATA, new web3_js.PublicKey(poolInfo.underlyingMint.address), new web3_js.PublicKey(sentinel),
9731
- // delegate
9732
- publicKey,
9733
- // owner of the wallet
9734
- BigInt(shared.SolanaTokenUtils.parseUnits('100000000000',
9735
- // 100 billion
9736
- poolInfo.underlyingMint.decimals).toString()),
9737
- // amount
9738
- poolInfo.underlyingMint.decimals, undefined,
9739
- // multiSigners
9740
- splToken.TOKEN_2022_PROGRAM_ID));
9741
- }
9742
- const {
9743
- creditConfigAccount,
9744
- creditStateAccount
9745
- } = shared.getCreditAccounts(poolInfo, publicKey);
9746
- // borrowAmountBNJson is stored as a raw number string in this flow
9747
- const programTx = await program.methods.drawdown(borrowAmountBN).accountsPartial({
9748
- borrower: publicKey,
9749
- humaConfig: poolInfo.humaConfig,
9750
- poolConfig: poolInfo.poolConfig,
9751
- poolState: poolInfo.poolState,
9752
- creditConfig: creditConfigAccount,
9753
- creditState: creditStateAccount,
9754
- poolAuthority: poolInfo.poolAuthority,
9755
- underlyingMint: poolInfo.underlyingMint.address,
9756
- poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
9757
- borrowerUnderlyingToken: underlyingTokenATA,
9758
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9759
- }).transaction();
9760
- tx.add(programTx);
9761
- setTransaction(tx);
9762
- }
9763
- getTx();
9764
- }, [borrowAmountBNJson, connection, dispatch, poolInfo, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, program.methods, publicKey, sentinel, wallet]);
9765
- return jsxRuntime.jsx(SolanaTxSendModal, {
9766
- tx: transaction,
9767
- chainId: poolInfo.chainId,
9768
- handleSuccess: handleSuccess
9769
- });
9770
- }
9771
-
9772
- function Done$1(_ref) {
9773
- let {
9774
- poolInfo,
9775
- poolState,
9776
- handleAction
9777
- } = _ref;
9778
- const {
9779
- borrowAmount,
9780
- solanaSignature
9781
- } = useAppSelector(selectWidgetState);
9782
- const {
9783
- symbol
9784
- } = poolInfo.underlyingMint;
9785
- const dueDate = shared.timeUtil.timestampToLL(poolState.epochEndTime);
9786
- const content = ["".concat(shared.formatNumber(borrowAmount), " ").concat(symbol, " is now in your wallet."), "Note: your first automatic payment will occur after ".concat(dueDate, ".")];
9787
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9788
- handleAction: handleAction,
9789
- content: content,
9790
- chainId: poolInfo.chainId,
9791
- solanaSignature: solanaSignature,
9792
- buttonText: "DONE"
9793
- });
9794
- }
9795
-
9796
- function SolanaBorrow(_ref) {
9797
- let {
9798
- poolInfo,
9799
- poolState,
9800
- handleClose,
9801
- handleSuccess
9802
- } = _ref;
9803
- const dispatch = reactRedux.useDispatch();
9804
- const {
9805
- creditConfigAccount,
9806
- loading: isLoadingBorrowerAccounts
9807
- } = webShared.useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
9808
- const {
9809
- step,
9810
- errorMessage
9811
- } = useAppSelector(selectWidgetState);
9812
- React.useEffect(() => {
9813
- if (!step) {
9814
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9815
- }
9816
- }, [dispatch, step]);
9817
- const title = 'Borrow';
9818
- if (isLoadingBorrowerAccounts) {
9819
- return jsxRuntime.jsx(WidgetWrapper, {
9820
- isOpen: true,
9821
- isLoading: true,
9822
- loadingTitle: title,
9823
- handleClose: handleClose,
9824
- handleSuccess: handleSuccess
9825
- });
9826
- }
9827
- return jsxRuntime.jsxs(WidgetWrapper, {
9828
- isOpen: true,
9829
- loadingTitle: title,
9830
- handleClose: handleClose,
9831
- handleSuccess: handleSuccess,
9832
- children: [step === WIDGET_STEP.ChooseAmount && creditConfigAccount && jsxRuntime.jsx(ChooseAmount$1, {
9833
- poolInfo: poolInfo,
9834
- creditConfigAccount: creditConfigAccount
9835
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$1, {
9836
- poolInfo: poolInfo
9837
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
9838
- poolInfo: poolInfo,
9839
- poolState: poolState,
9840
- handleAction: handleClose
9841
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9842
- title: title,
9843
- errorReason: "Sorry there was an error",
9844
- errorMessage: errorMessage,
9845
- handleOk: handleClose
9846
- })]
9847
- });
9848
- }
9849
-
9850
- function ChooseAmount(_ref) {
9851
- let {
9852
- poolInfo,
9853
- creditStateAccount
9854
- } = _ref;
9855
- const dispatch = useAppDispatch();
9856
- const {
9857
- symbol,
9858
- decimals
9859
- } = poolInfo.underlyingMint;
9860
- const [currentAmount, setCurrentAmount] = React.useState(0);
9861
- const totalDueAmount = React.useMemo(() => Number(shared.SolanaTokenUtils.formatUnits(creditStateAccount.creditRecord.totalDueAmount, decimals)), [creditStateAccount.creditRecord.totalDueAmount, decimals]);
9862
- const payoffAmount = React.useMemo(() => Number(shared.SolanaTokenUtils.formatUnits(creditStateAccount.creditRecord.payoffAmount, decimals)), [creditStateAccount.creditRecord.payoffAmount, decimals]);
9863
- React.useEffect(() => {
9864
- setCurrentAmount(totalDueAmount);
9865
- dispatch(setPaymentAmount({
9866
- paymentAmount: totalDueAmount
9867
- }));
9868
- }, [dispatch, totalDueAmount]);
9869
- const handleChangeAmount = newAmount => {
9870
- setCurrentAmount(newAmount);
9871
- dispatch(setPaymentAmount({
9872
- paymentAmount: newAmount
9873
- }));
9874
- };
9875
- const handleAction = React.useCallback(() => {
9876
- dispatch(setStep(WIDGET_STEP.Transfer));
9877
- }, [dispatch]);
9878
- return jsxRuntime.jsx(InputAmountModal, {
9879
- title: "Make Payment",
9880
- subTitle: "Choose Amount",
9881
- tokenSymbol: symbol,
9882
- currentAmount: currentAmount,
9883
- handleChangeAmount: handleChangeAmount,
9884
- maxAmount: payoffAmount,
9885
- maxAmountText: "Pay Off",
9886
- infos: ["".concat(shared.formatNumber(totalDueAmount.toFixed(0)), " Due")],
9887
- handleAction: handleAction,
9888
- actionText: "PAY"
9889
- });
9890
- }
9891
-
9892
- function Transfer(_ref) {
9893
- let {
9894
- poolInfo
9895
- } = _ref;
9896
- const dispatch = useAppDispatch();
9897
- const {
9898
- wallet,
9899
- publicKey
9900
- } = walletAdapterReact.useWallet();
9901
- const {
9902
- connection
9903
- } = walletAdapterReact.useConnection();
9904
- const [transaction, setTransaction] = React.useState();
9905
- const program = webShared.useHumaProgram(poolInfo.chainId);
9906
- const {
9907
- paymentAmount
9908
- } = useAppSelector(selectWidgetState);
9909
- const {
9910
- decimals
9911
- } = poolInfo.underlyingMint;
9912
- const handleSuccess = React.useCallback(() => {
9913
- dispatch(setStep(WIDGET_STEP.Done));
9914
- }, [dispatch]);
9915
- React.useEffect(() => {
9916
- async function getTx() {
9917
- if (!wallet || !publicKey || !connection || !paymentAmount) {
9918
- return;
9919
- }
9920
- const {
9921
- underlyingTokenATA
9922
- } = shared.getTokenAccounts(poolInfo, publicKey);
9923
- const {
9924
- creditConfigAccount,
9925
- creditStateAccount
9926
- } = shared.getCreditAccounts(poolInfo, publicKey);
9927
- const paymentAmountBN = shared.SolanaTokenUtils.parseUnits(paymentAmount.toString(), decimals);
9928
- const tx = await program.methods.makePayment(paymentAmountBN).accountsPartial({
9929
- signer: publicKey,
9930
- humaConfig: poolInfo.humaConfig,
9931
- poolConfig: poolInfo.poolConfig,
9932
- poolState: poolInfo.poolState,
9933
- creditConfig: creditConfigAccount,
9934
- creditState: creditStateAccount,
9935
- poolAuthority: poolInfo.poolAuthority,
9936
- underlyingMint: poolInfo.underlyingMint.address,
9937
- poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
9938
- borrowerUnderlyingToken: underlyingTokenATA,
9939
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9940
- }).transaction();
9941
- setTransaction(tx);
9942
- }
9943
- getTx();
9944
- }, [connection, decimals, dispatch, paymentAmount, poolInfo, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, program.methods, publicKey, wallet]);
9945
- return jsxRuntime.jsx(SolanaTxSendModal, {
9946
- tx: transaction,
9947
- chainId: poolInfo.chainId,
9948
- handleSuccess: handleSuccess
9949
- });
9950
- }
9951
-
9952
- function Done(_ref) {
9953
- let {
9954
- poolInfo,
9955
- handleAction
9956
- } = _ref;
9957
- const {
9958
- solanaSignature
9959
- } = useAppSelector(selectWidgetState);
9960
- const {
9961
- symbol
9962
- } = poolInfo.underlyingMint;
9963
- const {
9964
- connection
9965
- } = walletAdapterReact.useConnection();
9966
- const [tokensPaid, setTokensPaid] = React.useState(null);
9967
- React.useEffect(() => {
9968
- const fetchTokensPaid = async () => {
9969
- var _txData$meta, _txData$meta2;
9970
- if (!solanaSignature) {
9971
- return;
9972
- }
9973
- const txData = await connection.getTransaction(solanaSignature, {
9974
- maxSupportedTransactionVersion: 2
9975
- });
9976
- const preTokenBalance = txData === null || txData === void 0 || (_txData$meta = txData.meta) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta.preTokenBalances) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta[1]) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta.uiTokenAmount) === null || _txData$meta === void 0 ? void 0 : _txData$meta.uiAmount;
9977
- const postTokenBalance = txData === null || txData === void 0 || (_txData$meta2 = txData.meta) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2.postTokenBalances) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2[1]) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2.uiTokenAmount) === null || _txData$meta2 === void 0 ? void 0 : _txData$meta2.uiAmount;
9978
- if (preTokenBalance && postTokenBalance) {
9979
- setTokensPaid(preTokenBalance - postTokenBalance);
9980
- }
9981
- };
9982
- fetchTokensPaid();
9983
- }, [connection, solanaSignature]);
9984
- const content = React.useMemo(() => {
9985
- if (tokensPaid !== null) {
9986
- return ["You successfully paid ".concat(shared.formatNumber(tokensPaid), " ").concat(symbol, ".")];
9987
- }
9988
- return ['Your payment to the pool was successful'];
9989
- }, [tokensPaid, symbol]);
9990
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9991
- handleAction: handleAction,
9992
- content: content,
9993
- chainId: poolInfo.chainId,
9994
- solanaSignature: solanaSignature,
9995
- buttonText: "DONE"
9996
- });
9997
- }
9998
-
9999
- function SolanaPayment(_ref) {
10000
- let {
10001
- poolInfo,
10002
- handleClose,
10003
- handleSuccess
10004
- } = _ref;
10005
- const dispatch = reactRedux.useDispatch();
10006
- const {
10007
- creditStateAccount,
10008
- loading: isLoadingBorrowerAccounts
10009
- } = webShared.useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
10010
- const {
10011
- step,
10012
- errorMessage
10013
- } = useAppSelector(selectWidgetState);
10014
- React.useEffect(() => {
10015
- if (!step) {
10016
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
10017
- }
10018
- }, [dispatch, step]);
10019
- const title = 'Make Payment';
10020
- if (isLoadingBorrowerAccounts) {
10021
- return jsxRuntime.jsx(WidgetWrapper, {
10022
- isOpen: true,
10023
- isLoading: true,
10024
- loadingTitle: title,
10025
- handleClose: handleClose,
10026
- handleSuccess: handleSuccess
10027
- });
10028
- }
10029
- return jsxRuntime.jsxs(WidgetWrapper, {
10030
- isOpen: true,
10031
- loadingTitle: title,
10032
- handleClose: handleClose,
10033
- handleSuccess: handleSuccess,
10034
- children: [step === WIDGET_STEP.ChooseAmount && creditStateAccount && jsxRuntime.jsx(ChooseAmount, {
10035
- poolInfo: poolInfo,
10036
- creditStateAccount: creditStateAccount
10037
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer, {
10038
- poolInfo: poolInfo
10039
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done, {
10040
- poolInfo: poolInfo,
10041
- handleAction: handleClose
10042
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
10043
- title: title,
10044
- errorReason: "Sorry there was an error",
10045
- errorMessage: errorMessage,
10046
- handleOk: handleClose
10047
- })]
10048
- });
10049
- }
10050
-
10051
- function NotifiContextWrapper(_ref) {
10052
- let {
10053
- chainId,
10054
- children
10055
- } = _ref;
10056
- const {
10057
- account,
10058
- provider
10059
- } = core.useWeb3React();
10060
- const signer = React.useMemo(() => {
10061
- if (provider instanceof ethers.providers.JsonRpcProvider) {
10062
- return provider.getSigner();
10063
- }
10064
- return undefined;
10065
- }, [provider]);
10066
- if (account == null || signer == null || chainId == null) {
10067
- return null;
10068
- }
10069
- let cardId = '';
10070
- if (chainId === shared.ChainEnum.Celo || chainId === shared.ChainEnum.Alfajores) {
10071
- var _process$env$REACT_AP;
10072
- cardId = (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID_CELO) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '';
10073
- } else if (chainId === shared.ChainEnum.Polygon || chainId === shared.ChainEnum.Amoy) {
10074
- var _process$env$REACT_AP2;
10075
- cardId = (_process$env$REACT_AP2 = process.env.REACT_APP_NOTIFI_CONFIG_ID_POLYGON) !== null && _process$env$REACT_AP2 !== void 0 ? _process$env$REACT_AP2 : '';
10076
- } else if (chainId === shared.ChainEnum.Scroll || chainId === shared.ChainEnum.ScrollSepolia) {
10077
- var _process$env$REACT_AP3;
10078
- cardId = (_process$env$REACT_AP3 = process.env.REACT_APP_NOTIFI_CONFIG_ID_SCROLL) !== null && _process$env$REACT_AP3 !== void 0 ? _process$env$REACT_AP3 : '';
10079
- }
10080
- return jsxRuntime.jsx(notifiReact.NotifiContextProvider, {
10081
- tenantId: "humafinanceprod",
10082
- env: "Production",
10083
- signMessage: async message => {
10084
- const result = await signer.signMessage(message);
10085
- return bytes.arrayify(result);
10086
- },
10087
- walletPublicKey: account,
10088
- walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
10089
- cardId: cardId,
10090
- children: children
8579
+ let cardId = '';
8580
+ if (chainId === shared.ChainEnum.Celo || chainId === shared.ChainEnum.Alfajores) {
8581
+ var _process$env$REACT_AP;
8582
+ cardId = (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID_CELO) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '';
8583
+ } else if (chainId === shared.ChainEnum.Polygon || chainId === shared.ChainEnum.Amoy) {
8584
+ var _process$env$REACT_AP2;
8585
+ cardId = (_process$env$REACT_AP2 = process.env.REACT_APP_NOTIFI_CONFIG_ID_POLYGON) !== null && _process$env$REACT_AP2 !== void 0 ? _process$env$REACT_AP2 : '';
8586
+ } else if (chainId === shared.ChainEnum.Scroll || chainId === shared.ChainEnum.ScrollSepolia) {
8587
+ var _process$env$REACT_AP3;
8588
+ cardId = (_process$env$REACT_AP3 = process.env.REACT_APP_NOTIFI_CONFIG_ID_SCROLL) !== null && _process$env$REACT_AP3 !== void 0 ? _process$env$REACT_AP3 : '';
8589
+ }
8590
+ return jsxRuntime.jsx(notifiReact.NotifiContextProvider, {
8591
+ tenantId: "humafinanceprod",
8592
+ env: "Production",
8593
+ signMessage: async message => {
8594
+ const result = await signer.signMessage(message);
8595
+ return bytes.arrayify(result);
8596
+ },
8597
+ walletPublicKey: account,
8598
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
8599
+ cardId: cardId,
8600
+ children: children
10091
8601
  });
10092
8602
  }
10093
8603
 
@@ -10514,119 +9024,6 @@ function ReceivableBackedCreditLinePaymentWidgetV2(props) {
10514
9024
  });
10515
9025
  }
10516
9026
 
10517
- /**
10518
- * Object representing the props passed to Solana widgets
10519
- * @typedef {Object} SolanaWidgetProps
10520
- */
10521
-
10522
- function SolanaWidget(props) {
10523
- const {
10524
- children
10525
- } = props;
10526
- return jsxRuntime.jsx(material.ThemeProvider, {
10527
- theme: themeHuma,
10528
- children: jsxRuntime.jsx(reactRedux.Provider, {
10529
- store: store,
10530
- children: children
10531
- })
10532
- });
10533
- }
10534
-
10535
- /**
10536
- * Lend pool supply widget props for Solana pools
10537
- * @typedef {Object} SolanaLendSupplyWidgetProps
10538
- */
10539
-
10540
- /**
10541
- * Lend pool supply widget for Solana pools
10542
- *
10543
- * @param {SolanaLendSupplyWidgetProps} props - Widget props
10544
- */
10545
- function SolanaLendSupplyWidget(props) {
10546
- return jsxRuntime.jsx(SolanaWidget, {
10547
- ...props,
10548
- children: jsxRuntime.jsx(SolanaLendSupply, {
10549
- ...props
10550
- })
10551
- });
10552
- }
10553
-
10554
- /**
10555
- * Lend pool supply widget props for Solana pools
10556
- * @typedef {Object} SolanaLendAddRedemptionWidgetProps
10557
- */
10558
-
10559
- /**
10560
- * Lend pool supply widget for Solana pools
10561
- *
10562
- * @param {SolanaLendAddRedemptionWidgetProps} props - Widget props
10563
- */
10564
- function SolanaLendAddRedemptionWidget(props) {
10565
- return jsxRuntime.jsx(SolanaWidget, {
10566
- ...props,
10567
- children: jsxRuntime.jsx(SolanaLendAddRedemption, {
10568
- ...props
10569
- })
10570
- });
10571
- }
10572
-
10573
- /**
10574
- * Lend pool supply widget props for Solana pools
10575
- * @typedef {Object} SolanaLendCancelRedemptionWidgetProps
10576
- */
10577
-
10578
- /**
10579
- * Lend pool supply widget for Solana pools
10580
- *
10581
- * @param {SolanaLendCancelRedemptionWidgetProps} props - Widget props
10582
- */
10583
- function SolanaLendCancelRedemptionWidget(props) {
10584
- return jsxRuntime.jsx(SolanaWidget, {
10585
- ...props,
10586
- children: jsxRuntime.jsx(SolanaLendCancelRedemption, {
10587
- ...props
10588
- })
10589
- });
10590
- }
10591
-
10592
- /**
10593
- * Lend pool supply widget props for Solana pools
10594
- * @typedef {Object} SolanaBorrowWidgetProps
10595
- */
10596
-
10597
- /**
10598
- * Lend pool supply widget for Solana pools
10599
- *
10600
- * @param {SolanaBorrowWidgetProps} props - Widget props
10601
- */
10602
- function SolanaBorrowWidget(props) {
10603
- return jsxRuntime.jsx(SolanaWidget, {
10604
- ...props,
10605
- children: jsxRuntime.jsx(SolanaBorrow, {
10606
- ...props
10607
- })
10608
- });
10609
- }
10610
-
10611
- /**
10612
- * Lend pool supply widget props for Solana pools
10613
- * @typedef {Object} SolanaPaymentWidgetProps
10614
- */
10615
-
10616
- /**
10617
- * Lend pool supply widget for Solana pools
10618
- *
10619
- * @param {SolanaPaymentWidgetProps} props - Widget props
10620
- */
10621
- function SolanaPaymentWidget(props) {
10622
- return jsxRuntime.jsx(SolanaWidget, {
10623
- ...props,
10624
- children: jsxRuntime.jsx(SolanaPayment, {
10625
- ...props
10626
- })
10627
- });
10628
- }
10629
-
10630
9027
  exports.AddRedemptionWidgetV2 = AddRedemptionWidgetV2;
10631
9028
  exports.AutoPaybackWidgetV2 = AutoPaybackWidgetV2;
10632
9029
  exports.CancelRedemptionWidgetV2 = CancelRedemptionWidgetV2;
@@ -10644,11 +9041,6 @@ exports.LendWithdrawWidgetV2 = LendWithdrawWidgetV2;
10644
9041
  exports.NotifiContextWrapper = NotifiContextWrapper;
10645
9042
  exports.ReceivableBackedCreditLineBorrowWidgetV2 = ReceivableBackedCreditLineBorrowWidgetV2;
10646
9043
  exports.ReceivableBackedCreditLinePaymentWidgetV2 = ReceivableBackedCreditLinePaymentWidgetV2;
10647
- exports.SolanaBorrowWidget = SolanaBorrowWidget;
10648
- exports.SolanaLendAddRedemptionWidget = SolanaLendAddRedemptionWidget;
10649
- exports.SolanaLendCancelRedemptionWidget = SolanaLendCancelRedemptionWidget;
10650
- exports.SolanaLendSupplyWidget = SolanaLendSupplyWidget;
10651
- exports.SolanaPaymentWidget = SolanaPaymentWidget;
10652
9044
  exports.SuperfluidFactoringWidget = SuperfluidFactoringWidget;
10653
9045
  exports.SupplyFirstLossCoverWidget = SupplyFirstLossCoverWidget;
10654
9046
  //# sourceMappingURL=index.cjs.map