@huma-finance/widgets 0.0.30 → 0.0.32

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 (27) hide show
  1. package/dist/cjs/index.cjs +911 -179
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/index.js +913 -182
  4. package/dist/index.js.map +1 -1
  5. package/package.json +5 -4
  6. package/src/components/ChooseAmountModal.tsx +322 -322
  7. package/src/components/CreditLine/borrow/5-Success.tsx +9 -1
  8. package/src/components/CreditLine/borrow/6-Notifications.tsx +10 -0
  9. package/src/components/CreditLine/borrow/index.tsx +21 -2
  10. package/src/components/Factoring/UpcomingList.tsx +1 -1
  11. package/src/components/HumaSnackBar.tsx +60 -0
  12. package/src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx +86 -0
  13. package/src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx +287 -0
  14. package/src/components/Lend/supply/1-Evaluation/index.tsx +31 -0
  15. package/src/components/Lend/supply/2-ChooseAmount.tsx +0 -1
  16. package/src/components/Lend/supply/{7-Success.tsx → 5-Success.tsx} +13 -2
  17. package/src/components/Lend/supply/6-Notifications.tsx +10 -0
  18. package/src/components/Lend/supply/index.tsx +29 -6
  19. package/src/components/Notifi/NotifiSubscriptionModal.tsx +264 -0
  20. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  21. package/src/components/TxDoneModal.tsx +3 -1
  22. package/src/cosmos/SDKTesting.fixture.tsx +616 -615
  23. package/src/hooks/useNotifi.ts +71 -0
  24. package/src/store/widgets.store.ts +1 -0
  25. package/src/components/Lend/supply/1-Evaluation.tsx +0 -171
  26. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +0 -104
  27. /package/src/components/Lend/supply/{6-Transfer.tsx → 4-Transfer.tsx} +0 -0
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { txAtom, useMQ, sendTxAtom, isTxFailed, EARejectionError, EARejectMessage, EARejectReason, EAService, useCLFeeManager, upScale, CHAINS, openInNewTab, usePoolUnderlyingTokenContract, TxStateType, useMount, usePoolContract, useCLPoolAllowance, toBigNumber, timeUtil, POOL_NAME, POOL_TYPE, usePoolInfo, useAccountStats, CreditState, decodeLogs, downScale, formatMoney, useFeeManager, combineStyles, isEmpty, useInvoiceNFTContract, useRFPoolAllowance, IdentityService, usePoolAllowance, useLenderApproved, useLenderPosition, useWithdrawlLockoutInSeconds, usePoolUnderlyingTokenBalance, useLastDepositTime, CreditEventText, useERC2612Permit, useMultiSendContract, usePoolUnderlyingToken, hasRFActiveLoan, timestampToLL, getWalletAddressAbbr, useFactoring, PoolMap, PoolSubgraphMap, CreditEvent, supportedChainId, Provider as Provider$1 } from '@huma-finance/shared';
2
- import { useTheme, css, Box, Typography, Tooltip, Button, Dialog, Slider, Input, Divider, TablePagination, LinearProgress, createTheme, ThemeProvider } from '@mui/material';
1
+ import { txAtom, useMQ, sendTxAtom, isTxFailed, EARejectionError, EARejectMessage, EARejectReason, EAService, useCLFeeManager, upScale, CHAINS, openInNewTab, usePoolUnderlyingTokenContract, TxStateType, useMount, usePoolContract, useCLPoolAllowance, toBigNumber, timeUtil, getBlockchainConfigFromChain, doesChainSupportNotifi, POOL_NAME, POOL_TYPE, usePoolInfo, useAccountStats, CreditState, decodeLogs, downScale, formatMoney, useFeeManager, combineStyles, isEmpty, useInvoiceNFTContract, useRFPoolAllowance, IdentityService, configUtil, usePoolAllowance, useLenderApproved, useLenderPosition, useWithdrawlLockoutInSeconds, usePoolUnderlyingTokenBalance, useLastDepositTime, CreditEventText, useERC2612Permit, useMultiSendContract, usePoolUnderlyingToken, hasRFActiveLoan, timestampToLL, getWalletAddressAbbr, useFactoring, PoolMap, PoolSubgraphMap, CreditEvent, supportedChainId, Provider as Provider$1 } from '@huma-finance/shared';
2
+ import { useTheme, css, Box, Typography, Tooltip, Button, Dialog, Slider, Input, Divider, InputAdornment, Snackbar, Alert, TablePagination, LinearProgress, createTheme, ThemeProvider } from '@mui/material';
3
3
  import { useAtom, Provider as Provider$2 } from 'jotai';
4
4
  import * as React from 'react';
5
- import React__default, { useCallback, useState, useEffect } from 'react';
5
+ import React__default, { useCallback, useState, useEffect, useMemo } from 'react';
6
6
  import { useSelector, useDispatch, Provider } from 'react-redux';
7
7
  import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
8
8
  import { useResetAtom } from 'jotai/utils';
@@ -15,6 +15,9 @@ import { useWeb3React } from '@web3-react/core';
15
15
  import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
16
16
  import ArrowDropUpIcon from '@mui/icons-material/ArrowDropUp';
17
17
  import { MaxUint256 } from '@ethersproject/constants';
18
+ import { newFrontendClient } from '@notifi-network/notifi-frontend-client';
19
+ import { ethers, Contract } from 'ethers';
20
+ import Email from '@mui/icons-material/Email';
18
21
  import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
19
22
  import { gql, useQuery, ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
20
23
  import Table from '@mui/material/Table';
@@ -23,7 +26,6 @@ import TableCell from '@mui/material/TableCell';
23
26
  import TableContainer from '@mui/material/TableContainer';
24
27
  import TableHead from '@mui/material/TableHead';
25
28
  import TableRow from '@mui/material/TableRow';
26
- import { Contract, ethers } from 'ethers';
27
29
 
28
30
  function _typeof$1(obj) {
29
31
  "@babel/helpers - typeof";
@@ -129,19 +131,19 @@ function _iterableToArrayLimit(arr, i) {
129
131
  }
130
132
  }
131
133
 
132
- function _arrayLikeToArray(arr, len) {
134
+ function _arrayLikeToArray$1(arr, len) {
133
135
  if (len == null || len > arr.length) len = arr.length;
134
136
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
135
137
  return arr2;
136
138
  }
137
139
 
138
- function _unsupportedIterableToArray(o, minLen) {
140
+ function _unsupportedIterableToArray$1(o, minLen) {
139
141
  if (!o) return;
140
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
142
+ if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
141
143
  var n = Object.prototype.toString.call(o).slice(8, -1);
142
144
  if (n === "Object" && o.constructor) n = o.constructor.name;
143
145
  if (n === "Map" || n === "Set") return Array.from(o);
144
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
146
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
145
147
  }
146
148
 
147
149
  function _nonIterableRest() {
@@ -149,7 +151,7 @@ function _nonIterableRest() {
149
151
  }
150
152
 
151
153
  function _slicedToArray(arr, i) {
152
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
154
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
153
155
  }
154
156
 
155
157
  var regeneratorRuntimeExports = {};
@@ -528,14 +530,15 @@ var WIDGET_STEP = /*#__PURE__*/function (WIDGET_STEP) {
528
530
  WIDGET_STEP["ApproveNFT"] = "ApproveNFT";
529
531
  WIDGET_STEP["Transfer"] = "Transfer";
530
532
  WIDGET_STEP["CheckWithdrawable"] = "CheckWithdrawable";
533
+ WIDGET_STEP["Notifications"] = "Notifications";
531
534
  WIDGET_STEP["Done"] = "Done";
532
535
  WIDGET_STEP["Error"] = "Error";
533
536
  return WIDGET_STEP;
534
537
  }({});
535
538
  var initialWidgetState = {};
536
539
 
537
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
538
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
540
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
541
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
539
542
  var widgetSlice = createSlice({
540
543
  name: 'widget',
541
544
  initialState: initialWidgetState,
@@ -602,7 +605,7 @@ var widgetSlice = createSlice({
602
605
  var _state$stream;
603
606
  var payload = _ref8.payload;
604
607
  var stream = (_state$stream = state.stream) !== null && _state$stream !== void 0 ? _state$stream : {};
605
- state.stream = _objectSpread$4(_objectSpread$4({}, stream), payload);
608
+ state.stream = _objectSpread$5(_objectSpread$5({}, stream), payload);
606
609
  },
607
610
  setMultisend: function setMultisend(state, _ref9) {
608
611
  var payload = _ref9.payload;
@@ -1864,37 +1867,37 @@ var SvgUsdc = function SvgUsdc(props) {
1864
1867
  })));
1865
1868
  };
1866
1869
 
1867
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1868
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1870
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1871
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1869
1872
  function ReceiptIcon(props) {
1870
- return jsx(SvgReceipt, _objectSpread$3({}, props));
1873
+ return jsx(SvgReceipt, _objectSpread$4({}, props));
1871
1874
  }
1872
1875
  function SeparatorIcon(props) {
1873
- return jsx(SvgSeparator, _objectSpread$3({}, props));
1876
+ return jsx(SvgSeparator, _objectSpread$4({}, props));
1874
1877
  }
1875
1878
  function LoaderIcon(props) {
1876
- return jsx(SvgLoader, _objectSpread$3({}, props));
1879
+ return jsx(SvgLoader, _objectSpread$4({}, props));
1877
1880
  }
1878
1881
  function SorryIcon(props) {
1879
- return jsx(SvgSorry, _objectSpread$3({}, props));
1882
+ return jsx(SvgSorry, _objectSpread$4({}, props));
1880
1883
  }
1881
1884
  function CheckIcon(props) {
1882
- return jsx(SvgCheck, _objectSpread$3({}, props));
1885
+ return jsx(SvgCheck, _objectSpread$4({}, props));
1883
1886
  }
1884
1887
  function CheckGreenIcon(props) {
1885
- return jsx(SvgCheckGreen, _objectSpread$3({}, props));
1888
+ return jsx(SvgCheckGreen, _objectSpread$4({}, props));
1886
1889
  }
1887
1890
  function CheckCircleIcon(props) {
1888
- return jsx(SvgCheckCircle, _objectSpread$3({}, props));
1891
+ return jsx(SvgCheckCircle, _objectSpread$4({}, props));
1889
1892
  }
1890
1893
  function AutoPaybackIcon(props) {
1891
- return jsx(SvgAutoPayback, _objectSpread$3({}, props));
1894
+ return jsx(SvgAutoPayback, _objectSpread$4({}, props));
1892
1895
  }
1893
1896
  function ApproveLenderIcon(props) {
1894
- return jsx(SvgApproveLender, _objectSpread$3({}, props));
1897
+ return jsx(SvgApproveLender, _objectSpread$4({}, props));
1895
1898
  }
1896
1899
  function UsdcIcon(props) {
1897
- return jsx(SvgUsdc, _objectSpread$3({}, props));
1900
+ return jsx(SvgUsdc, _objectSpread$4({}, props));
1898
1901
  }
1899
1902
  function getIcon(icon) {
1900
1903
  if (icon === 'USDC') {
@@ -1903,7 +1906,7 @@ function getIcon(icon) {
1903
1906
  return null;
1904
1907
  }
1905
1908
 
1906
- var _templateObject$f, _templateObject2$c, _templateObject3$8, _templateObject4$8, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$2;
1909
+ var _templateObject$h, _templateObject2$e, _templateObject3$9, _templateObject4$9, _templateObject5$5, _templateObject6$3, _templateObject7$3, _templateObject8$2;
1907
1910
  function ErrorModal(_ref) {
1908
1911
  var title = _ref.title,
1909
1912
  errorReason = _ref.errorReason,
@@ -1920,11 +1923,11 @@ function ErrorModal(_ref) {
1920
1923
  errorReason = 'Oops! Something went wrong';
1921
1924
  }
1922
1925
  var styles = {
1923
- wrapper: css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1924
- header: css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
1925
- sorry: css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 67px;\n "])), theme.cssMixins.rowHCentered),
1926
- content: css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: 16px 0;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #d32f2f;\n border-radius: 4px;\n position: relative;\n margin-top: 30px;\n height: 79px;\n "]))),
1927
- errorIcon: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: #d32f2f;\n margin: 0 15px;\n "]))),
1926
+ wrapper: css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1927
+ header: css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
1928
+ sorry: css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 67px;\n "])), theme.cssMixins.rowHCentered),
1929
+ content: css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: 16px 0;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #d32f2f;\n border-radius: 4px;\n position: relative;\n margin-top: 30px;\n height: 79px;\n "]))),
1930
+ errorIcon: css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: #d32f2f;\n margin: 0 15px;\n "]))),
1928
1931
  messageWrapper: css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n color: #541313;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding-left: 50px;\n "]))),
1929
1932
  errorMessage: css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n margin-top: 4px;\n font-size: 14px;\n font-family: 'Uni-Neue-Regular';\n color: #541313;\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: 20px;\n "]))),
1930
1933
  okButton: css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
@@ -2234,15 +2237,15 @@ var selectWidgetState = function selectWidgetState(state) {
2234
2237
  return state.widget;
2235
2238
  };
2236
2239
 
2237
- function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2238
- var _ref = process.env.NODE_ENV === "production" ? {
2240
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2241
+ var _ref$1 = process.env.NODE_ENV === "production" ? {
2239
2242
  name: "xtf9sm",
2240
2243
  styles: "&>path{visibility:hidden;}"
2241
2244
  } : {
2242
2245
  name: "6g8s2s-icon",
2243
2246
  styles: "&>path{visibility:hidden;};label:icon;",
2244
2247
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFMb2FkaW5nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1RGEiLCJmaWxlIjoiSHVtYUxvYWRpbmcudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcclxuXHJcbmltcG9ydCB7IExvYWRlckljb24gfSBmcm9tICcuL2ljb25zJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBmdWxsU2NyZWVuPzogYm9vbGVhblxyXG4gIG1pbkhlaWdodD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSHVtYUxvYWRpbmcoe1xyXG4gIGZ1bGxTY3JlZW4gPSBmYWxzZSxcclxuICBtaW5IZWlnaHQgPSAnMHB4JyxcclxufTogUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xyXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKVxyXG4gIGNvbnN0IHBhdGhMZW5ndGggPSA0NVxyXG4gIGNvbnN0IFtjb3VudCwgc2V0Q291bnRdID0gdXNlU3RhdGUoMSlcclxuICBjb25zdCBpbnRlcnZhbFRpbWUgPSAzMFxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGlmIChjb3VudCA8PSBwYXRoTGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICBgI2h1bWEtbG9hZGVyLXdyYXBwZXIgPiBzdmcgPiBwYXRoOm50aC1vZi10eXBlKCR7Y291bnR9KWAsXHJcbiAgICAgICAgKVxyXG4gICAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSdcclxuICAgICAgICAgIHNldENvdW50KChwcmUpID0+IHByZSArIDEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgIGAjaHVtYS1sb2FkZXItd3JhcHBlciA+IHN2ZyA+IHBhdGhgLFxyXG4gICAgICAgIClcclxuICAgICAgICBpZiAoZWxlbWVudHMpIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHNldENvdW50KDEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCBpbnRlcnZhbFRpbWUpXHJcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJJbnRlcnZhbChpbnRlcnZhbClcclxuICB9LCBbY291bnRdKVxyXG5cclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICB3cmFwcGVyOiBjc3NgXHJcbiAgICAgICR7dGhlbWUuY3NzTWl4aW5zLnJvd0NlbnRlcmVkfTtcclxuICAgICAgbWluLWhlaWdodDogJHtmdWxsU2NyZWVuID8gJzEwMHZoJyA6IG1pbkhlaWdodH07XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBgLFxyXG4gICAgaWNvbjogY3NzYFxyXG4gICAgICAmID4gcGF0aCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY3NzPXtzdHlsZXMud3JhcHBlcn0gaWQ9J2h1bWEtbG9hZGVyLXdyYXBwZXInPlxyXG4gICAgICA8TG9hZGVySWNvbiBjc3M9e3N0eWxlcy5pY29ufSAvPlxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcbiJdfQ== */",
2245
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
2248
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
2246
2249
  };
2247
2250
  function HumaLoading(_ref2) {
2248
2251
  var _ref2$fullScreen = _ref2.fullScreen,
@@ -2285,7 +2288,7 @@ function HumaLoading(_ref2) {
2285
2288
  }, [count]);
2286
2289
  var styles = {
2287
2290
  wrapper: /*#__PURE__*/css$1(theme.cssMixins.rowCentered, ";min-height:", fullScreen ? '100vh' : minHeight, ";width:50px;height:50px;" + (process.env.NODE_ENV === "production" ? "" : ";label:wrapper;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFMb2FkaW5nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRGdCIiwiZmlsZSI6Ikh1bWFMb2FkaW5nLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xyXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXHJcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXHJcblxyXG5pbXBvcnQgeyBMb2FkZXJJY29uIH0gZnJvbSAnLi9pY29ucydcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgZnVsbFNjcmVlbj86IGJvb2xlYW5cclxuICBtaW5IZWlnaHQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFMb2FkaW5nKHtcclxuICBmdWxsU2NyZWVuID0gZmFsc2UsXHJcbiAgbWluSGVpZ2h0ID0gJzBweCcsXHJcbn06IFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcclxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcclxuICBjb25zdCBwYXRoTGVuZ3RoID0gNDVcclxuICBjb25zdCBbY291bnQsIHNldENvdW50XSA9IHVzZVN0YXRlKDEpXHJcbiAgY29uc3QgaW50ZXJ2YWxUaW1lID0gMzBcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBpZiAoY291bnQgPD0gcGF0aExlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgYCNodW1hLWxvYWRlci13cmFwcGVyID4gc3ZnID4gcGF0aDpudGgtb2YtdHlwZSgke2NvdW50fSlgLFxyXG4gICAgICAgIClcclxuICAgICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnXHJcbiAgICAgICAgICBzZXRDb3VudCgocHJlKSA9PiBwcmUgKyAxKVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICBgI2h1bWEtbG9hZGVyLXdyYXBwZXIgPiBzdmcgPiBwYXRoYCxcclxuICAgICAgICApXHJcbiAgICAgICAgaWYgKGVsZW1lbnRzKSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBzZXRDb3VudCgxKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgaW50ZXJ2YWxUaW1lKVxyXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXHJcbiAgfSwgW2NvdW50XSlcclxuXHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgd3JhcHBlcjogY3NzYFxyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dDZW50ZXJlZH07XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICR7ZnVsbFNjcmVlbiA/ICcxMDB2aCcgOiBtaW5IZWlnaHR9O1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYCxcclxuICAgIGljb246IGNzc2BcclxuICAgICAgJiA+IHBhdGgge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNzcz17c3R5bGVzLndyYXBwZXJ9IGlkPSdodW1hLWxvYWRlci13cmFwcGVyJz5cclxuICAgICAgPExvYWRlckljb24gY3NzPXtzdHlsZXMuaWNvbn0gLz5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG4iXX0= */"),
2288
- icon: _ref
2291
+ icon: _ref$1
2289
2292
  };
2290
2293
  return jsx("div", {
2291
2294
  css: styles.wrapper,
@@ -2296,17 +2299,17 @@ function HumaLoading(_ref2) {
2296
2299
  });
2297
2300
  }
2298
2301
 
2299
- var _templateObject$e, _templateObject2$b, _templateObject3$7, _templateObject4$7;
2302
+ var _templateObject$g, _templateObject2$d, _templateObject3$8, _templateObject4$8;
2300
2303
  function WrapperModal(_ref) {
2301
2304
  var title = _ref.title,
2302
2305
  subTitle = _ref.subTitle,
2303
2306
  children = _ref.children;
2304
2307
  var theme = useTheme();
2305
2308
  var styles = {
2306
- wrapper: css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2307
- header: css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Bold';\n font-size: 20px;\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2308
- content: css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n "])), theme.cssMixins.rowHCentered),
2309
- bottom: css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2309
+ wrapper: css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2310
+ header: css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Bold';\n font-size: 20px;\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2311
+ content: css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n "])), theme.cssMixins.rowHCentered),
2312
+ bottom: css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2310
2313
  };
2311
2314
  return jsxs(Box, {
2312
2315
  css: styles.wrapper,
@@ -2321,7 +2324,7 @@ function WrapperModal(_ref) {
2321
2324
  });
2322
2325
  }
2323
2326
 
2324
- var _templateObject$d, _templateObject2$a;
2327
+ var _templateObject$f, _templateObject2$c;
2325
2328
  function LoadingModal(_ref) {
2326
2329
  var title = _ref.title,
2327
2330
  description = _ref.description,
@@ -2330,8 +2333,8 @@ function LoadingModal(_ref) {
2330
2333
  children = _ref.children;
2331
2334
  var theme = useTheme();
2332
2335
  var styles = {
2333
- loader: css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
2334
- bottom: css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2336
+ loader: css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
2337
+ bottom: css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2335
2338
  };
2336
2339
  return jsxs(WrapperModal, {
2337
2340
  title: title,
@@ -2412,8 +2415,8 @@ var envUtil = {
2412
2415
  checkIsDev: checkIsDev
2413
2416
  };
2414
2417
 
2415
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2416
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2418
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2419
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2417
2420
  var useEA = function useEA() {
2418
2421
  var dispatch = useAppDispatch();
2419
2422
  var _useWeb3React = useWeb3React(),
@@ -2429,7 +2432,7 @@ var useEA = function useEA() {
2429
2432
  return EAService.approve(payload, chainId, envUtil.checkIsDev());
2430
2433
  case 3:
2431
2434
  result = _context.sent;
2432
- dispatch(setApproval(_objectSpread$2(_objectSpread$2({}, result), {}, {
2435
+ dispatch(setApproval(_objectSpread$3(_objectSpread$3({}, result), {}, {
2433
2436
  nextStep: nextStep
2434
2437
  })));
2435
2438
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2465,7 +2468,7 @@ var useEA = function useEA() {
2465
2468
 
2466
2469
  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==";
2467
2470
 
2468
- var _templateObject$c, _templateObject2$9, _templateObject3$6, _templateObject4$6, _templateObject5$3, _templateObject6$2, _templateObject7$2;
2471
+ var _templateObject$e, _templateObject2$b, _templateObject3$7, _templateObject4$7, _templateObject5$4, _templateObject6$2, _templateObject7$2;
2469
2472
  function Evaluation$3(_ref) {
2470
2473
  var poolInfo = _ref.poolInfo,
2471
2474
  handleApprove = _ref.handleApprove;
@@ -2511,11 +2514,11 @@ function Evaluation$3(_ref) {
2511
2514
  fetchData();
2512
2515
  }, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool]);
2513
2516
  var styles = {
2514
- wrapper: css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2515
- header: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2516
- content: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n margin-bottom: 65px;\n "])), theme.cssMixins.rowHCentered),
2517
- checkWrapper: css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n "])), theme.cssMixins.rowVCentered),
2518
- checkIcon: css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2517
+ wrapper: css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2518
+ header: css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2519
+ content: css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n margin-bottom: 65px;\n "])), theme.cssMixins.rowHCentered),
2520
+ checkWrapper: css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n "])), theme.cssMixins.rowVCentered),
2521
+ checkIcon: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2519
2522
  congratsWrapper: css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding: 0 16px;\n ", "\n margin-top: 60px;\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.cssMixins.rowVCentered),
2520
2523
  bottom: css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2521
2524
  };
@@ -2577,7 +2580,7 @@ function Evaluation$3(_ref) {
2577
2580
  });
2578
2581
  }
2579
2582
 
2580
- var _templateObject$b, _templateObject2$8, _templateObject3$5, _templateObject4$5, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2583
+ var _templateObject$d, _templateObject2$a, _templateObject3$6, _templateObject4$6, _templateObject5$3, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2581
2584
  function ChooseAmountModal(_ref) {
2582
2585
  var title = _ref.title,
2583
2586
  tokenIcon = _ref.tokenIcon,
@@ -2607,11 +2610,11 @@ function ChooseAmountModal(_ref) {
2607
2610
  inputTouched = _useState2[0],
2608
2611
  setInputTouched = _useState2[1];
2609
2612
  var styles = {
2610
- subTitle: css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n "]))),
2611
- description2: css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 16px;\n "])), theme.cssMixins.rowCentered),
2612
- chosenAmountWrapper: css(_templateObject3$5 || (_templateObject3$5 = _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: 10px;\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2613
- chosenAmount: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n font-family: 'Inter-Bold';\n font-size: 32px;\n "]))),
2614
- chosenAmountSymbol: css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: 5px;\n letter-spacing: 0.1px;\n "]))),
2613
+ subTitle: css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n "]))),
2614
+ description2: css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 16px;\n "])), theme.cssMixins.rowCentered),
2615
+ chosenAmountWrapper: css(_templateObject3$6 || (_templateObject3$6 = _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: 10px;\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2616
+ chosenAmount: css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n font-family: 'Inter-Bold';\n font-size: 32px;\n "]))),
2617
+ chosenAmountSymbol: css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: 5px;\n letter-spacing: 0.1px;\n "]))),
2615
2618
  inputAmountWrapper: css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n margin-bottom: 10px;\n margin-top: 30px;\n "]))),
2616
2619
  inputAmount: css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2617
2620
  inputField: css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
@@ -2809,14 +2812,14 @@ function ChooseAmount$6(_ref) {
2809
2812
  });
2810
2813
  }
2811
2814
 
2812
- var _templateObject$a;
2815
+ var _templateObject$c;
2813
2816
  function BottomButton(_ref) {
2814
2817
  var variant = _ref.variant,
2815
2818
  _ref$disabled = _ref.disabled,
2816
2819
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2817
2820
  onClick = _ref.onClick,
2818
2821
  children = _ref.children;
2819
- var styles = css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
2822
+ var styles = css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
2820
2823
  return jsx(Box, {
2821
2824
  css: styles,
2822
2825
  children: jsx(Button, {
@@ -2848,7 +2851,7 @@ function ViewOnExplorer(_ref) {
2848
2851
  });
2849
2852
  }
2850
2853
 
2851
- var _templateObject$9, _templateObject2$7;
2854
+ var _templateObject$b, _templateObject2$9;
2852
2855
  function ApproveAllowanceModal(_ref) {
2853
2856
  var poolInfo = _ref.poolInfo,
2854
2857
  _ref$showAutoPayback = _ref.showAutoPayback,
@@ -2877,8 +2880,8 @@ function ApproveAllowanceModal(_ref) {
2877
2880
  }
2878
2881
  }, [handleSuccess, reset, state, symbol]);
2879
2882
  var styles = {
2880
- iconWrapper: css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2881
- description: css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n margin-top: 14px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n padding: 0 12px;\n "])))
2883
+ iconWrapper: css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2884
+ description: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n margin-top: 14px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n padding: 0 12px;\n "])))
2882
2885
  };
2883
2886
  var sendApprove = useCallback(function () {
2884
2887
  send({
@@ -2996,19 +2999,20 @@ function Transfer$6(_ref) {
2996
2999
  });
2997
3000
  }
2998
3001
 
2999
- var _templateObject$8, _templateObject2$6, _templateObject3$4, _templateObject4$4, _templateObject5$1;
3002
+ var _templateObject$a, _templateObject2$8, _templateObject3$5, _templateObject4$5, _templateObject5$2;
3000
3003
  function TxDoneModal(_ref) {
3001
3004
  var content = _ref.content,
3002
- handleAction = _ref.handleAction;
3005
+ handleAction = _ref.handleAction,
3006
+ buttonText = _ref.buttonText;
3003
3007
  var theme = useTheme();
3004
3008
  var dispatch = useAppDispatch();
3005
3009
  var reset = useResetAtom(txAtom);
3006
3010
  var styles = {
3007
- wrapper: css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
3008
- header: css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3009
- content: css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 18px;\n color: #423b46;\n margin-top: 64px;\n text-align: center;\n "])), theme.cssMixins.colVCentered),
3010
- check: css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered),
3011
- doneButton: css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
3011
+ wrapper: css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
3012
+ header: css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3013
+ content: css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 18px;\n color: #423b46;\n margin-top: 64px;\n text-align: center;\n "])), theme.cssMixins.colVCentered),
3014
+ check: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered),
3015
+ doneButton: css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
3012
3016
  };
3013
3017
  var handleCloseModal = useCallback(function () {
3014
3018
  reset();
@@ -3039,7 +3043,7 @@ function TxDoneModal(_ref) {
3039
3043
  variant: "contained",
3040
3044
  css: styles.doneButton,
3041
3045
  onClick: handleCloseModal,
3042
- children: "DONE"
3046
+ children: buttonText == null ? 'DONE' : buttonText
3043
3047
  })]
3044
3048
  });
3045
3049
  }
@@ -3047,7 +3051,8 @@ function TxDoneModal(_ref) {
3047
3051
  function Success$6(_ref) {
3048
3052
  var poolInfo = _ref.poolInfo,
3049
3053
  creditRecord = _ref.creditRecord,
3050
- handleAction = _ref.handleAction;
3054
+ handleAction = _ref.handleAction,
3055
+ hasNextStep = _ref.hasNextStep;
3051
3056
  var _useAppSelector = useAppSelector(selectWidgetState),
3052
3057
  borrowAmountNet = _useAppSelector.borrowAmountNet;
3053
3058
  var poolUnderlyingToken = poolInfo.poolUnderlyingToken;
@@ -3056,10 +3061,410 @@ function Success$6(_ref) {
3056
3061
  var content = ["".concat(borrowAmountNet, " ").concat(symbol, " is now in your wallet."), "Note: your payment will be automatically deducted on ".concat(dueDate, ".")];
3057
3062
  return jsx(TxDoneModal, {
3058
3063
  handleAction: handleAction,
3059
- content: content
3064
+ content: content,
3065
+ buttonText: hasNextStep ? "WHAT'S NEXT" : undefined
3060
3066
  });
3061
3067
  }
3062
3068
 
3069
+ var _templateObject$9, _templateObject2$7, _templateObject3$4, _templateObject4$4, _templateObject5$1;
3070
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3071
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3072
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
3073
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
3074
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
3075
+ function getIdFromEventType(eventType) {
3076
+ if (eventType.type === 'directPush') {
3077
+ var directPushEventType = eventType;
3078
+ return directPushEventType.directPushId.value;
3079
+ }
3080
+ if (eventType.type === 'broadcast') {
3081
+ var broadcastEventType = eventType;
3082
+ return broadcastEventType.broadcastId.value;
3083
+ }
3084
+ return '';
3085
+ }
3086
+ function fetchEventTypes(_x) {
3087
+ return _fetchEventTypes.apply(this, arguments);
3088
+ }
3089
+ function _fetchEventTypes() {
3090
+ _fetchEventTypes = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee4(notifiClient) {
3091
+ var _process$env$REACT_AP, _subscriptionConfig$e;
3092
+ var subscribedAlerts, subscriptionConfig, eventTypes;
3093
+ return regenerator.wrap(function _callee4$(_context4) {
3094
+ while (1) switch (_context4.prev = _context4.next) {
3095
+ case 0:
3096
+ _context4.next = 2;
3097
+ return notifiClient.getAlerts();
3098
+ case 2:
3099
+ subscribedAlerts = _context4.sent;
3100
+ _context4.next = 5;
3101
+ return notifiClient.fetchSubscriptionCard({
3102
+ id: (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '',
3103
+ type: 'SUBSCRIPTION_CARD'
3104
+ });
3105
+ case 5:
3106
+ subscriptionConfig = _context4.sent;
3107
+ eventTypes = subscriptionConfig === null || subscriptionConfig === void 0 ? void 0 : (_subscriptionConfig$e = subscriptionConfig.eventTypes) === null || _subscriptionConfig$e === void 0 ? void 0 : _subscriptionConfig$e.map(function (eventType) {
3108
+ var eventTypeId = getIdFromEventType(eventType);
3109
+ var enabled = false;
3110
+ // Check whether the user is subscribed to the event
3111
+ var subscribedAlert = subscribedAlerts === null || subscribedAlerts === void 0 ? void 0 : subscribedAlerts.find(function (alert) {
3112
+ return alert.filterOptions.indexOf(eventTypeId) >= 0;
3113
+ });
3114
+ if (subscribedAlert) {
3115
+ enabled = true;
3116
+ }
3117
+ return _objectSpread$2(_objectSpread$2({}, eventType), {}, {
3118
+ enabled: enabled
3119
+ });
3120
+ });
3121
+ return _context4.abrupt("return", eventTypes);
3122
+ case 8:
3123
+ case "end":
3124
+ return _context4.stop();
3125
+ }
3126
+ }, _callee4);
3127
+ }));
3128
+ return _fetchEventTypes.apply(this, arguments);
3129
+ }
3130
+ function NotifiSubscriptionModal(_ref) {
3131
+ var handleSuccess = _ref.handleSuccess;
3132
+ var theme = useTheme();
3133
+ var reset = useResetAtom(txAtom);
3134
+ var dispatch = useAppDispatch();
3135
+ var _useWeb3React = useWeb3React(),
3136
+ account = _useWeb3React.account,
3137
+ chainId = _useWeb3React.chainId,
3138
+ provider = _useWeb3React.provider;
3139
+ var _useState = useState(),
3140
+ _useState2 = _slicedToArray(_useState, 2),
3141
+ notifiClient = _useState2[0],
3142
+ setNotifiClient = _useState2[1];
3143
+ var _useState3 = useState(false),
3144
+ _useState4 = _slicedToArray(_useState3, 2),
3145
+ showSuccessScreen = _useState4[0],
3146
+ setShowSuccessScreen = _useState4[1];
3147
+ var _useState5 = useState(false),
3148
+ _useState6 = _slicedToArray(_useState5, 2),
3149
+ isLoading = _useState6[0],
3150
+ setIsLoading = _useState6[1];
3151
+ var _useState7 = useState(),
3152
+ _useState8 = _slicedToArray(_useState7, 2),
3153
+ emailAddress = _useState8[0],
3154
+ setEmailAddress = _useState8[1];
3155
+ var _useState9 = useState(),
3156
+ _useState10 = _slicedToArray(_useState9, 2),
3157
+ emailValid = _useState10[0],
3158
+ setEmailValid = _useState10[1];
3159
+ useEffect(function () {
3160
+ var initializeClient = /*#__PURE__*/function () {
3161
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3162
+ var client;
3163
+ return regenerator.wrap(function _callee$(_context) {
3164
+ while (1) switch (_context.prev = _context.next) {
3165
+ case 0:
3166
+ if (!(account != null && chainId != null)) {
3167
+ _context.next = 5;
3168
+ break;
3169
+ }
3170
+ client = newFrontendClient({
3171
+ account: {
3172
+ publicKey: account
3173
+ },
3174
+ tenantId: 'humadapp',
3175
+ env: envUtil.checkIsDev() ? 'Development' : 'Production',
3176
+ walletBlockchain: getBlockchainConfigFromChain(chainId)
3177
+ });
3178
+ _context.next = 4;
3179
+ return client.initialize();
3180
+ case 4:
3181
+ setNotifiClient(client);
3182
+ case 5:
3183
+ case "end":
3184
+ return _context.stop();
3185
+ }
3186
+ }, _callee);
3187
+ }));
3188
+ return function initializeClient() {
3189
+ return _ref2.apply(this, arguments);
3190
+ };
3191
+ }();
3192
+ initializeClient();
3193
+ }, [account, chainId]);
3194
+ var signMessage = /*#__PURE__*/function () {
3195
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(message) {
3196
+ var signer, signature;
3197
+ return regenerator.wrap(function _callee2$(_context2) {
3198
+ while (1) switch (_context2.prev = _context2.next) {
3199
+ case 0:
3200
+ signer = provider.getSigner();
3201
+ _context2.next = 3;
3202
+ return signer.signMessage(Buffer.from(message));
3203
+ case 3:
3204
+ signature = _context2.sent;
3205
+ return _context2.abrupt("return", ethers.utils.arrayify(signature));
3206
+ case 5:
3207
+ case "end":
3208
+ return _context2.stop();
3209
+ }
3210
+ }, _callee2);
3211
+ }));
3212
+ return function signMessage(_x2) {
3213
+ return _ref3.apply(this, arguments);
3214
+ };
3215
+ }();
3216
+ var handleEmailAddressChange = function handleEmailAddressChange(event) {
3217
+ var _event$target$value;
3218
+ var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
3219
+ setEmailValid(emailRegex.test((_event$target$value = event.target.value) !== null && _event$target$value !== void 0 ? _event$target$value : ''));
3220
+ setEmailAddress(event.target.value);
3221
+ };
3222
+ var logInAndSubscribe = /*#__PURE__*/function () {
3223
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee3() {
3224
+ var fetchedEventTypes, _iterator, _step, eventType;
3225
+ return regenerator.wrap(function _callee3$(_context3) {
3226
+ while (1) switch (_context3.prev = _context3.next) {
3227
+ case 0:
3228
+ if (!(notifiClient != null && chainId != null)) {
3229
+ _context3.next = 35;
3230
+ break;
3231
+ }
3232
+ setIsLoading(true);
3233
+
3234
+ // Ask user to sign a message to authenticate
3235
+ _context3.prev = 2;
3236
+ _context3.next = 5;
3237
+ return notifiClient.logIn({
3238
+ walletBlockchain: getBlockchainConfigFromChain(chainId),
3239
+ signMessage: signMessage
3240
+ });
3241
+ case 5:
3242
+ _context3.next = 11;
3243
+ break;
3244
+ case 7:
3245
+ _context3.prev = 7;
3246
+ _context3.t0 = _context3["catch"](2);
3247
+ setIsLoading(false);
3248
+ return _context3.abrupt("return");
3249
+ case 11:
3250
+ _context3.next = 13;
3251
+ return fetchEventTypes(notifiClient);
3252
+ case 13:
3253
+ fetchedEventTypes = _context3.sent;
3254
+ _context3.next = 16;
3255
+ return notifiClient.ensureTargetGroup({
3256
+ name: 'Default',
3257
+ emailAddress: emailAddress
3258
+ });
3259
+ case 16:
3260
+ // Intentionally running this in serial because the Notifi ensureAlert can't handle
3261
+ // multiple calls. Notified their team to fix this.
3262
+ // eslint-disable-next-line no-restricted-syntax
3263
+ _iterator = _createForOfIteratorHelper(fetchedEventTypes);
3264
+ _context3.prev = 17;
3265
+ _iterator.s();
3266
+ case 19:
3267
+ if ((_step = _iterator.n()).done) {
3268
+ _context3.next = 25;
3269
+ break;
3270
+ }
3271
+ eventType = _step.value;
3272
+ _context3.next = 23;
3273
+ return notifiClient.ensureAlert({
3274
+ eventType: eventType,
3275
+ inputs: {}
3276
+ });
3277
+ case 23:
3278
+ _context3.next = 19;
3279
+ break;
3280
+ case 25:
3281
+ _context3.next = 30;
3282
+ break;
3283
+ case 27:
3284
+ _context3.prev = 27;
3285
+ _context3.t1 = _context3["catch"](17);
3286
+ _iterator.e(_context3.t1);
3287
+ case 30:
3288
+ _context3.prev = 30;
3289
+ _iterator.f();
3290
+ return _context3.finish(30);
3291
+ case 33:
3292
+ setShowSuccessScreen(true);
3293
+ setIsLoading(false);
3294
+ case 35:
3295
+ case "end":
3296
+ return _context3.stop();
3297
+ }
3298
+ }, _callee3, null, [[2, 7], [17, 27, 30, 33]]);
3299
+ }));
3300
+ return function logInAndSubscribe() {
3301
+ return _ref4.apply(this, arguments);
3302
+ };
3303
+ }();
3304
+ var handleCloseModal = useCallback(function () {
3305
+ reset();
3306
+ dispatch(resetState());
3307
+ handleSuccess();
3308
+ }, [dispatch, handleSuccess, reset]);
3309
+ var styles = {
3310
+ disclaimer: css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 48px;\n "])), theme.cssMixins.rowCentered),
3311
+ inputField: css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n width: 90%;\n font-size: 16px;\n "]))),
3312
+ inputWrapper: css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
3313
+ header: css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3314
+ check: css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered)
3315
+ };
3316
+ if (isLoading) {
3317
+ return jsx(LoadingModal, {
3318
+ title: "Notifications"
3319
+ });
3320
+ }
3321
+ if (showSuccessScreen) {
3322
+ return jsxs(WrapperModal, {
3323
+ title: "Success",
3324
+ subTitle: "You successfully connected your email",
3325
+ children: [jsx(Box, {
3326
+ css: styles.check,
3327
+ children: jsx(CheckIcon, {})
3328
+ }), jsx(BottomButton, {
3329
+ variant: "contained",
3330
+ onClick: handleCloseModal,
3331
+ children: "DONE"
3332
+ })]
3333
+ });
3334
+ }
3335
+ return jsxs(WrapperModal, {
3336
+ title: "Connect Your Email",
3337
+ children: [jsx(Typography, {
3338
+ variant: "body2",
3339
+ margin: "12px 0",
3340
+ children: "Connect your wallet to receive important emails about your account"
3341
+ }), jsx(Box, {
3342
+ css: styles.inputWrapper,
3343
+ children: jsx(Input, {
3344
+ css: styles.inputField,
3345
+ type: "email",
3346
+ value: emailAddress,
3347
+ onChange: handleEmailAddressChange,
3348
+ placeholder: "youremail@example.com",
3349
+ startAdornment: jsx(InputAdornment, {
3350
+ position: "start",
3351
+ children: jsx(Email, {})
3352
+ })
3353
+ })
3354
+ }), jsx(Box, {
3355
+ css: styles.disclaimer,
3356
+ children: "You can adjust these settings at any time by clicking the alert icon in the header"
3357
+ }), jsx(BottomButton, {
3358
+ variant: "contained",
3359
+ onClick: logInAndSubscribe,
3360
+ disabled: !emailValid || isLoading,
3361
+ children: "CONNECT WALLET"
3362
+ })]
3363
+ });
3364
+ }
3365
+
3366
+ function Notifications$1(_ref) {
3367
+ var handleAction = _ref.handleAction;
3368
+ return jsx(NotifiSubscriptionModal, {
3369
+ handleSuccess: handleAction
3370
+ });
3371
+ }
3372
+
3373
+ var useIsFirstTimeNotifiUser = function useIsFirstTimeNotifiUser(account, chainId) {
3374
+ var _useState = useState(false),
3375
+ _useState2 = _slicedToArray(_useState, 2),
3376
+ isFirstTimeNotifiUser = _useState2[0],
3377
+ setIsFirstTimeNotifiUser = _useState2[1];
3378
+ useEffect(function () {
3379
+ var checkIsFirstTimeNotifiUser = /*#__PURE__*/function () {
3380
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3381
+ var client, userState, _targetGroups$, _targetGroups$$emailT, targetGroups, emailTargets;
3382
+ return regenerator.wrap(function _callee$(_context) {
3383
+ while (1) switch (_context.prev = _context.next) {
3384
+ case 0:
3385
+ if (!(account != null && chainId != null)) {
3386
+ _context.next = 15;
3387
+ break;
3388
+ }
3389
+ client = newFrontendClient({
3390
+ account: {
3391
+ publicKey: account
3392
+ },
3393
+ tenantId: 'humadapp',
3394
+ env: envUtil.checkIsDev() ? 'Development' : 'Production',
3395
+ walletBlockchain: getBlockchainConfigFromChain(chainId)
3396
+ });
3397
+ _context.next = 4;
3398
+ return client.initialize();
3399
+ case 4:
3400
+ userState = _context.sent;
3401
+ if (!(userState.status !== 'authenticated' && userState.status !== 'expired')) {
3402
+ _context.next = 9;
3403
+ break;
3404
+ }
3405
+ setIsFirstTimeNotifiUser(true);
3406
+ _context.next = 15;
3407
+ break;
3408
+ case 9:
3409
+ if (!(userState.status === 'authenticated')) {
3410
+ _context.next = 15;
3411
+ break;
3412
+ }
3413
+ _context.next = 12;
3414
+ return client.getTargetGroups();
3415
+ case 12:
3416
+ targetGroups = _context.sent;
3417
+ emailTargets = (_targetGroups$ = targetGroups[0]) === null || _targetGroups$ === void 0 ? void 0 : (_targetGroups$$emailT = _targetGroups$.emailTargets) === null || _targetGroups$$emailT === void 0 ? void 0 : _targetGroups$$emailT[0];
3418
+ if (emailTargets == null || emailTargets.emailAddress == null) {
3419
+ setIsFirstTimeNotifiUser(true);
3420
+ }
3421
+ case 15:
3422
+ case "end":
3423
+ return _context.stop();
3424
+ }
3425
+ }, _callee);
3426
+ }));
3427
+ return function checkIsFirstTimeNotifiUser() {
3428
+ return _ref.apply(this, arguments);
3429
+ };
3430
+ }();
3431
+ checkIsFirstTimeNotifiUser();
3432
+ }, [account, chainId]);
3433
+ return {
3434
+ isFirstTimeNotifiUser: isFirstTimeNotifiUser
3435
+ };
3436
+ };
3437
+ var useDoesChainSupportNotifi = function useDoesChainSupportNotifi(account, chainId) {
3438
+ var _useState3 = useState(false),
3439
+ _useState4 = _slicedToArray(_useState3, 2),
3440
+ notifiChainSupported = _useState4[0],
3441
+ setNotifiChainSupported = _useState4[1];
3442
+ useEffect(function () {
3443
+ var checkNotifiChainSupported = /*#__PURE__*/function () {
3444
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2() {
3445
+ return regenerator.wrap(function _callee2$(_context2) {
3446
+ while (1) switch (_context2.prev = _context2.next) {
3447
+ case 0:
3448
+ if (account != null && chainId != null) {
3449
+ setNotifiChainSupported(doesChainSupportNotifi(chainId, envUtil.checkIsDev(), account));
3450
+ }
3451
+ case 1:
3452
+ case "end":
3453
+ return _context2.stop();
3454
+ }
3455
+ }, _callee2);
3456
+ }));
3457
+ return function checkNotifiChainSupported() {
3458
+ return _ref2.apply(this, arguments);
3459
+ };
3460
+ }();
3461
+ checkNotifiChainSupported();
3462
+ }, [account, chainId]);
3463
+ return {
3464
+ notifiChainSupported: notifiChainSupported
3465
+ };
3466
+ };
3467
+
3063
3468
  function CreditLineBorrow(_ref) {
3064
3469
  var poolNameStr = _ref.poolName,
3065
3470
  poolTypeStr = _ref.poolType,
@@ -3068,7 +3473,8 @@ function CreditLineBorrow(_ref) {
3068
3473
  handleSuccess = _ref.handleSuccess;
3069
3474
  var dispatch = useDispatch();
3070
3475
  var _useWeb3React = useWeb3React(),
3071
- account = _useWeb3React.account;
3476
+ account = _useWeb3React.account,
3477
+ chainId = _useWeb3React.chainId;
3072
3478
  var poolName = POOL_NAME[poolNameStr];
3073
3479
  var poolType = POOL_TYPE[poolTypeStr];
3074
3480
  var poolInfo = usePoolInfo(poolName, poolType);
@@ -3079,6 +3485,10 @@ function CreditLineBorrow(_ref) {
3079
3485
  _useAccountStats2 = _slicedToArray(_useAccountStats, 2),
3080
3486
  accountStats = _useAccountStats2[0],
3081
3487
  refreshAccountStats = _useAccountStats2[1];
3488
+ var _useIsFirstTimeNotifi = useIsFirstTimeNotifiUser(account, chainId),
3489
+ isFirstTimeNotifiUser = _useIsFirstTimeNotifi.isFirstTimeNotifiUser;
3490
+ var _useDoesChainSupportN = useDoesChainSupportNotifi(account, chainId),
3491
+ notifiChainSupported = _useDoesChainSupportN.notifiChainSupported;
3082
3492
  var creditRecord = accountStats.creditRecord;
3083
3493
  var accountState = creditRecord === null || creditRecord === void 0 ? void 0 : creditRecord.state;
3084
3494
  useEffect(function () {
@@ -3093,6 +3503,13 @@ function CreditLineBorrow(_ref) {
3093
3503
  }
3094
3504
  refreshAccountStats();
3095
3505
  }, [handleApprove, refreshAccountStats]);
3506
+ var setupNotificationsOrClose = useCallback(function () {
3507
+ if (isFirstTimeNotifiUser && notifiChainSupported) {
3508
+ dispatch(setStep(WIDGET_STEP.Notifications));
3509
+ } else {
3510
+ handleClose();
3511
+ }
3512
+ }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported]);
3096
3513
  if (!poolInfo) {
3097
3514
  return null;
3098
3515
  }
@@ -3114,8 +3531,11 @@ function CreditLineBorrow(_ref) {
3114
3531
  poolInfo: poolInfo
3115
3532
  }), step === WIDGET_STEP.Done && jsx(Success$6, {
3116
3533
  poolInfo: poolInfo,
3117
- handleAction: handleClose,
3118
- creditRecord: creditRecord
3534
+ handleAction: setupNotificationsOrClose,
3535
+ creditRecord: creditRecord,
3536
+ hasNextStep: isFirstTimeNotifiUser
3537
+ }), step === WIDGET_STEP.Notifications && jsx(Notifications$1, {
3538
+ handleAction: handleClose
3119
3539
  }), step === WIDGET_STEP.Error && jsx(ErrorModal, {
3120
3540
  title: "Borrow",
3121
3541
  errorMessage: errorMessage,
@@ -3402,16 +3822,16 @@ function ChooseAmount$4(_ref) {
3402
3822
  });
3403
3823
  }
3404
3824
 
3405
- var _templateObject$7, _templateObject2$5, _templateObject3$3, _templateObject4$3, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
3406
- function _EMOTION_STRINGIFIED_CSS_ERROR__$3() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3407
- var _ref2$1 = process.env.NODE_ENV === "production" ? {
3825
+ var _templateObject$8, _templateObject2$6, _templateObject3$3, _templateObject4$3, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
3826
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3827
+ var _ref2$2 = process.env.NODE_ENV === "production" ? {
3408
3828
  name: "pe10bi",
3409
3829
  styles: "width:24px;margin-right:20px"
3410
3830
  } : {
3411
3831
  name: "1y6xri6-ConfirmTransferModal",
3412
3832
  styles: "width:24px;margin-right:20px;label:ConfirmTransferModal;",
3413
3833
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbmZpcm1UcmFuc2Zlck1vZGFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SHlCIiwiZmlsZSI6IkNvbmZpcm1UcmFuc2Zlck1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVTdHlsZXMgfSBmcm9tICdAaHVtYS1maW5hbmNlL3NoYXJlZCdcclxuaW1wb3J0IEFycm93Rm9yd2FyZElvc0ljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9BcnJvd0ZvcndhcmRJb3MnXHJcbmltcG9ydCB7IEJveCwgQnV0dG9uLCBjc3MsIFR5cG9ncmFwaHksIHVzZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xyXG5cclxuaW1wb3J0IHsgUmVjZWlwdEljb24sIFVzZGNJY29uIH0gZnJvbSAnLi9pY29ucydcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICBpdGVtczogW1xyXG4gICAgeyBsZWZ0VGV4dDogc3RyaW5nOyByaWdodFRleHQ6IHN0cmluZyB9LFxyXG4gICAgeyBsZWZ0VGV4dDogc3RyaW5nOyByaWdodFRleHQ6IHN0cmluZyB9LFxyXG4gIF1cclxuICBhY3Rpb25UZXh0OiBzdHJpbmdcclxuICBoYW5kbGVBY3Rpb246ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpcm1UcmFuc2Zlck1vZGFsKHtcclxuICB0aXRsZSxcclxuICBkZXNjcmlwdGlvbixcclxuICBpdGVtcyxcclxuICBhY3Rpb25UZXh0LFxyXG4gIGhhbmRsZUFjdGlvbixcclxufTogUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsIHtcclxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcclxuXHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgd3JhcHBlcjogY3NzYFxyXG4gICAgICBoZWlnaHQ6IDUxOHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICR7dGhlbWUuY3NzTWl4aW5zLmNvbFN0cmV0Y2h9O1xyXG4gICAgYCxcclxuICAgIGhlYWRlcjogY3NzYFxyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dIQ2VudGVyZWR9O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgYCxcclxuICAgIGRlc2NyaXB0aW9uOiBjc3NgXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnVW5pLU5ldWUtUmVndWxhcic7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6ICM0OTUwNWI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGAsXHJcbiAgICB0cmFuc2ZlcldyYXBwZXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogNzVweDtcclxuICAgIGAsXHJcbiAgICB0cmFuc2ZlcjogY3NzYFxyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dTcGFjZUJldHdlZW5lZH1cclxuICAgICAgJHt0aGVtZS5jc3NNaXhpbnMucm93VkNlbnRlcmVkfVxyXG4gICAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY4ZmE7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb2xvcjogIzQ5NTA1YjtcclxuICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGAsXHJcbiAgICB0cmFuc2Zlckl0ZW06IGNzc2BcclxuICAgICAgJHt0aGVtZS5jc3NNaXhpbnMucm93VkNlbnRlcmVkfVxyXG4gICAgYCxcclxuICAgIGFycm93OiBjc3NgXHJcbiAgICAgIEBrZXlmcmFtZXMgYm91bmNlQWxwaGEge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgMjUlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCkgc2NhbGUoMC45KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgMjYlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpIHNjYWxlKDAuOSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDU1JSB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VBbHBoYTtcclxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjRzO1xyXG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuICAgICAgY29sb3I6ICNiMjQ2ZmY7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IGNhbGMoMTUlICsgMzZweCk7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBgLFxyXG4gICAgYXJyb3dGaXJzdDogY3NzYFxyXG4gICAgICBsZWZ0OiBjYWxjKDE1JSArIDIwcHgpO1xyXG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICBgLFxyXG4gICAgb2tCdXR0b246IGNzc2BcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgYCxcclxuICAgIHVzZGNJY29uOiBjc3NgXHJcbiAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICYgPiBwYXRoOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIGZpbGw6ICM3NjcwN2U7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPEJveCBjc3M9e3N0eWxlcy53cmFwcGVyfT5cclxuICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD0naDYnIGNzcz17c3R5bGVzLmhlYWRlcn0+XHJcbiAgICAgICAge3RpdGxlfVxyXG4gICAgICA8L1R5cG9ncmFwaHk+XHJcbiAgICAgIDxCb3ggY3NzPXtzdHlsZXMuZGVzY3JpcHRpb259PntkZXNjcmlwdGlvbn08L0JveD5cclxuICAgICAgPEJveCBjc3M9e3N0eWxlcy50cmFuc2ZlcldyYXBwZXJ9PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudHJhbnNmZXJ9PlxyXG4gICAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50cmFuc2Zlckl0ZW19PlxyXG4gICAgICAgICAgICA8UmVjZWlwdEljb24gY3NzPXt7IHdpZHRoOiAnMjRweCcsIG1hcmdpblJpZ2h0OiAnMjBweCcgfX0gLz5cclxuICAgICAgICAgICAge2l0ZW1zWzBdLmxlZnRUZXh0fVxyXG4gICAgICAgICAgPC9Cb3g+XHJcbiAgICAgICAgICA8QXJyb3dGb3J3YXJkSW9zSWNvblxyXG4gICAgICAgICAgICBjc3M9e2NvbWJpbmVTdHlsZXMoW3N0eWxlcy5hcnJvdywgc3R5bGVzLmFycm93Rmlyc3RdKX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8QXJyb3dGb3J3YXJkSW9zSWNvbiBjc3M9e3N0eWxlcy5hcnJvd30gLz5cclxuICAgICAgICAgIDxCb3g+e2l0ZW1zWzBdLnJpZ2h0VGV4dH08L0JveD5cclxuICAgICAgICA8L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLnRyYW5zZmVyfT5cclxuICAgICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudHJhbnNmZXJJdGVtfT5cclxuICAgICAgICAgICAgPFVzZGNJY29uIGNzcz17c3R5bGVzLnVzZGNJY29ufSAvPlxyXG4gICAgICAgICAgICB7aXRlbXNbMV0ubGVmdFRleHR9XHJcbiAgICAgICAgICA8L0JveD5cclxuICAgICAgICAgIDxBcnJvd0ZvcndhcmRJb3NJY29uXHJcbiAgICAgICAgICAgIGNzcz17Y29tYmluZVN0eWxlcyhbc3R5bGVzLmFycm93LCBzdHlsZXMuYXJyb3dGaXJzdF0pfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxBcnJvd0ZvcndhcmRJb3NJY29uIGNzcz17c3R5bGVzLmFycm93fSAvPlxyXG4gICAgICAgICAgPEJveD57aXRlbXNbMV0ucmlnaHRUZXh0fTwvQm94PlxyXG4gICAgICAgIDwvQm94PlxyXG4gICAgICA8L0JveD5cclxuICAgICAgPEJ1dHRvbiB2YXJpYW50PSdjb250YWluZWQnIGNzcz17c3R5bGVzLm9rQnV0dG9ufSBvbkNsaWNrPXtoYW5kbGVBY3Rpb259PlxyXG4gICAgICAgIHthY3Rpb25UZXh0fVxyXG4gICAgICA8L0J1dHRvbj5cclxuICAgIDwvQm94PlxyXG4gIClcclxufVxyXG4iXX0= */",
3414
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
3834
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
3415
3835
  };
3416
3836
  function ConfirmTransferModal(_ref) {
3417
3837
  var title = _ref.title,
@@ -3421,8 +3841,8 @@ function ConfirmTransferModal(_ref) {
3421
3841
  handleAction = _ref.handleAction;
3422
3842
  var theme = useTheme();
3423
3843
  var styles = {
3424
- wrapper: css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
3425
- header: css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3844
+ wrapper: css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
3845
+ header: css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3426
3846
  description: css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n margin-top: 30px;\n text-align: center;\n "]))),
3427
3847
  transferWrapper: css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n margin-top: 75px;\n "]))),
3428
3848
  transfer: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 500;\n font-size: 16px;\n color: #49505b;\n padding: 24px 20px;\n margin-bottom: 9px;\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered),
@@ -3448,7 +3868,7 @@ function ConfirmTransferModal(_ref) {
3448
3868
  children: [jsxs(Box, {
3449
3869
  css: styles.transferItem,
3450
3870
  children: [jsx(ReceiptIcon, {
3451
- css: _ref2$1
3871
+ css: _ref2$2
3452
3872
  }), items[0].leftText]
3453
3873
  }), jsx(ArrowForwardIosIcon, {
3454
3874
  css: combineStyles([styles.arrow, styles.arrowFirst])
@@ -3770,14 +4190,12 @@ function InvoiceFactoringPayment(_ref) {
3770
4190
  });
3771
4191
  }
3772
4192
 
3773
- var _templateObject$6, _templateObject2$4;
3774
- function Evaluation$1(_ref) {
3775
- var _poolInfo$extra;
4193
+ var _templateObject$7, _templateObject2$5;
4194
+ function EvaluationEA(_ref) {
3776
4195
  var poolInfo = _ref.poolInfo,
3777
4196
  handleApproveSuccess = _ref.handleApproveSuccess;
3778
4197
  var theme = useTheme();
3779
4198
  var dispatch = useAppDispatch();
3780
- var isDev = envUtil.checkIsDev();
3781
4199
  var _useWeb3React = useWeb3React(),
3782
4200
  account = _useWeb3React.account,
3783
4201
  chainId = _useWeb3React.chainId;
@@ -3785,143 +4203,413 @@ function Evaluation$1(_ref) {
3785
4203
  _useState2 = _slicedToArray(_useState, 2),
3786
4204
  loading = _useState2[0],
3787
4205
  setLoading = _useState2[1];
3788
- var _useState3 = useState(),
4206
+ var styles = {
4207
+ iconWrapper: css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
4208
+ description: css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 50px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n "])), theme.cssMixins.rowCentered)
4209
+ };
4210
+ var approveLender = /*#__PURE__*/function () {
4211
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
4212
+ var payload, error;
4213
+ return regenerator.wrap(function _callee$(_context) {
4214
+ while (1) switch (_context.prev = _context.next) {
4215
+ case 0:
4216
+ if (!account) {
4217
+ _context.next = 16;
4218
+ break;
4219
+ }
4220
+ _context.prev = 1;
4221
+ setLoading(true);
4222
+ payload = {
4223
+ poolAddress: poolInfo.pool,
4224
+ lenderWalletAddress: account
4225
+ };
4226
+ _context.next = 6;
4227
+ return EAService.approveLender(payload, chainId);
4228
+ case 6:
4229
+ handleApproveSuccess();
4230
+ setLoading(false);
4231
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
4232
+ _context.next = 16;
4233
+ break;
4234
+ case 11:
4235
+ _context.prev = 11;
4236
+ _context.t0 = _context["catch"](1);
4237
+ error = _context.t0;
4238
+ setLoading(false);
4239
+ dispatch(setError({
4240
+ errorMessage: error.message
4241
+ }));
4242
+ case 16:
4243
+ case "end":
4244
+ return _context.stop();
4245
+ }
4246
+ }, _callee, null, [[1, 11]]);
4247
+ }));
4248
+ return function approveLender() {
4249
+ return _ref2.apply(this, arguments);
4250
+ };
4251
+ }();
4252
+ if (!loading) {
4253
+ return jsxs(WrapperModal, {
4254
+ title: "Lender Approval",
4255
+ subTitle: "This pool requires lender approval",
4256
+ children: [jsx(Box, {
4257
+ css: styles.iconWrapper,
4258
+ children: jsx(ApproveLenderIcon, {})
4259
+ }), jsx(Box, {
4260
+ css: styles.description
4261
+ }), jsx(BottomButton, {
4262
+ variant: "contained",
4263
+ onClick: approveLender,
4264
+ children: "GET APPROVED"
4265
+ })]
4266
+ });
4267
+ }
4268
+ return jsx(LoadingModal, {
4269
+ title: "Approval Pending",
4270
+ description: "Waiting for approval confirmation..."
4271
+ });
4272
+ }
4273
+
4274
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$3() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4275
+ var _ref = process.env.NODE_ENV === "production" ? {
4276
+ name: "kekxl7",
4277
+ styles: "font-size:15px;font-family:'Uni-Neue-Regular'"
4278
+ } : {
4279
+ name: "1nnmmpg-message",
4280
+ styles: "font-size:15px;font-family:'Uni-Neue-Regular';label:message;",
4281
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNnQiIsImZpbGUiOiJIdW1hU25hY2tCYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IEFsZXJ0LCBCb3gsIFNuYWNrYmFyIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgb3BlbjogYm9vbGVhblxyXG4gIHRpdGxlOiBzdHJpbmdcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBzZXZlcml0eTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJ1xyXG4gIGF1dG9IaWRlRHVyYXRpb24/OiBudW1iZXJcclxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBIdW1hU25hY2tCYXIoe1xyXG4gIG9wZW4sXHJcbiAgYXV0b0hpZGVEdXJhdGlvbixcclxuICB0aXRsZSxcclxuICBtZXNzYWdlLFxyXG4gIHNldmVyaXR5LFxyXG4gIG9uQ2xvc2UsXHJcbn06IFByb3BzKSB7XHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgc25hY2tiYXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIGAsXHJcbiAgICBhbGVydDogY3NzYFxyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYCxcclxuICAgIHRpdGxlOiBjc3NgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1Cb2xkJztcclxuICAgIGAsXHJcbiAgICBtZXNzYWdlOiBjc3NgXHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1SZWd1bGFyJztcclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFNuYWNrYmFyXHJcbiAgICAgIG9wZW49e29wZW59XHJcbiAgICAgIGF1dG9IaWRlRHVyYXRpb249e2F1dG9IaWRlRHVyYXRpb24gPz8gNjAwMH1cclxuICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgY3NzPXtzdHlsZXMuc25hY2tiYXJ9XHJcbiAgICA+XHJcbiAgICAgIDxBbGVydFxyXG4gICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XHJcbiAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgIHNldmVyaXR5PXtzZXZlcml0eX1cclxuICAgICAgICBjc3M9e3N0eWxlcy5hbGVydH1cclxuICAgICAgPlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudGl0bGV9Pnt0aXRsZX08L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLm1lc3NhZ2V9PnttZXNzYWdlfTwvQm94PlxyXG4gICAgICA8L0FsZXJ0PlxyXG4gICAgPC9TbmFja2Jhcj5cclxuICApXHJcbn1cclxuIl19 */",
4282
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4283
+ };
4284
+ var _ref2$1 = process.env.NODE_ENV === "production" ? {
4285
+ name: "1qshlh5",
4286
+ styles: "margin-bottom:10px;font-size:16px;font-family:'Uni-Neue-Bold'"
4287
+ } : {
4288
+ name: "1izd7sd-title",
4289
+ styles: "margin-bottom:10px;font-size:16px;font-family:'Uni-Neue-Bold';label:title;",
4290
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJjIiwiZmlsZSI6Ikh1bWFTbmFja0Jhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcclxuaW1wb3J0IHsgQWxlcnQsIEJveCwgU25hY2tiYXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBvcGVuOiBib29sZWFuXHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InXHJcbiAgYXV0b0hpZGVEdXJhdGlvbj86IG51bWJlclxyXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFTbmFja0Jhcih7XHJcbiAgb3BlbixcclxuICBhdXRvSGlkZUR1cmF0aW9uLFxyXG4gIHRpdGxlLFxyXG4gIG1lc3NhZ2UsXHJcbiAgc2V2ZXJpdHksXHJcbiAgb25DbG9zZSxcclxufTogUHJvcHMpIHtcclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICBzbmFja2JhcjogY3NzYFxyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgYCxcclxuICAgIGFsZXJ0OiBjc3NgXHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBgLFxyXG4gICAgdGl0bGU6IGNzc2BcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLUJvbGQnO1xyXG4gICAgYCxcclxuICAgIG1lc3NhZ2U6IGNzc2BcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8U25hY2tiYXJcclxuICAgICAgb3Blbj17b3Blbn1cclxuICAgICAgYXV0b0hpZGVEdXJhdGlvbj17YXV0b0hpZGVEdXJhdGlvbiA/PyA2MDAwfVxyXG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxyXG4gICAgICBjc3M9e3N0eWxlcy5zbmFja2Jhcn1cclxuICAgID5cclxuICAgICAgPEFsZXJ0XHJcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgc2V2ZXJpdHk9e3NldmVyaXR5fVxyXG4gICAgICAgIGNzcz17c3R5bGVzLmFsZXJ0fVxyXG4gICAgICA+XHJcbiAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50aXRsZX0+e3RpdGxlfTwvQm94PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMubWVzc2FnZX0+e21lc3NhZ2V9PC9Cb3g+XHJcbiAgICAgIDwvQWxlcnQ+XHJcbiAgICA8L1NuYWNrYmFyPlxyXG4gIClcclxufVxyXG4iXX0= */",
4291
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4292
+ };
4293
+ var _ref3$1 = process.env.NODE_ENV === "production" ? {
4294
+ name: "184ty7s",
4295
+ styles: "max-width:400px;padding:20px 35px 20px 20px;border-radius:16px;overflow:hidden"
4296
+ } : {
4297
+ name: "1c8l6bv-alert",
4298
+ styles: "max-width:400px;padding:20px 35px 20px 20px;border-radius:16px;overflow:hidden;label:alert;",
4299
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JjIiwiZmlsZSI6Ikh1bWFTbmFja0Jhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcclxuaW1wb3J0IHsgQWxlcnQsIEJveCwgU25hY2tiYXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBvcGVuOiBib29sZWFuXHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InXHJcbiAgYXV0b0hpZGVEdXJhdGlvbj86IG51bWJlclxyXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFTbmFja0Jhcih7XHJcbiAgb3BlbixcclxuICBhdXRvSGlkZUR1cmF0aW9uLFxyXG4gIHRpdGxlLFxyXG4gIG1lc3NhZ2UsXHJcbiAgc2V2ZXJpdHksXHJcbiAgb25DbG9zZSxcclxufTogUHJvcHMpIHtcclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICBzbmFja2JhcjogY3NzYFxyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgYCxcclxuICAgIGFsZXJ0OiBjc3NgXHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBgLFxyXG4gICAgdGl0bGU6IGNzc2BcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLUJvbGQnO1xyXG4gICAgYCxcclxuICAgIG1lc3NhZ2U6IGNzc2BcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8U25hY2tiYXJcclxuICAgICAgb3Blbj17b3Blbn1cclxuICAgICAgYXV0b0hpZGVEdXJhdGlvbj17YXV0b0hpZGVEdXJhdGlvbiA/PyA2MDAwfVxyXG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxyXG4gICAgICBjc3M9e3N0eWxlcy5zbmFja2Jhcn1cclxuICAgID5cclxuICAgICAgPEFsZXJ0XHJcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgc2V2ZXJpdHk9e3NldmVyaXR5fVxyXG4gICAgICAgIGNzcz17c3R5bGVzLmFsZXJ0fVxyXG4gICAgICA+XHJcbiAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50aXRsZX0+e3RpdGxlfTwvQm94PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMubWVzc2FnZX0+e21lc3NhZ2V9PC9Cb3g+XHJcbiAgICAgIDwvQWxlcnQ+XHJcbiAgICA8L1NuYWNrYmFyPlxyXG4gIClcclxufVxyXG4iXX0= */",
4300
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4301
+ };
4302
+ var _ref4 = process.env.NODE_ENV === "production" ? {
4303
+ name: "d11srq",
4304
+ styles: "margin-top:80px"
4305
+ } : {
4306
+ name: "n0k5cs-snackbar",
4307
+ styles: "margin-top:80px;label:snackbar;",
4308
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJpQiIsImZpbGUiOiJIdW1hU25hY2tCYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IEFsZXJ0LCBCb3gsIFNuYWNrYmFyIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgb3BlbjogYm9vbGVhblxyXG4gIHRpdGxlOiBzdHJpbmdcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBzZXZlcml0eTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJ1xyXG4gIGF1dG9IaWRlRHVyYXRpb24/OiBudW1iZXJcclxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBIdW1hU25hY2tCYXIoe1xyXG4gIG9wZW4sXHJcbiAgYXV0b0hpZGVEdXJhdGlvbixcclxuICB0aXRsZSxcclxuICBtZXNzYWdlLFxyXG4gIHNldmVyaXR5LFxyXG4gIG9uQ2xvc2UsXHJcbn06IFByb3BzKSB7XHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgc25hY2tiYXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIGAsXHJcbiAgICBhbGVydDogY3NzYFxyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYCxcclxuICAgIHRpdGxlOiBjc3NgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1Cb2xkJztcclxuICAgIGAsXHJcbiAgICBtZXNzYWdlOiBjc3NgXHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1SZWd1bGFyJztcclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFNuYWNrYmFyXHJcbiAgICAgIG9wZW49e29wZW59XHJcbiAgICAgIGF1dG9IaWRlRHVyYXRpb249e2F1dG9IaWRlRHVyYXRpb24gPz8gNjAwMH1cclxuICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgY3NzPXtzdHlsZXMuc25hY2tiYXJ9XHJcbiAgICA+XHJcbiAgICAgIDxBbGVydFxyXG4gICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XHJcbiAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgIHNldmVyaXR5PXtzZXZlcml0eX1cclxuICAgICAgICBjc3M9e3N0eWxlcy5hbGVydH1cclxuICAgICAgPlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudGl0bGV9Pnt0aXRsZX08L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLm1lc3NhZ2V9PnttZXNzYWdlfTwvQm94PlxyXG4gICAgICA8L0FsZXJ0PlxyXG4gICAgPC9TbmFja2Jhcj5cclxuICApXHJcbn1cclxuIl19 */",
4309
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4310
+ };
4311
+ function HumaSnackBar(_ref5) {
4312
+ var open = _ref5.open,
4313
+ autoHideDuration = _ref5.autoHideDuration,
4314
+ title = _ref5.title,
4315
+ message = _ref5.message,
4316
+ severity = _ref5.severity,
4317
+ onClose = _ref5.onClose;
4318
+ var styles = {
4319
+ snackbar: _ref4,
4320
+ alert: _ref3$1,
4321
+ title: _ref2$1,
4322
+ message: _ref
4323
+ };
4324
+ return jsx(Snackbar, {
4325
+ open: open,
4326
+ autoHideDuration: autoHideDuration !== null && autoHideDuration !== void 0 ? autoHideDuration : 6000,
4327
+ onClose: onClose,
4328
+ css: styles.snackbar,
4329
+ children: jsxs(Alert, {
4330
+ onClose: onClose,
4331
+ title: title,
4332
+ severity: severity,
4333
+ css: styles.alert,
4334
+ children: [jsx(Box, {
4335
+ css: styles.title,
4336
+ children: title
4337
+ }), jsx(Box, {
4338
+ css: styles.message,
4339
+ children: message
4340
+ })]
4341
+ })
4342
+ });
4343
+ }
4344
+
4345
+ var _templateObject$6, _templateObject2$4;
4346
+ var KYCProvider = 'Securitize';
4347
+ var KYCCopiesByState = {
4348
+ verifyIdentity: {
4349
+ description: "Link your ".concat(KYCProvider, " account or create a new one to complete identity verification."),
4350
+ buttonText: 'VERIFY MY IDENTITY'
4351
+ },
4352
+ emailSignatureLink: {
4353
+ description: "Final step: Your digital signature on legal documents is required. Click below to email yourself the DocuSign link.",
4354
+ buttonText: 'EMAIL DOCUSIGN LINK'
4355
+ },
4356
+ resendSignatureLink: {
4357
+ description: "DocuSign link sent successfully. Haven't received it? Check your spam folder or click below to resend it.",
4358
+ buttonText: 'RESEND DOCUSIGN LINK'
4359
+ },
4360
+ docUnderReview: {
4361
+ description: "Documents received and under review. You'll be notified upon approval. Your patience is appreciated.",
4362
+ buttonText: 'THANK YOU'
4363
+ }
4364
+ };
4365
+ var LoadingCopiesByType = {
4366
+ verificationStatus: {
4367
+ description: "Checking your verification status..."
4368
+ },
4369
+ sendDocSignatureLink: {
4370
+ description: "Sending signature link..."
4371
+ }
4372
+ };
4373
+ function EvaluationKYC(_ref) {
4374
+ var poolInfo = _ref.poolInfo,
4375
+ handleClose = _ref.handleClose;
4376
+ var theme = useTheme();
4377
+ var dispatch = useAppDispatch();
4378
+ var isDev = envUtil.checkIsDev();
4379
+ var _useWeb3React = useWeb3React(),
4380
+ account = _useWeb3React.account,
4381
+ chainId = _useWeb3React.chainId;
4382
+ var _useState = useState(),
4383
+ _useState2 = _slicedToArray(_useState, 2),
4384
+ loadingType = _useState2[0],
4385
+ setLoadingType = _useState2[1];
4386
+ var _useState3 = useState(KYCCopiesByState.verifyIdentity.description),
3789
4387
  _useState4 = _slicedToArray(_useState3, 2),
3790
4388
  description = _useState4[0],
3791
4389
  setDescription = _useState4[1];
3792
- var _useState5 = useState(),
4390
+ var _useState5 = useState(KYCCopiesByState.verifyIdentity.buttonText),
3793
4391
  _useState6 = _slicedToArray(_useState5, 2),
3794
- KYCVerifyStatus = _useState6[0],
3795
- setKYCVerifyStatus = _useState6[1];
3796
- var lenderApprovalProvider = (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.lenderApprovalProvider;
3797
- var isKYC = (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) === 'KYC';
3798
- var _useState7 = useState('This pool requires lender approval'),
4392
+ buttonText = _useState6[0],
4393
+ setButtonText = _useState6[1];
4394
+ var _useState7 = useState(),
3799
4395
  _useState8 = _slicedToArray(_useState7, 2),
3800
- subTitle = _useState8[0],
3801
- setSubTitle = _useState8[1];
3802
- var _useState9 = useState('GET APPROVED'),
4396
+ KYCVerifyStatus = _useState8[0],
4397
+ setKYCVerifyStatus = _useState8[1];
4398
+ var _useState9 = useState(),
3803
4399
  _useState10 = _slicedToArray(_useState9, 2),
3804
- buttonText = _useState10[0],
3805
- setButtonText = _useState10[1];
4400
+ docSignatureStatus = _useState10[0],
4401
+ setDocSignatureStatus = _useState10[1];
4402
+ var docSignatureCompleted = docSignatureStatus === 'completed';
4403
+ var _useState11 = useState(false),
4404
+ _useState12 = _slicedToArray(_useState11, 2),
4405
+ openSnackBar = _useState12[0],
4406
+ setOpenSnackBar = _useState12[1];
3806
4407
  var styles = {
3807
4408
  iconWrapper: css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
3808
4409
  description: css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 50px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n "])), theme.cssMixins.rowCentered)
3809
4410
  };
3810
- useEffect(function () {
3811
- if (isKYC) {
3812
- setDescription("Approval process is run by ".concat(lenderApprovalProvider.provider));
4411
+ var _useMemo = useMemo(function () {
4412
+ var envelopeKey = "".concat(poolInfo.pool.toLowerCase(), "-").concat(account === null || account === void 0 ? void 0 : account.toLowerCase());
4413
+ var envelopeLastQueryTimeKey = "".concat(envelopeKey, "-last-query-time");
4414
+ return {
4415
+ envelopeKey: envelopeKey,
4416
+ envelopeLastQueryTimeKey: envelopeLastQueryTimeKey
4417
+ };
4418
+ }, [account, poolInfo.pool]),
4419
+ envelopeKey = _useMemo.envelopeKey,
4420
+ envelopeLastQueryTimeKey = _useMemo.envelopeLastQueryTimeKey;
4421
+
4422
+ // DocuSign GET requests to any specific URL can be called not more often than once every 15 minutes.
4423
+ // https://developers.docusign.com/platform/api-guidelines/#:~:text=Polling,not%20once%20every%2010%20minutes
4424
+ var checkGetDocSignatureStatusIsAvailable = useCallback(function () {
4425
+ var lastQueryTime = localStorage.getItem(envelopeLastQueryTimeKey);
4426
+ if (!lastQueryTime) {
4427
+ return true;
3813
4428
  }
3814
- }, [lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.provider, isKYC]);
4429
+ var lastQueryTimeNumber = Number(lastQueryTime);
4430
+ var now = timeUtil.getUnixTimestamp();
4431
+ var diff = now - lastQueryTimeNumber;
4432
+ var fifteenMinutes = 15 * 60;
4433
+ return diff > fifteenMinutes;
4434
+ }, [envelopeLastQueryTimeKey]);
3815
4435
  useEffect(function () {
3816
4436
  var fetchData = /*#__PURE__*/function () {
3817
4437
  var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3818
- var verificationStatus;
4438
+ var verificationStatus, envelopeId, _yield$IdentityServic, status;
3819
4439
  return regenerator.wrap(function _callee$(_context) {
3820
4440
  while (1) switch (_context.prev = _context.next) {
3821
4441
  case 0:
3822
- if (!(account && chainId && isKYC)) {
3823
- _context.next = 11;
4442
+ if (!(account && chainId)) {
4443
+ _context.next = 35;
3824
4444
  break;
3825
4445
  }
3826
4446
  _context.prev = 1;
3827
- setLoading(true);
4447
+ setLoadingType('verificationStatus');
3828
4448
  _context.next = 5;
3829
4449
  return IdentityService.getVerificationStatus(account, poolInfo.pool, chainId, isDev);
3830
4450
  case 5:
3831
4451
  verificationStatus = _context.sent;
3832
4452
  setKYCVerifyStatus(verificationStatus);
3833
- if (verificationStatus.isVerified) {
3834
- setSubTitle('Approval process in progress. Please contact Pool Owner.');
3835
- setButtonText('CONTACT POOL OWNER');
4453
+ if (!verificationStatus.isVerified) {
4454
+ _context.next = 26;
4455
+ break;
3836
4456
  }
3837
- case 8:
3838
- _context.prev = 8;
3839
- setLoading(false);
3840
- return _context.finish(8);
3841
- case 11:
4457
+ envelopeId = localStorage.getItem(envelopeKey);
4458
+ if (envelopeId) {
4459
+ _context.next = 14;
4460
+ break;
4461
+ }
4462
+ setDescription(KYCCopiesByState.emailSignatureLink.description);
4463
+ setButtonText(KYCCopiesByState.emailSignatureLink.buttonText);
4464
+ _context.next = 26;
4465
+ break;
4466
+ case 14:
4467
+ if (checkGetDocSignatureStatusIsAvailable()) {
4468
+ _context.next = 19;
4469
+ break;
4470
+ }
4471
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4472
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4473
+ _context.next = 26;
4474
+ break;
4475
+ case 19:
4476
+ _context.next = 21;
4477
+ return IdentityService.getDocSignatureStatus(envelopeId, chainId, isDev);
4478
+ case 21:
4479
+ _yield$IdentityServic = _context.sent;
4480
+ status = _yield$IdentityServic.status;
4481
+ localStorage.setItem(envelopeLastQueryTimeKey, String(timeUtil.getUnixTimestamp()));
4482
+ setDocSignatureStatus(status);
4483
+ if (status === 'completed') {
4484
+ setDescription(KYCCopiesByState.docUnderReview.description);
4485
+ setButtonText(KYCCopiesByState.docUnderReview.buttonText);
4486
+ // For voided and declined status, we need to send a new link
4487
+ } else if (['voided', 'declined'].includes(status)) {
4488
+ localStorage.removeItem(envelopeKey);
4489
+ localStorage.removeItem(envelopeLastQueryTimeKey);
4490
+ setDescription(KYCCopiesByState.emailSignatureLink.description);
4491
+ setButtonText(KYCCopiesByState.emailSignatureLink.buttonText);
4492
+ } else {
4493
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4494
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4495
+ }
4496
+ case 26:
4497
+ _context.next = 32;
4498
+ break;
4499
+ case 28:
4500
+ _context.prev = 28;
4501
+ _context.t0 = _context["catch"](1);
4502
+ console.error(_context.t0);
4503
+ dispatch(setError({
4504
+ errorMessage: 'Something went wrong, please try again later.'
4505
+ }));
4506
+ case 32:
4507
+ _context.prev = 32;
4508
+ setLoadingType(undefined);
4509
+ return _context.finish(32);
4510
+ case 35:
3842
4511
  case "end":
3843
4512
  return _context.stop();
3844
4513
  }
3845
- }, _callee, null, [[1,, 8, 11]]);
4514
+ }, _callee, null, [[1, 28, 32, 35]]);
3846
4515
  }));
3847
4516
  return function fetchData() {
3848
4517
  return _ref2.apply(this, arguments);
3849
4518
  };
3850
4519
  }();
3851
4520
  fetchData();
3852
- }, [account, chainId, isDev, isKYC, poolInfo.pool]);
3853
- var approveLenderByEA = /*#__PURE__*/function () {
4521
+ }, [account, chainId, checkGetDocSignatureStatusIsAvailable, dispatch, envelopeKey, envelopeLastQueryTimeKey, isDev, poolInfo.pool]);
4522
+ var approveLender = /*#__PURE__*/function () {
3854
4523
  var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2() {
3855
- var payload, error;
4524
+ var _ref4, isNotOnboarded, isVerified, issuerId, baseUrl, originUrl, redirectUrl, providerAuthorizeUrl, providerUrl, envelopeId, _yield$IdentityServic2, _envelopeId;
3856
4525
  return regenerator.wrap(function _callee2$(_context2) {
3857
4526
  while (1) switch (_context2.prev = _context2.next) {
3858
4527
  case 0:
3859
- _context2.prev = 0;
3860
- setLoading(true);
3861
- payload = {
3862
- poolAddress: poolInfo.pool,
3863
- lenderWalletAddress: account
3864
- };
3865
- _context2.next = 5;
3866
- return EAService.approveLender(payload, chainId);
3867
- case 5:
3868
- handleApproveSuccess();
3869
- setLoading(false);
3870
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
3871
- _context2.next = 15;
4528
+ if (!docSignatureCompleted) {
4529
+ _context2.next = 3;
4530
+ break;
4531
+ }
4532
+ handleClose();
4533
+ return _context2.abrupt("return");
4534
+ case 3:
4535
+ _ref4 = KYCVerifyStatus || {}, isNotOnboarded = _ref4.isNotOnboarded, isVerified = _ref4.isVerified;
4536
+ if (isVerified) {
4537
+ _context2.next = 14;
4538
+ break;
4539
+ }
4540
+ issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd';
4541
+ baseUrl = configUtil.getKYCProviderBaseUrl(KYCProvider, isDev);
4542
+ originUrl = window.location.href.split('?')[0];
4543
+ redirectUrl = "".concat(originUrl, "?kycProvider=").concat(KYCProvider, "&kycPool=").concat(poolInfo.pool);
4544
+ providerAuthorizeUrl = "".concat(baseUrl, "/#/authorize?issuerId=").concat(issuerId, "&scope=details&details=verification&redirectUrl=").concat(redirectUrl);
4545
+ providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
4546
+ window.location.href = providerUrl;
4547
+ _context2.next = 41;
3872
4548
  break;
3873
- case 10:
3874
- _context2.prev = 10;
3875
- _context2.t0 = _context2["catch"](0);
3876
- error = _context2.t0;
3877
- setLoading(false);
4549
+ case 14:
4550
+ envelopeId = localStorage.getItem(envelopeKey);
4551
+ _context2.prev = 15;
4552
+ setLoadingType('sendDocSignatureLink');
4553
+ if (envelopeId) {
4554
+ _context2.next = 29;
4555
+ break;
4556
+ }
4557
+ _context2.next = 20;
4558
+ return IdentityService.requestDocSignature(account, chainId, isDev);
4559
+ case 20:
4560
+ _yield$IdentityServic2 = _context2.sent;
4561
+ _envelopeId = _yield$IdentityServic2.envelopeId;
4562
+ localStorage.setItem(envelopeKey, _envelopeId);
4563
+ localStorage.setItem(envelopeLastQueryTimeKey, String(timeUtil.getUnixTimestamp()));
4564
+ setOpenSnackBar(true);
4565
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4566
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4567
+ _context2.next = 32;
4568
+ break;
4569
+ case 29:
4570
+ _context2.next = 31;
4571
+ return IdentityService.resendDocSignatureLink(envelopeId, chainId, isDev);
4572
+ case 31:
4573
+ setOpenSnackBar(true);
4574
+ case 32:
4575
+ _context2.next = 38;
4576
+ break;
4577
+ case 34:
4578
+ _context2.prev = 34;
4579
+ _context2.t0 = _context2["catch"](15);
4580
+ console.error(_context2.t0);
3878
4581
  dispatch(setError({
3879
- errorMessage: error.message
4582
+ errorMessage: 'Something went wrong, please try again later.'
3880
4583
  }));
3881
- case 15:
4584
+ case 38:
4585
+ _context2.prev = 38;
4586
+ setLoadingType(undefined);
4587
+ return _context2.finish(38);
4588
+ case 41:
3882
4589
  case "end":
3883
4590
  return _context2.stop();
3884
4591
  }
3885
- }, _callee2, null, [[0, 10]]);
4592
+ }, _callee2, null, [[15, 34, 38, 41]]);
3886
4593
  }));
3887
- return function approveLenderByEA() {
4594
+ return function approveLender() {
3888
4595
  return _ref3.apply(this, arguments);
3889
4596
  };
3890
4597
  }();
3891
- var approveLenderByKYC = function approveLenderByKYC() {
3892
- switch (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.provider) {
3893
- case 'Securitize':
3894
- {
3895
- var issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd';
3896
- var baseUrl = "https://id".concat(isDev ? '.sandbox' : '', ".securitize.io");
3897
- var originUrl = window.location.href.split('?')[0];
3898
- var redirectUrl = "".concat(originUrl, "?type=KYC&pool=").concat(poolInfo.pool);
3899
- var providerAuthorizeUrl = "".concat(baseUrl, "/#/authorize?issuerId=").concat(issuerId, "&scope=details&details=verification&redirectUrl=").concat(redirectUrl);
3900
- var _ref4 = KYCVerifyStatus || {},
3901
- isNotOnboarded = _ref4.isNotOnboarded;
3902
- var providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
3903
- window.location.href = providerUrl;
3904
- }
3905
- break;
3906
- }
3907
- };
3908
- var approveLender = function approveLender() {
3909
- switch (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) {
3910
- case 'EA':
3911
- approveLenderByEA();
3912
- break;
3913
- case 'KYC':
3914
- approveLenderByKYC();
3915
- break;
3916
- default:
3917
- approveLenderByEA();
3918
- break;
3919
- }
4598
+ var getEmailLinkSentSnackbar = function getEmailLinkSentSnackbar() {
4599
+ return jsx(HumaSnackBar, {
4600
+ open: openSnackBar,
4601
+ title: "Signature Link Sent",
4602
+ message: "The secure signature session link has been sent to your email.",
4603
+ severity: "success",
4604
+ onClose: function onClose() {
4605
+ return setOpenSnackBar(false);
4606
+ }
4607
+ });
3920
4608
  };
3921
- if (!loading) {
4609
+ if (!loadingType) {
3922
4610
  return jsxs(WrapperModal, {
3923
4611
  title: "Lender Approval",
3924
- subTitle: subTitle,
4612
+ subTitle: "This pool requires lender approval",
3925
4613
  children: [jsx(Box, {
3926
4614
  css: styles.iconWrapper,
3927
4615
  children: jsx(ApproveLenderIcon, {})
@@ -3931,14 +4619,32 @@ function Evaluation$1(_ref) {
3931
4619
  }), jsx(BottomButton, {
3932
4620
  variant: "contained",
3933
4621
  onClick: approveLender,
3934
- disabled: KYCVerifyStatus === null || KYCVerifyStatus === void 0 ? void 0 : KYCVerifyStatus.isVerified,
3935
4622
  children: buttonText
3936
- })]
4623
+ }), getEmailLinkSentSnackbar()]
3937
4624
  });
3938
4625
  }
3939
4626
  return jsx(LoadingModal, {
3940
- title: "Approval Pending",
3941
- description: "Waiting for approval confirmation..."
4627
+ title: "Lender Approval",
4628
+ description: LoadingCopiesByType[loadingType].description
4629
+ });
4630
+ }
4631
+
4632
+ function Evaluation$1(_ref) {
4633
+ var _poolInfo$extra;
4634
+ var poolInfo = _ref.poolInfo,
4635
+ handleClose = _ref.handleClose,
4636
+ handleApproveSuccess = _ref.handleApproveSuccess;
4637
+ var lenderApprovalProvider = (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.lenderApprovalProvider;
4638
+ var isKYC = (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) === 'KYC';
4639
+ if (isKYC) {
4640
+ return jsx(EvaluationKYC, {
4641
+ poolInfo: poolInfo,
4642
+ handleClose: handleClose
4643
+ });
4644
+ }
4645
+ return jsx(EvaluationEA, {
4646
+ poolInfo: poolInfo,
4647
+ handleApproveSuccess: handleApproveSuccess
3942
4648
  });
3943
4649
  }
3944
4650
 
@@ -4014,7 +4720,8 @@ function Transfer$2(_ref) {
4014
4720
 
4015
4721
  function Success$2(_ref) {
4016
4722
  var poolInfo = _ref.poolInfo,
4017
- handleAction = _ref.handleAction;
4723
+ handleAction = _ref.handleAction,
4724
+ hasNextStep = _ref.hasNextStep;
4018
4725
  var _useWeb3React = useWeb3React(),
4019
4726
  account = _useWeb3React.account;
4020
4727
  var poolUnderlyingToken = poolInfo.poolUnderlyingToken;
@@ -4047,7 +4754,15 @@ function Success$2(_ref) {
4047
4754
  var content = ["You successfully supplied ".concat(formatMoney(supplyAmount), " ").concat(symbol, ".")];
4048
4755
  return jsx(TxDoneModal, {
4049
4756
  handleAction: handleAction,
4050
- content: content
4757
+ content: content,
4758
+ buttonText: hasNextStep ? "WHAT'S NEXT" : undefined
4759
+ });
4760
+ }
4761
+
4762
+ function Notifications(_ref) {
4763
+ var handleAction = _ref.handleAction;
4764
+ return jsx(NotifiSubscriptionModal, {
4765
+ handleSuccess: handleAction
4051
4766
  });
4052
4767
  }
4053
4768
 
@@ -4058,7 +4773,8 @@ function LendSupply(_ref) {
4058
4773
  handleSuccess = _ref.handleSuccess;
4059
4774
  var dispatch = useDispatch();
4060
4775
  var _useWeb3React = useWeb3React(),
4061
- account = _useWeb3React.account;
4776
+ account = _useWeb3React.account,
4777
+ chainId = _useWeb3React.chainId;
4062
4778
  var poolName = POOL_NAME[poolNameStr];
4063
4779
  var poolType = POOL_TYPE[poolTypeStr];
4064
4780
  var poolInfo = usePoolInfo(poolName, poolType);
@@ -4069,6 +4785,10 @@ function LendSupply(_ref) {
4069
4785
  errorMessage = _useAppSelector.errorMessage;
4070
4786
  var _usePoolAllowance = usePoolAllowance(poolName, poolType, account),
4071
4787
  allowance = _usePoolAllowance.allowance;
4788
+ var _useIsFirstTimeNotifi = useIsFirstTimeNotifiUser(account, chainId),
4789
+ isFirstTimeNotifiUser = _useIsFirstTimeNotifi.isFirstTimeNotifiUser;
4790
+ var _useDoesChainSupportN = useDoesChainSupportNotifi(account, chainId),
4791
+ notifiChainSupported = _useDoesChainSupportN.notifiChainSupported;
4072
4792
  var _useLenderApproved = useLenderApproved(poolName, poolType, account),
4073
4793
  _useLenderApproved2 = _slicedToArray(_useLenderApproved, 2),
4074
4794
  lenderApproved = _useLenderApproved2[0],
@@ -4094,6 +4814,13 @@ function LendSupply(_ref) {
4094
4814
  handleSuccess(blockNumber);
4095
4815
  }
4096
4816
  }, [handleSuccess, refreshLenderPosition]);
4817
+ var setupNotificationsOrClose = useCallback(function () {
4818
+ if (isFirstTimeNotifiUser && notifiChainSupported) {
4819
+ dispatch(setStep(WIDGET_STEP.Notifications));
4820
+ } else {
4821
+ handleClose();
4822
+ }
4823
+ }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported]);
4097
4824
  if (!poolInfo) {
4098
4825
  return null;
4099
4826
  }
@@ -4105,6 +4832,7 @@ function LendSupply(_ref) {
4105
4832
  handleSuccess: handleSupplySuccess,
4106
4833
  children: [step === WIDGET_STEP.Evaluation && jsx(Evaluation$1, {
4107
4834
  poolInfo: poolInfo,
4835
+ handleClose: handleClose,
4108
4836
  handleApproveSuccess: handleApproveSuccess
4109
4837
  }), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$2, {
4110
4838
  poolInfo: poolInfo,
@@ -4117,6 +4845,9 @@ function LendSupply(_ref) {
4117
4845
  poolInfo: poolInfo
4118
4846
  }), step === WIDGET_STEP.Done && jsx(Success$2, {
4119
4847
  poolInfo: poolInfo,
4848
+ handleAction: setupNotificationsOrClose,
4849
+ hasNextStep: isFirstTimeNotifiUser
4850
+ }), step === WIDGET_STEP.Notifications && jsx(Notifications, {
4120
4851
  handleAction: handleClose
4121
4852
  }), step === WIDGET_STEP.Error && jsx(ErrorModal, {
4122
4853
  title: "Supply",
@@ -5904,7 +6635,7 @@ function UpcomingList(_ref) {
5904
6635
  children: connectWalletDesc
5905
6636
  }), isActive && !(items !== null && items !== void 0 && items.length) && jsx(Box, {
5906
6637
  children: noItemDesc
5907
- }), isActive && (items === null || items === void 0 ? void 0 : items.length) && jsxs(Box, {
6638
+ }), isActive && !!(items !== null && items !== void 0 && items.length) && jsxs(Box, {
5908
6639
  css: styles.tableWrapper,
5909
6640
  children: [loading && jsx(Box, {
5910
6641
  css: styles.progress,
@@ -6227,7 +6958,7 @@ function SuperfluidUpcomingList(_ref) {
6227
6958
  }
6228
6959
 
6229
6960
  function SuperfluidFactoring() {
6230
- var _PoolMap$Stream$poolN, _PoolSubgraphMap, _PoolSubgraphMap2;
6961
+ var _PoolMap$Stream$poolN, _poolInfo$extra, _PoolSubgraphMap;
6231
6962
  var poolName = POOL_NAME.Superfluid;
6232
6963
  var _useWeb3React = useWeb3React(),
6233
6964
  chainId = _useWeb3React.chainId;
@@ -6259,7 +6990,7 @@ function SuperfluidFactoring() {
6259
6990
  loading: loading && actionType === 'payment',
6260
6991
  accountStats: accountStats
6261
6992
  }), jsx(ApolloWrapper, {
6262
- uri: (_PoolSubgraphMap = PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap === void 0 ? void 0 : _PoolSubgraphMap.subgraph,
6993
+ uri: poolInfo === null || poolInfo === void 0 ? void 0 : (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.subgraph,
6263
6994
  children: jsx(SuperfluidUpcomingList, {
6264
6995
  poolInfo: poolInfo,
6265
6996
  handleGetPaid: handleGetPaid,
@@ -6267,7 +6998,7 @@ function SuperfluidFactoring() {
6267
6998
  loading: loading && actionType === 'borrow'
6268
6999
  })
6269
7000
  }), jsx(ApolloWrapper, {
6270
- uri: (_PoolSubgraphMap2 = PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap2 === void 0 ? void 0 : _PoolSubgraphMap2.subgraph,
7001
+ uri: (_PoolSubgraphMap = PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap === void 0 ? void 0 : _PoolSubgraphMap.subgraph,
6271
7002
  children: poolInfo && jsx(Activity, {
6272
7003
  poolInfo: poolInfo,
6273
7004
  targetEvents: [CreditEvent.DrawdownMadeWithReceivable, CreditEvent.PaymentMade, CreditEvent.ReceivedPaymentProcessed]