{"version":3,"sources":["Reducers/partnerActiveReducer.js","Components/Hook/useLoginSuccess.js","Components/Login/loginForm.js","Util/localCache.js","Util/APIReqHelper.js","Util/apiClient.js","Util/paymentAPIClient.js","Util/reportAPIClient.js","Util/requests.js","Util/queries.js","Actions/loginAction.js","Components/Table/tableHeader.js","Util/planHelper.js","Components/Table/tableBody.js","Components/Table/tableWrapper.js","Util/dateHelpers.js","Util/filter.js","Util/TableHelpers/commonHelper.js","Resources/Image/sd-download.svg","Util/TableHelpers/thirdPartyUsageCSVDownloadHelper.js","Util/TableHelpers/usageCsvDownloadHelper.js","Util/TableHelpers/usageTableHelper.js","Components/Billing/usageTableSection.js","Components/CommonComponents/componentHeader.js","Components/CommonComponents/slidingTab.js","Util/TableHelpers/storeUsageHelper.js","Reducers/storeUsageMonthReducer.js","Components/Usage/monthSelector.js","Util/TableHelpers/thirdPartyUsageTable.js","Components/Billing/thirdPartyTableSection.js","Components/Billing/billingPageWrapper.js","Util/dataHelper.js","Model/businessObjects.js","Factory/factory.js","Util/TableHelpers/earningCSVDownloadHelper.js","Components/Earning/earningsTableSection.js","Util/TableHelpers/earningsTableHelper.js","Components/Earning/earningPageWrapper.js","Components/Dashboard/dashboardInfoCard.js","Components/Dashboard/dashboardSummeryInfoSection.js","Components/Dashboard/dashboardInfo.js","Resources/Image/sd_toggle_on.svg","Resources/Image/sd_toggle_off.svg","Components/Dashboard/planModalPlanSingle.js","Actions/partnerAccountsAction.js","Components/Dashboard/planUpgradeModal.js","Components/CommonComponents/loadingSpinner.js","Reducers/magicLinkReducer.js","Actions/magicLinkAction.js","Components/Dashboard/magicLink.js","Components/CommonComponents/dropDown.js","Components/Dashboard/dropdownMenuList.js","Components/Dashboard/accountsTableSection.js","Components/StripeWrapper/stripeCard.js","Util/TableHelpers/accountsTableHelper.js","Components/CommonComponents/generalModal.js","Components/Dashboard/referralLinkModal.js","Components/Dashboard/dashboardWrapper.js","Actions/partnerCardInfoDetailsAction.js","Actions/partnerCardUpdateAction.js","Actions/partnerCardAddAction.js","Components/StripeWrapper/stripeCardWrapper.js","Components/Payments/addCreditCardModal.js","Components/PaymentSetup/paymentModalWrapper.js","Components/PaymentSetup/bankInfoAddModalContent.js","Reducers/achBankInfoReducer.js","Actions/achBankInfoAction.js","Components/PaymentSetup/mandateModalContent.js","Reducers/clientSecretReducer.js","Components/PaymentSetup/successModalContent.js","Components/PaymentSetup/errorModalContent.js","Components/PaymentSetup/addBankDetails.js","Actions/clientSecretAction.js","Components/PaymentSetup/bankDetails.js","Components/PaymentSetup/paymentSetupWrapper.js","Components/PaypalSetup/paypalDetails.js","Reducers/paypalApprovalReducer.js","Components/PaypalSetup/connectPaypal.js","Actions/paypalConnectAction.js","Components/PaypalSetup/paypalSetupWrapper.js","Components/Payments/creditCardInfoSection.js","Actions/partnerCardRemoveAction.js","Reducers/apiResponseMessagesReducer.js","Reducers/payoutBankInfoReducer.js","Actions/payoutBankInfoAction.js","Components/Payouts/bankInfoHolder.js","Actions/partnerBankInfoUpdateAction.js","Reducers/referralLinkReducer.js","Actions/partnerDetailsAction.js","Actions/passwordUpdateAction.js","Components/Profile/passwordUpdateSection.js","Components/Profile/singleInfoSection.js","Components/Profile/profileUpdateModal.js","Components/Profile/profilePageWrapper.js","Util/TableHelpers/invoiceTableHelper.js","Components/Payments/invoicesTableSection.js","Components/Payments/paymentsWrapper.js","Reducers/payoutsReducer.js","Model/payoutObjects.js","Components/Payouts/payoutsTableSection.js","Components/Payouts/bankInfoDetails.js","Components/Payouts/bankDepositSection.js","Components/Payouts/connectPaypalIdentity.js","Reducers/paypalIdentityReducer.js","Components/Payouts/paypalIdentityDetails.js","Actions/paypalIdentityDeleteAction.js","Components/Payouts/paypalIdentiySection.js","Components/Payouts/payoutsWrapper.js","Components/partnerCodeAndLinks/shareLinks.js","Components/partnerCodeAndLinks/partnerCodeAndLinksWrapper.js","Components/Usage/storeUsageCSVDownloader.js","Actions/monthlyStoreExtendedReportAction.js","Components/Usage/storeUsageTableSection.js","Components/Usage/usageWrapper.js","Components/PartnerPortal/leftNavbar.js","Components/PartnerPortal/partnerPortalHeaderWithBtn.js","Actions/partnerBillingDetailsAction.js","Actions/partnerInvoiceAction.js","Reducers/thirdPartyBillingReducer.js","Actions/partnerThirdPartyBillingDetailsAction.js","Components/Hook/useHandleQuerySource.js","Reducers/paypalInfoReducer.js","Actions/paypalIdentityAction.js","Reducers/lastMonthBillingReducer.js","Actions/lastMonthBillingAction.js","Components/TopBanner/topBanner.js","Actions/clearLastMonthBillingAction.js","Components/PartnerPortal/partnerPortalWrapper.js","Actions/partnerPayoutsAction.js","Actions/paypalInfoAction.js","protectedRoute.js","Resources/Image/logo.png","Components/Login/logoSection.js","Components/Login/loginPageWrapper.js","Components/CommonComponents/stateLines.js","Components/MultiSectionSignup/topBanner.js","Components/MultiSectionSignup/becomePartner.js","Components/MultiSectionSignup/basicInfo.js","Reducers/otpReducer.js","Actions/signupAction.js","Components/MultiSectionSignup/moreDetails.js","Components/MultiSectionSignup/loggingIn.js","Components/MultiSectionSignup/signupWrapper.js","Util/countryListHelper.js","Components/SignUp/countryList.js","Components/MultiSectionSignup/basicInfoV2.js","Components/MultiSectionSignup/phoneVerification.js","Components/MultiSectionSignup/signupV2Wrapper.js","Components/SignUp/signUpPageWrapper.js","Reducers/paypalIdentityConnectReducer.js","Components/Paypal/paypalLoginReturnWrapper.js","Actions/paypalConnectIdentityAction.js","Components/Welcome/partnerWelcomeWrapper.js","App.js","Reducers/index.js","Reducers/leftSideBarReducer.js","Reducers/partnerBillingDataReducer.js","Reducers/passMatchedReducer.js","Reducers/selectedComponentReducer.js","Reducers/partnerAccountsReducer.js","Reducers/partnerDetailsReducer.js","Reducers/partnerInvoicesReducer.js","Reducers/partnerProfileInfoUpadateStateReducer.js","Reducers/partnerCreditCardInfoReducer.js","Reducers/partnerCreditCardUpdateStateReducer.js","Reducers/partnerBankInfoReducer.js","Reducers/signingUpStateReducer.js","index.js"],"names":["PARTNER_ACTIVE","partnerActiveSelector","state","partnerActive","storeMapping","action","type","payload","useLoginSuccess","passMatched","useSelector","history","useHistory","useEffect","active","push","EMAIL_OR_PASS_MATCHED","LoginForm","emailInputRef","useRef","passInputRef","loginRef","dispatch","useDispatch","current","value","disabled","setTimeout","className","onSubmit","event","preventDefault","email","pass","verifyEmailAndPass","htmlFor","ref","placeholder","name","required","rel","href","target","role","JWT_TOKEN","getJwtToken","localStorage","getItem","getConfigWithAuth","headers","dataType","axios","create","baseURL","getJSON","url","apiClient","get","postJSON","data","post","paymentPostJSON","paymentAPIClient","paymentGetJSON","paymentPutJSON","put","paymentDelJSON","delete","findPartnerLoginInfo","a","findPartnerBilling","findPartnerDetails","findPartnerAccounts","updatePartnerPassword","findPartnerPayments","findPartnerPaymentsCard","addPartnerPaymentCard","updatePartnerPaymentCard","removePartnerPaymentCard","updatePartnerBankInfo","addNewPartner","getPayoutsInfo","findThirdPartyWeeklyBillingDetails","findStoreExtendedReport","id","date","reportAPIClient","findMagicLink","fetchACHBankInfo","initACH","findPayoutBankInfo","initPaypalConnect","findPaypalInfo","findPaypalIdentity","initPaypalIdentityConnect","deletePaypalIdentity","findLastMonthBilling","clearPartnerDues","createOtp","verifyOtp","createPartnerV2","logout","removeItem","window","location","reload","password","response","accessToken","token","setItem","console","error","TableHeader","tableHeaderArr","option","map","key","ind","scope","PLAN_DISPLAY_NAMES","STARTER","PROFESSIONAL_LITE","PROFESSIONAL_WITHOUT_SMS","PROFESSIONAL","PROFESSIONAL_PLUS","PROFESSIONAL_PLUS_WITHOUT_SMS","DOORDASH_FLEX_FULFILMENT","ENTERPRISE","TRIAL_PROFESSIONAL","BRANDED_PREMIUM","BRANDED_PREMIUM_WITHOUT_SMS","BRANDED_PREMIUM_PLUS","BRANDED_PREMIUM_CUSTOM","BRANDED_PREMIUM_MARKETING","BRANDED_ELITE","BRANDED_ELITE_LITE","BRANDED_ELITE_PLUS","BRANDED_ELITE_UNLIMITED","BUSINESS_ADVANCED","BUSINESS_ADVANCED_PLUS","PLAN_PAID_MAPPING","planOrder","TableBody","tableBodyArr","errorText","length","colSpan","row","rowIndex","colsArr","classNames","firstChildHighlight","col","colIndex","TableWrapper","minWidthClass","minWidth","parseDate","rawDate","test","timestamp","parseInt","Date","log","split","Number","year","month","day","Error","DATE_FORMATS","calculateAmountAfterDiscount","amount","discount","toFixed","sortTableByMonth","prevCom","curCom","prevDate","curDate","sortByMonth","prev","cur","prevMonth","getTime","getShortDate","dateObj","getTimezoneOffset","toLocaleString","calculateDiscountAmount","calculatePaidDiscountAmount","totalDiscountAmount","forEach","entry","isPaid","parseFloat","billableAmount","createTableHeadersAndData","columnConfigs","config","index","dataFunc","csvRowHeader","getThirdPartyUsageCSVDataLink","fileName","weeklyBillingData","accountData","blob","Blob","createCSVRows","URL","createObjectURL","download","title","src","downloadIcon","alt","rowString","join","companyName","sanitize","companyId","delivery","deliveryFeeAmount","tips","tipsAmount","total","totalAmount","paid","paidAmount","unpaid","unpaidAmount","newRow","str","replaceAll","getUsageCSVDataLink","paymentData","accountDetails","discountAmount","paymentAfterDiscount","adminName","phoneNumber","country","currentPlan","numberOfOrders","numberOfPaidOrders","countOfAccountForThatMonth","totalAccountCount","targetMonthDateObj","account","accountMemberSinceDateObj","memberSince","isNaN","checkIfCreatedBefore","toBeCheckedDateObj","targetDateObj","getFullYear","getMonth","UsageTableHeaders","UsageTableSection","partnerDetails","partnerAccountsObj","partnerAccounts","billingDataObj","partnerBillingData","monthsBasedData","tableRowsArr","tableCol","totalNumberOfAccountsForTheMonth","getAccountsArray","totalNumberOfBilledAcc","billedAccountsCount","totalBillingAmount","amountDue","downloadCSV","billingInfos","getAccountsObj","sort","getUsageTable","billingFormattedObj","billingDiscountAmount","ComponentHeader","children","SlidingTab","menuArr","selectedInd","setIndex","sibling","menuRef","menu","onClick","ev","style","setProperty","offsetWidth","offsetLeft","parentNode","setMenuStyleProp","getLast6Months","monthList","sorted","b","m1","m2","splice","twoDigit","val","STORE_USAGE_MONTH","MonthSelector","Object","keys","onChange","sortByWeek","week1","week2","w1","e","getLastWeekDate","weekStr","ThirdPartyTableHeaders","ThirdPartyTableSection","thirdPartyBillingDetails","weekBasedData","tableRowArr","week","weekLastDate","outstandingAmount","getThirdPartyUsageTable","weeklyBillingFormattedObj","BILLING_COMPONENT","BillingPageWrapper","useState","setSelectedInd","getChildren","formatCurrentPlan","plan","SelectedPageComponent","component","this","PartnerDetailsObj","partnerType","address","billingAddress","contactPerson","contactPersonTitle","phoneNo","partnerCode","PartnerAccountsObject","arr","accountsArrRaw","accountsArrFormatted","accountsObj","totalPaidAccounts","constructAccountObjects","accountObj","PartnerAccountObject","dispatcherId","dispatcherName","phone","paidAccount","PartnerBillingDetailsObject","billingArr","constructBillingFormattedObj","billingInfoByDate","totalsInfo","monthBasedDataArr","totalOrders","totalPaidOrders","billingData","reduce","count","item","getTotalsForTheMonth","assign","PartnerSingleInvoiceObj","chargeId","customerId","totalAmountPaid","invoiceUrl","chargeTimeInSec","currency","isSuccessful","chargeTime","PartnerInvoicesObject","invoicesArr","partnerInvoicesArr","constructPartnerInvoicesArr","invoice","PartnerCreditCardDetailsObject","last4Digits","expireMonth","expireYear","PartnerBankInfo","routing","acc","firstName","lastName","PartnerThirdPartyBillingDetailsObject","weeklyBillingArr","rawWeeklyBillingArr","constructWeeklyBillingFormattedObj","billingInfoByWeek","weekBasedDataArr","totalPaid","getTotalThirdPartyOrdersByWeek","AccountMagicLink","magicLink","ACHBankInfo","bankName","routingNo","ClientSecret","secret","PayoutBankInfo","stripeAccountId","actorId","actorType","connectStatus","stripeEmail","accountNumber","routingNumber","accountHolder","ipAddress","PaypalApprovalLink","link","PaypalInfo","accId","confirmedAt","accountId","PaypalIdentity","verified","atInd","indexOf","prefix","substr","LastMonthBilling","billingId","constructSelectedComponent","DASHBOARD_COMPONENT","constructPartnerDetails","partnerId","constructPartnerInvoice","constructPartnerBankInfo","constructPaypalIdentity","getEarningCSVDataLink","isPaidText","subscriptionPlan","EarningTableHeaders","EarningsTableSection","fromEntries","entries","totalNumberOfAcc","totalNumberOfActiveAcc","toString","detailsBtn","slice","getEarningsTable","EARNING_COMPONENT","EarningPageWrapper","DashboardInfoCard","number","details","goToDetails","PARTNER_TYPE_AFFILIATE","LEFT_SIDE_BAR_SELECTED","DashboardSummeryInfoSection","pairs","earningsPair","targetPair","partnerInfo","billingDetails","targetDate","currentMonth","afterDiscountAmount","discountedAmount","getTotalDueAndSavingForCurrentMonth","getTotalSavingForCurrentYear","getTotalCountOfActiveAccounts","getTotalCountOfPaidAccounts","pair","DashboardInfo","PlanModalPlanSingle","planText","price","selectedPlan","setSelect","showWithSMSToggle","toggleOn","setToggleOn","includes","planTextWithToggle","stopPropagation","toggleOnImg","toggleOffImg","PARTNER_ACCOUNTS","getAccountsDetails","accountsArray","PlanUpgradeModal","selectedCompanyId","partnerAccountObj","selectedCompanyDetails","getAccountDetailsByCompanyId","setSelectedPlan","showSMSToggle","setShowSMSToggle","planUpgradeText","setPlanUpgradeText","getCurrentPlan","tabIndex","width","height","viewBox","fill","xmlns","d","LoadingSpinner","document","getElementsByClassName","pointerEvents","opacity","MAGIC_LINK","getMagicLink","adminId","magicLinkObj","linkTracker","MagicLink","selectedAdminId","showLoading","setShowLoading","open","Dropdown","dropdownArr","isOpen","setIsOpen","dropdownRef","handleClickOutside","contains","addEventListener","removeEventListener","DropdownMenuList","handleUpgradeBtnClick","handleClick","cardElementRef","_","lastMonthBilling","getFullDate","getLastMonthBillingData","undefined","lastMonthBillingData","find","currentDate","isLastMonth","curr","AccountsTableSection","setSelectedCompanyId","lastMonthBillingMap","tableInput","processedColumnConfigs","isPremiumOrResellerPartner","filter","sortedData","categoryA","categoryB","indexA","indexB","localeCompare","GeneralModal","modalId","btnText","showFooterBtn","footerBtnText","ReferralLinkModal","clipBoardText","referralLink","isCopied","setIsCopied","navigator","clipboard","writeText","fillRule","DashboardWrapper","GetPartnerCardDetails","cardInfo","PARTNER_CREDIT_CARD_INFO","last4Digit","cardStyle","base","iconColor","color","fontWeight","fontFamily","StripeCard","show","isUpdate","stripe","useStripe","elements","useElements","outcomeRef","errorRef","errorDetailsRef","submitBtnRef","successRef","cardState","partnerCreditCardUpdateState","submitBtnText","display","innerHTML","_destroyed","clear","CARD_UPDATE_STATES","failed","showError","disable","success","showSuccess","getElementById","click","pending","errMsg","cardElement","getElement","PARTNER_CREDIT_UPDATE_CARD_STATE","createToken","then","stripe_token","message","request","status","statusText","cardAddingReq","AddPartnerCard","onReady","c","options","stripePromise","loadStripe","StripeCardWrapper","AddCreditCardModal","setShow","modalHeader","reset","PaymentModalWrapper","BankInfoAddModalContent","nameRef","emailRef","mandateBtnRef","successBtnRef","errorBtnRef","clientSecret","getSecret","collectBankAccountForSetup","params","payment_method_type","payment_method_data","billing_details","expand","setupIntent","ACH_ERROR_MODAL_ID","ACH_MANDATE_CONFIRMATION_MODAL_ID","ACH_SUCCESS_CONFIRMATION_MODAL_ID","ACH_BANK_INFO_REDUCER","getACHBankInfo","last4","stripeCustomerId","achInfoBankObj","MandateModalContent","confirmUsBankAccountSetup","next_action","CLIENT_SECRET","SuccessModalContent","rx","fillOpacity","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ErrorModalContent","ACH_BANK_INFO_MODAL_ID","AddBankDetails","Stripe","clientSecretObj","BankDetails","bankInfo","achBankInfo","PaymentSetupWrapper","PaypalDetails","paypalInfo","getEmail","PAYPAL_APPROVAL_LINK","ConnectPaypal","connecting","setConnecting","paypalApproval","getLink","paypalApprovalLink","PaypalSetupWrapper","none","CreditCardInfoSection","creditCardObj","partnerCreditCardInfo","updateRef","removeRef","showModal","setShowModal","setIsUpdate","removing","setRemoving","handleAddCreditCard","handleRemoveCard","normalizedAddress","toLowerCase","some","keyword","showACH","API_RESPONSE_MESSAGE","PAYOUT_BANK_INFO","getPayoutInfo","payoutBankInfoObj","PARTNER_BANK_INFO","BankInfoHolder","updateState","apiResponseMessage","apiResponseMessages","updateSuccess","setUpdateSuccess","updateFailed","setUpdateFailed","ipData","setIpData","routingRef","accRef","firstNameRef","lastNameRef","JSON","parse","substring","catch","accHolderName","accNumber","accountHolderName","clientIP","isAxiosError","errorMessage","UpdatePartnerBankInfo","ip","REFERRAL_LINK","PARTNER_DETAILS","getPartnerDetails","detailsData","partnerDetailsObj","billingDiscountPercent","titleOfContactPerson","partnerBankInfoObj","paypal","invitationLink","PARTNER_PROFILE_UPDATE_STATE","PROFILE_UPDATE_SUCCESSFUL","PROFILE_UPDATE_FAILED","updateProfileInfo","PasswordUpdateSection","setLoading","newPassCompRef","confirmPassCompRef","setShowSuccess","showFailed","setShowFailed","setPassMatched","partnerProfileUpdateState","partnerProfileInfoUpdateState","scrollIntoView","behavior","block","newPass","confirmPass","SingleInfoSection","label","info","showCopyBtn","copyBtnText","showChangeBtn","clipboardRef","textContent","ProfileUpdateModal","fieldName","displayName","oldValue","infoRef","setSuccess","timer","modal","modalInstance","bootstrap","Modal","getInstance","hide","clearTimeout","PROFILE_COMPONENT","mapping","ProfilePageWrapper","loading","selectedProfileInfo","setSelectedProfileInfo","setInfoForModal","charAt","toUpperCase","getInvoiceViewBtn","InvoicesTableHeader","InvoicesTableSection","partnerInvoices","chargeDate","toDateString","getInvoicesTable","getInvoicesArr","PAYMENT_COMPONENT","PaymentsWrapper","PAYOUT_INFO","partnerPayoutsSelector","partnerPayouts","PAYOUT_TYPES","PartnerPayouts","payoutArr","payouts","p","StripePayout","PaypalManualPayout","x","getInitiatedAt","getType","payout","initiatedAt","transferId","amountInCents","description","PAYOUT_SUCCESS_THRESHOLD","dbId","transactionId","recipientEmail","getTransferId","getRecipientEmail","format","getDate","formatDate","getAmountInUsd","getDescription","isComplete","PayoutsTableSection","payoutsObj","getPayoutsSortedByDateDecreasing","hasManualPaypal","payoutBankInfo","last4Digi","BankDepositSection","ConnectPaypalIdentity","use","login","render","appid","scopes","containerid","responseType","locale","buttonType","buttonShape","buttonSize","fullPage","returnurl","PAYPAL_IDENTITY","PaypalIdentityDetails","identity","paypalIdentity","isVerified","version","preserveAspectRatio","getName","getMaskedEmail","PaypalIdentitySection","PAYOUTS_COMPONENT","PayoutsWrapper","getFacebookLink","text","encodeURIComponent","getTwitterLink","getLinkedinLink","ShareLinks","subject","body","copied","setCopied","cx","cy","r","readOnly","rows","PARTNER_CODE_AND_LINK_COMPONENT","PartnerCodeAndLinksWrapper","StoreUsageCSVDownloader","callBack","orders","getStoreExtendedReport","csvContent","order","placementTime","toLocaleDateString","replace","orderNo","source","driver","distance","deliveryFee","processingFee","totalBill","thirdPartyReference","getCSVDownload","encodedURI","encodeURI","createElement","setAttribute","appendChild","remove","paymentDataEntry","StoreUsageTableSection","selectedMonth","storeUsageMonth","isCurrentMonth","USAGE_COMPONENT","UsageWrapper","LEFT_SIDE_BAR","LeftNavbar","sideBarActive","leftSideBarActive","globalSelectedComponent","selectedComponent","setSelectedComponent","setActiveComponent","showEarning","PartnerPortalHeaderWithBtn","showBorder","setShowBorder","btnRef","iconRef","scrollHandler","scrollTop","PARTNER_BILLING","PARTNER_INVOICES","THIRD_PARTY_BILLING_DETAILS","getPartnerThirdPartyBillingDetails","thirdPartyBillingObj","useHandleQuerySource","useLocation","queryParams","URLSearchParams","search","has","PAYPAL_INFO","getPaypalIdentity","LAST_MONTH_BILLING","getLastMonthBilling","partnerMonthlyBillingId","billing","TopBanner","showBanner","setShowBanner","isAffiliate","class","PartnerPortalWrapper","billingArray","partnerBillingDetailsObj","paypalAccountId","paypalEmail","paypalCustomerId","getSelectedComponent","ProtectedRoute","Component","otherProps","props","storedToken","to","pathname","from","LogoSection","logo","LoginPageWrapper","StateLines","totalLineCount","greenLineCount","lines","i","getLines","progress","clipPath","maskUnits","y","mask","clipRule","x1","y1","x2","y2","gradientUnits","stopColor","offset","BecomePartner","handleNext","BasicInfo","setState","setBasicInfo","basicInfoObj","businessRef","billingRef","companyNameRef","titleRef","businessAddress","contactName","contactTitle","OTP","initialState","otp","generated","attemptsLeft","genError","verifEror","SIGN_UP_STATE","fixPhone","newUserSignUp","emailAddress","countryCode","MoreDetails","basicInfo","setPassRef","confirmPassRef","phoneRef","signupRef","border","LoggingIn","stateGreenLineMap","SignupWrapper","signupState","signingUpState","getStateWiseForm","countryList","countryName","CountryList","BasicInfoV2","setFormdata","formdata","handleBack","otpInfo","passwordRef","confirmPasswordRef","nextRef","setCountry","setPhone","setError","verifError","disableDropdown","disableCountryCode","specialLabel","inputProps","containerClass","inputClass","countryCodeEditable","inputStyle","lineHeight","fontSize","marginTop","padding","borderRadius","buttonStyle","background","PhoneVerification","codeRef","remainingAttempts","states","stateSequence","SignupV2Wrapper","SignUpPageWrapper","PAYPAL_IDENTITY_CONNECTED","PaypalLoginReturnWrapper","identityConnected","paypalIdentityConnected","connect","redirect","code","authorizationCode","PartnerWelcomeWrapper","maxWidth","App","exact","path","combineReducers","partnerBankInfo","partnerActiveStoreMapping","partnerPayoutsStoreMapping","store","createStore","reducers","applyMiddleware","thunk","ReactDOM","StrictMode"],"mappings":"6VAAaA,EAAiB,iBAoBjBC,EAAwB,SAACC,GAAD,OAAWA,EAAMC,eAEvCC,EAJM,CAACD,cATN,WAAmC,IAAlCD,EAAiC,uDAP7B,KAOkBG,EAAW,uCAC9C,OAAQA,EAAOC,MACX,KAAKN,EACD,OAAOK,EAAOE,QAClB,QACI,OAAOL,K,QCTZ,SAASM,IACZ,IAAMC,EAAcC,aAAY,SAAAR,GAAK,OAAIA,EAAMO,eACzCN,EAAgBO,YAAYT,GAC5BU,EAAUC,uBAShB,OAPAC,qBAAU,WACFJ,GAAiC,OAAlBN,IACXA,EAAcW,OAAQH,EAAQI,KAAK,mBAClCJ,EAAQI,KAAK,8BAEvB,CAACZ,EAAeM,EAAaE,IAEzBF,E,WCZLO,EAAwB,wBAuEfC,EArEG,WACd,IAAMC,EAAgBC,iBAAO,MACvBC,EAAeD,iBAAO,MACtBE,EAAWF,iBAAO,MAClBV,EAAcD,IACdc,EAAWC,cAqBjB,OAVAV,qBAAU,YACc,IAAhBJ,IACAY,EAASG,QAAQC,MAAQ,UACzBJ,EAASG,QAAQE,UAAW,EAC5BC,YAAW,WACPL,EAAS,CAAChB,KAAMU,EAAuBT,QAAS,SACjD,QAER,CAACE,EAAaa,IAGb,sBAAKM,UAAU,iCAAf,UACI,sBAAKA,UAAU,qBAAf,UACI,qBAAKA,UAAU,mBAAf,6BACA,uBAAMA,UAAU,aAAaC,SAxBZ,SAACC,GAC1BA,EAAMC,iBACN,IAAMC,EAAQd,EAAcM,QAAQC,MAC9BQ,EAAOb,EAAaI,QAAQC,MAClCJ,EAASG,QAAQC,MAAQ,aACzBJ,EAASG,QAAQE,UAAW,EAC5BJ,EAAS,CAAChB,KAAMU,EAAuBT,QAAS,OAChDe,EAASY,GAAmBF,EAAOC,KAiB3B,UACI,sBAAKL,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAWO,QAAQ,QAApC,mBACA,uBAAOP,UAAU,WAAWtB,KAAK,QAAQ8B,IAAKlB,EACvCmB,YAAY,6CAA6CC,KAAK,QAAQC,UAAU,OAE3F,sBAAKX,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAWO,QAAQ,WAApC,sBACA,uBAAOP,UAAU,WAAWtB,KAAK,WAAW8B,IAAKhB,EAC1CiB,YAAY,iBAAiBC,KAAK,WAAWC,UAAU,OAElE,qBAAKX,UAAU,cAAf,SACQ,oFACI,mBAAGY,IAAI,aAAaC,KAAK,gCACtBb,UAAU,4BACVc,OAAO,SAFV,8BADJ,gCAKI,mBAAGF,IAAI,aAAaC,KAAK,kCACtBb,UAAU,4BACVc,OAAO,SAFV,iCAKZ,qBAAKd,UAAU,4CAAf,SACI,uBAAOQ,IAAKf,EAAUf,KAAK,SAASsB,UAAU,oCACvCH,MAAM,oBAIzB,sBAAKG,UAAU,2BAAf,4BAAyD,mBAAGa,KAAK,UACLb,UAAU,wCADb,yBAGxC,IAAhBnB,GACD,qBAAKmB,UAAU,yDAAyDe,KAAK,QAA7E,gECrENC,EAAY,YAMZC,EAAc,WAChB,OAAOC,aAAaC,QAAQH,ICLnBI,EAAoB,WAC7B,MAAO,CACHC,QAAS,CACL,eAAgB,mBAChB,cAAgB,UAAhB,OAA2BJ,MAE/BK,SAAU,qB,iBCJHC,MAAMC,OAAO,CACxBC,QAHY,4BCEDF,MAAMC,OAAO,CACxBC,QAHY,qCCEDF,MAAMC,OAAO,CACxBC,QAHY,+BCGHC,EAAU,SAACC,GACpB,OAAOC,EAAUC,IAAIF,EAAKP,MAGjBU,EAAW,SAACH,EAAKI,GAC1B,OAAOH,EAAUI,KAAKL,EAAKI,EAAMX,MAOxBa,EAAkB,SAACN,EAAKI,GACjC,OAAOG,EAAiBF,KAAKL,EAAKI,EAAMX,MAG/Be,EAAiB,SAACR,GAC3B,OAAOO,EAAiBL,IAAIF,EAAKP,MAGxBgB,EAAiB,SAACT,EAAKI,GAChC,OAAOG,EAAiBG,IAAIV,EAAKI,EAAMX,MAG9BkB,EAAiB,SAACX,GAC3B,OAAOO,EAAiBK,OAAOZ,EAAKP,MCpB3BoB,EAAoB,uCAAG,WAAOT,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,0BAA2BF,GAAjE,mFAAH,sDACpBW,EAAkB,uCAAG,sBAAAD,EAAA,sEAAkBf,EAAQ,4BAA1B,mFAAH,qDAClBiB,EAAkB,uCAAG,sBAAAF,EAAA,sEAAkBN,EAAe,6BAAjC,mFAAH,qDAClBS,EAAmB,uCAAG,sBAAAH,EAAA,sEAAkBf,EAAQ,qBAA1B,mFAAH,qDACnBmB,EAAqB,uCAAG,WAAOd,GAAP,SAAAU,EAAA,sEAAsBL,EAAe,mCAAoCL,GAAzE,mFAAH,sDACrBe,EAAmB,uCAAG,sBAAAL,EAAA,sEAAkBN,EAAe,mCAAjC,mFAAH,qDACnBY,EAAuB,uCAAG,sBAAAN,EAAA,sEAAkBN,EAAe,2BAAjC,mFAAH,qDACvBa,EAAqB,uCAAG,WAAOjB,GAAP,SAAAU,EAAA,sEAAsBL,EAAe,+BAAgCL,GAArE,mFAAH,sDAErBkB,EAAwB,uCAAG,WAAOlB,GAAP,SAAAU,EAAA,sEAAsBL,EAAe,+BAAgCL,GAArE,mFAAH,sDACxBmB,EAAwB,uCAAG,sBAAAT,EAAA,sEAAkBH,EAAe,gCAAjC,mFAAH,qDACxBa,EAAqB,uCAAG,WAAOpB,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,mCAAoCF,GAA1E,mFAAH,sDACrBqB,EAAa,uCAAG,WAAOrB,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,wBAAyBF,GAA/D,mFAAH,sDAEbsB,EAAc,uCAAG,sBAAAZ,EAAA,sEAAkBN,EAAe,gCAAjC,mFAAH,qDACdmB,EAAkC,uCAAG,sBAAAb,EAAA,sEAAkBN,EAAe,uCAAjC,mFAAH,qDAElCoB,EAAuB,uCAAG,WAAOC,EAAIC,GAAX,SAAAhB,EAAA,sEDMTd,ECNiD,8CAAgD6B,EAAK,SAAWC,EDOpIC,EAAgB7B,IAAIF,EAAKP,KCPG,yEDMV,IAACO,ICNS,OAAH,wDACvBgC,EAAa,uCAAG,WAAO5B,GAAP,SAAAU,EAAA,sEAAsBX,EAAS,0BAA2BC,GAA1D,mFAAH,sDAEb6B,EAAgB,uCAAG,sBAAAnB,EAAA,sEAAkBN,EAAe,yBAAjC,mFAAH,qDAChB0B,EAAO,uCAAG,sBAAApB,EAAA,sEAAmBR,EAAgB,4BAA6B,IAAhE,mFAAH,qDACP6B,GAAkB,uCAAG,sBAAArB,EAAA,sEAAkBN,EAAe,mCAAjC,mFAAH,qDAElB4B,GAAiB,uCAAG,sBAAAtB,EAAA,sEAAkBR,EAAgB,mCAAlC,mFAAH,qDACjB+B,GAAc,uCAAG,sBAAAvB,EAAA,sEAAkBN,EAAe,2BAAjC,mFAAH,qDACd8B,GAAkB,uCAAG,sBAAAxB,EAAA,sEAAkBN,EAAe,4BAAjC,mFAAH,qDAClB+B,GAAyB,uCAAG,WAAOnC,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,mCAAoCF,GAA1E,mFAAH,sDACzBoC,GAAoB,uCAAG,sBAAA1B,EAAA,sEAAkBH,EAAe,4BAAjC,mFAAH,qDAEpB8B,GAAoB,uCAAG,sBAAA3B,EAAA,sEAAkBN,EAAe,wCAAjC,mFAAH,qDACpBkC,GAAgB,uCAAG,WAAOb,GAAP,SAAAf,EAAA,sEAAoBL,EAAe,gCAAD,OAAiCoB,IAAnE,mFAAH,sDAEhBc,GAAS,uCAAG,WAAOvC,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,mCAAoCF,GAA1E,mFAAH,sDACTwC,GAAS,uCAAG,WAAOxC,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,qCAAsCF,GAA5E,mFAAH,sDACTyC,GAAe,uCAAG,WAAOzC,GAAP,SAAAU,EAAA,sEAAsBR,EAAgB,2BAA4BF,GAAlE,mFAAH,sDCrBtB0C,GAAS,yDAAM,WAAM/E,GAAN,SAAA+C,EAAA,sDPbjBvB,aAAawD,WAAW1D,GOexBtB,EAAS,CAAChB,KAAMU,EAAuBT,QAAS,OAChDgG,OAAOC,SAASC,QAAO,GAHN,2CAAN,uDAMAvE,GAxBY,SAACF,EAAOC,GAAR,8CACvB,WAAOX,GAAP,iBAAA+C,EAAA,+EAE6BD,EAAqB,CAACpC,MAAOA,EAAO0E,SAAUzE,IAF3E,QAGQ,QADI0E,EAFZ,cAGQ,IAAIA,GAAJ,UAAIA,EAAUhD,YAAd,aAAI,EAAgBiD,cPRVC,EOSQF,EAAShD,KAAKiD,YPRxC9D,aAAagE,QAAQlE,EAAWiE,GOSpBvF,EAAS,CAAChB,KAAMU,EAAuBT,SAAS,IAChDe,EAAS,CAAChB,KAAMN,EAAgBO,QAAS,CAACO,OAAQ6F,EAAShD,KAAKxD,kBAEhEmB,EAAS,CAAChB,KAAMU,EAAuBT,SAAS,IAR5D,gDAWQwG,QAAQC,MAAR,MACA1F,EAAS,CAAChB,KAAMU,EAAuBT,SAAS,IAZxD,kCPLkB,IAAAsG,IOKlB,oBADuB,uDCWZI,GAfK,SAAC,GAA8B,IAA7BC,EAA4B,EAA5BA,eAA4B,EAAZC,OAMlC,OACI,gCACA,6BANOD,EAAeE,KAAI,SAACC,EAAKC,GAC5B,OAAO,oBAAcC,MAAM,MAApB,SAA2BF,GAAlBC,WCLfE,GAAqB,CAC9BC,QAAS,UACTC,kBAAmB,eACnBC,yBAA0B,6BAC1BC,aAAc,eACdC,kBAAmB,eACnBC,8BAA+B,6BAC/BC,yBAA0B,2BAC1BC,WAAY,aACZC,mBAAoB,uBACpBC,gBAAiB,kBACjBC,4BAA6B,gCAC7BC,qBAAsB,kBACtBC,uBAAwB,kBACxBC,0BAA2B,kBAC3BC,cAAe,gBACfC,mBAAoB,gBACpBC,mBAAoB,gBACpBC,wBAAyB,gBACzBC,kBAAmB,oBACnBC,uBAAwB,qBAGfC,GAAoB,CAC7B,YAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iCAAiC,EACjC,4BAA4B,EAC5B,cAAgB,EAChB,8BAA8B,EAC9B,wBAAwB,EACxB,SAAW,GAGFC,GAAY,CACrB,aACA,oBACA,gBACA,kBACA,gCACA,2BACA,eACA,6BACA,uBACA,WCAWC,GA1CG,SAAC,GAA6D,IAA5DC,EAA2D,EAA3DA,aAAc7B,EAA6C,EAA7CA,OAA6C,IAArC8B,iBAAqC,MAAzB,oBAAyB,EAmC3E,OACI,gCAtBqB,OAAjBD,GAAiD,IAAxBA,EAAaE,OAElC,6BACI,oBAAIC,QAAQ,MAAMvH,UAAU,yBAA5B,SAAsDqH,MAK3DD,EAAa5B,KAAI,SAACgC,EAAKC,GAC1B,IArBgBC,EAqBZC,EAAa,aAIjB,OAHU,OAANpC,QAAM,IAANA,OAAA,EAAAA,EAAQqC,sBAAoC,IAAbH,IAC/BE,GAAc,YAGd,oBAAmB3H,UAAW2H,EAA9B,UA1BYD,EA2BQF,EA1BrBE,EAAQlC,KAAI,SAACqC,EAAKC,GACrB,OAAiB,IAAbA,GAAiC,kBAARD,GAAqBA,KAAOZ,GAC9C,oBAAIjH,UAAW,YAAf,SAA2C,qBAAKA,UAAWiH,GAAkBY,GAAO,eAAiB,aAA1D,SAAyEA,KAAnFC,GAGjC,6BAAoBD,GAAXC,QAoBPL,SCHVM,GAzBM,SAAC,GAAuD,IAAtDzC,EAAqD,EAArDA,eAAgB8B,EAAqC,EAArCA,aAAcC,EAAuB,EAAvBA,UAAW9B,EAAY,EAAZA,OACxDyC,EAAgB,eAGpB,OAFI,OAACzC,QAAD,IAACA,OAAD,EAACA,EAAQ0C,YAAUD,EAAgB,IAET,IAA1B1C,EAAegC,QAAwC,IAAxBF,EAAaE,OAExC,qBAAKtH,UAAWgI,EAAhB,SACI,wBAAOhI,UAAU,8DAAjB,UACI,cAAC,GAAD,CAAasF,eAAgBA,EAAgBC,OAAQA,IACrD,cAAC,GAAD,CAAW6B,aAAc,GAAI7B,OAAQA,EAAQ8B,UAAWA,SAOpE,qBAAKrH,UAAWgI,EAAhB,SACI,wBAAOhI,UAAU,8DAAjB,UACI,cAAC,GAAD,CAAasF,eAAgBA,EAAgBC,OAAQA,IACrD,cAAC,GAAD,CAAW6B,aAAcA,EAAc7B,OAAQA,U,SCrBlD2C,GAAY,SAACC,GACxB,GACqB,kBAAZA,GACa,kBAAZA,GAAwB,QAAQC,KAAKD,GAC7C,CACA,IAAME,EACe,kBAAZF,EAAuBA,EAAUG,SAASH,EAAS,IAC5D,OAAIE,EATkB,KAUb,IAAIE,KAAiB,IAAZF,GAET,IAAIE,KAAKF,GAEb,GAAuB,kBAAZF,EAAsB,CACtC,GAAI,sBAAsBC,KAAKD,GAAU,CACvChD,QAAQqD,IAAI,aAAcL,GAC1B,MAA2BA,EAAQM,MAAM,KAAKjD,IAAIkD,QAAlD,mBAAOC,EAAP,KAAaC,EAAb,KAAoBC,EAApB,KACA,OAAO,IAAIN,KAAKI,EAAMC,EAAQ,EAAGC,GAEnC,OAAO,IAAIN,KAAKJ,GACX,GAAIA,aAAmBI,KAC5B,OAAOJ,EAET,MAAM,IAAIW,MAAM,4BAGLC,GACK,eCPX,SAASC,GAA6BC,EAAQC,GAEjD,OADqBD,EAASC,EAAWD,EAAS,KAC7BE,QAAQ,GAqB1B,IAAMC,GAAmB,SAACC,EAASC,GACtC,IAAIC,EAAW,KAAOF,EAAQ,GAC1BG,EAAU,KAAOF,EAAO,GAC5B,OAAOG,GAAYF,EAAUC,IAGpBC,GAAc,SAACC,EAAMC,GAC9B,IAAIC,EAAY,IAAIrB,KAAKmB,GAEzB,OADe,IAAInB,KAAKoB,GACRE,UAAYD,EAAUC,WCrD7BC,GAAe,SAACC,GAGzB,GAFAA,EAAU,IAAIxB,KAAKwB,EAAQF,YAA2C,IAA/BE,EAAQC,qBAElC,CAET,OAAOD,EAAQE,eAAe,QADhB,CAACtB,KAAM,UAAWC,MAAO,YAmBlCsB,GAA0B,SAACjB,EAAQC,GAE5C,OADsBD,EAASC,EAAY,KACrBC,QAAQ,IAGrBgB,GAA8B,SAACpI,EAAMmH,GAC9C,IAAIkB,EAAsB,EAM1B,OALArI,EAAKsI,SAAQ,SAACC,IACW,IAAjBA,EAAMC,SACNH,GAAuBI,WAAWN,GAAwBM,WAAWF,EAAMG,gBAAiBvB,QAG7FkB,EAAoBjB,QAAQ,IAG1BuB,GAA4B,SAAC3I,EAAM4I,GAG5C,MAAO,CAACtJ,QAFWsJ,EAAcnF,KAAI,SAAAoF,GAAM,OAAIA,EAAOlK,QAEvBqB,MADf,OAACA,QAAD,IAACA,IAAQ,IAAIyD,KAAI,SAAC8E,EAAOO,GAAR,OAAkBF,EAAcnF,KAAI,SAAAoF,GAAM,OAAIA,EAAOE,SAASR,EAAOO,WCxC3F,OAA0B,wCCInCE,GAAe,CAAC,OAAQ,eAAgB,mBAAoB,UAAW,uBAAwB,iBAAkB,yBAE1GC,GAAgC,SAACC,EAAUxH,EAAMyH,EAAmBC,GAC7EF,GAAY,OACZ,IAAIG,EAAO,IAAIC,KAAK,CAACC,GAAc7H,EAAMyH,EAAmBC,IAAe,CAACzM,KAAM,aAC9EiD,EAAMgD,OAAO4G,IAAIC,gBAAgBJ,GACrC,OAAO,mBAAGpL,UAAU,cAAca,KAAMc,EAAK8J,SAAUR,EAAUS,MAAO,mBAAjE,SAAqF,qBACxFC,IAAKC,GAAcC,IAAI,gBAGzBP,GAAgB,SAAC7H,EAAMyH,EAAmBC,GAC5C,IAAIW,EAAYf,GAAagB,KAAK,KAclC,OAbAD,GAAa,KACbZ,EAAkBb,SAAQ,SAACC,GACvB,IAAI9C,EAAM,GACNwE,EAAcC,GAASd,EAAYb,EAAM4B,WAAWF,aACpDG,EAAWzD,OAAO4B,EAAM8B,mBAAmBjD,QAAQ,GACnDkD,EAAO3D,OAAO4B,EAAMgC,YAAYnD,QAAQ,GACxCoD,EAAQ7D,OAAO4B,EAAMkC,aAAarD,QAAQ,GAC1CsD,EAAO/D,OAAO4B,EAAMoC,YAAYvD,QAAQ,GACxCwD,EAASjE,OAAO4B,EAAMsC,cAAczD,QAAQ,GAChD3B,EAAIrI,KAAKsE,EAAMuI,EAAaG,EAAUE,EAAME,EAAOE,EAAME,GACzD,IAAIE,EAASrF,EAAIuE,KAAK,KACtBD,GAAae,EAAS,UAEnBf,GAGEG,GAAW,SAACa,GACrB,OAAOA,EAAIC,WAAW,IAAK,MC5BzBhC,GAAe,CAAC,eAAgB,aAAc,cAAe,eAAgB,UAAW,eAAgB,eAAgB,oBAAqB,kBAAmB,qBAAsB,2BAE/KiC,GAAsB,SAAC/B,EAAUgC,EAAa9B,EAAajC,GACpE+B,GAAY,OACZ,IAAIG,EAAO,IAAIC,KAAK,CAACC,GAAc2B,EAAa9B,EAAajC,IAAY,CAACxK,KAAM,aAC5EiD,EAAMgD,OAAO4G,IAAIC,gBAAgBJ,GACrC,OAAO,mBAAGpL,UAAU,cAAca,KAAMc,EAAK8J,SAAUR,EAAUS,MAAO,mBAAjE,SAAqF,qBACxFC,IAAKC,QAGPN,GAAgB,SAAC2B,EAAa9B,EAAajC,GAC7C,IAAI4C,EAAYf,GAAagB,KAAK,KAWlC,OAVAD,GAAa,KACbmB,EAAY5C,SAAQ,SAACC,GACjB,IAAI9C,EAAM,GACN0F,EAAiB/B,EAAYb,EAAM4B,WACnCiB,EAAiBjD,GAAwBI,EAAMG,eAAgBvB,GAC/DkE,EAAuBpE,GAA6BsB,EAAMG,eAAgBvB,GAC9E1B,EAAIrI,KAAK8M,GAASiB,EAAelB,aAAckB,EAAeG,UAAWH,EAAe9M,MAAO8M,EAAeI,YAAaJ,EAAeK,QAASL,EAAeM,YAAalD,EAAMmD,eAAgBnD,EAAMoD,mBAAoBpD,EAAMG,eAAgB0C,EAAgBC,GACrQ,IAAIP,EAASrF,EAAIuE,KAAK,KACtBD,GAAae,EAAS,UAEnBf,GCAL6B,GAA6B,SAAC/E,EAAOuC,GACvC,IAAIyC,EAAoB,EACpBC,EAAqB,IAAItF,KAAKK,GAQlC,OAPAuC,EAAYd,SAAQ,SAACyD,GACjB,IAAIC,EAA4B,IAAIxF,KAAKuF,EAAQE,cAC7CC,MAAMF,EAA0BlE,YAC3BqE,GAAqBH,EAA2BF,KADTD,OAK7CA,GAGLM,GAAuB,SAACC,EAAoBC,GAC9C,OAAIA,EAAcC,cAAgBF,EAAmBE,eAC5CD,EAAcC,gBAAkBF,EAAmBE,eACpDD,EAAcE,YAAcH,EAAmBG,YCtCrDC,GAAoB,CAAC,iBAAkB,2BAA4B,kCAAmC,sBAAuB,oBAAqB,gBAAiB,WAyB1JC,GAvBW,WACtB,IAAMC,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CC,EAAqB5P,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAChDC,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAElD,GAAuB,OAAnBD,GAA6C,MAAlBH,GAAgD,MAAtBC,EACrD,OACI,qBAAK1O,UAAU,+BAAf,SACI,cAAC,GAAD,CAAcsF,eAAgBiJ,GAAmBnH,aAAc,GACjDC,UAAU,gCAIpC,IAAMD,EDhBmB,SAAC0H,EAAiB5F,EAAUiC,GACrD,IAAI4D,EAAe,GACnB,IAAK,IAAMnG,KAASkG,EAAiB,CACjC,IAAIE,EAAW,GACXjF,EAAU,IAAIxB,KAAKK,GACvBoG,EAAS7P,KAAK2K,GAAaC,IAC3B,IAAIkF,EAAmCtB,GAA2B5D,EAASoB,EAAY+D,oBACvFF,EAAS7P,KAAK8P,GACd,IAAIE,EAAyBL,EAAgBlG,GAAOwG,oBACpDJ,EAAS7P,KAAKgQ,GACd,IAAI5C,EAAQuC,EAAgBlG,GAAOyG,mBAAmBlG,QAAQ,GAC9D6F,EAAS7P,KAAKoN,GACd,IAAIY,EAAiBjD,GAAwBqC,EAAOrD,GACpD8F,EAAS7P,KAAKgO,GACd,IAAImC,EAAYtG,GAA6BuD,EAAOrD,GACpD8F,EAAS7P,KAAKmQ,GACd,IAAIC,EAAcvC,GAAoB,WAAapE,EAAOkG,EAAgBlG,GAAO4G,aAAcrE,EAAYsE,iBAAkBvG,GAC7H8F,EAAS7P,KAAKoQ,GACdR,EAAa5P,KAAK6P,GAEtB,OAAOD,EAAaW,KAAKtG,ICJJuG,CAAcf,EAAegB,oBAAqBnB,EAAeoB,sBAAuBnB,GAG7G,OAFAH,GAAkB,GAAK,gCAA2BE,EAAeoB,sBAA1C,MAGnB,qBAAK7P,UAAU,+BAAf,SACI,cAAC,GAAD,CAAcsF,eAAgBiJ,GAAmBnH,aAAcA,OCd5D0I,GATS,SAAC,GAAuB,IAAtBpE,EAAqB,EAArBA,MAAOqE,EAAc,EAAdA,SAC7B,OACI,sBAAK/P,UAAU,iDAAf,UACI,qBAAKA,UAAU,mBAAf,SAAmC0L,IAClCqE,MCiCEC,GArCI,SAAC,GAAyD,IAAxDC,EAAuD,EAAvDA,QAASC,EAA8C,EAA9CA,YAAaC,EAAiC,EAAjCA,SAAUJ,EAAuB,EAAvBA,SAAUK,EAAa,EAAbA,QACrDC,EAAU9Q,iBAAO,MAkBvB,OACI,sBAAKS,UAAU,8BAAf,UACI,sBAAKA,UAAU,iCAAf,UACI,gCACI,8BAdLiQ,EAAQzK,KAAI,SAAC8K,EAAM5K,GACtB,OAAQ,sBACJ1F,UAAS,2CAAsCkQ,IAAgBxK,EAAM,wBAA0B,IAC/F6K,QAAS,SAACC,GACNL,EAASzK,GAVA,SAAC8K,GACtBH,EAAQzQ,QAAQ6Q,MAAMC,YAAY,oBAAlC,UAA0DF,EAAG1P,OAAO6P,YAApE,OACAN,EAAQzQ,QAAQ6Q,MAAMC,YAAY,uBAAlC,UAA6DF,EAAG1P,OAAO8P,WAAaJ,EAAG1P,OAAO+P,WAAWD,WAAzG,OASYE,CAAiBN,IAJjB,SAKAF,GALW5K,QAgBX,qBAAKlF,IAAK6P,EAASrQ,UAAW,oBAEjCoQ,KAEL,8BACKL,QCjCJgB,GAAiB,WAAqB,IAApBC,EAAmB,uDAAP,GACnCC,EAASD,EAAUtB,MAAK,SAACjN,EAAGyO,GAC5B,IAAIC,EAAK1O,EAAEgG,MAAM,KACb2I,EAAKF,EAAEzI,MAAM,KAEjB,OAAIC,OAAOyI,EAAG,MAAQzI,OAAO0I,EAAG,IAAa1I,OAAO0I,EAAG,IAAM1I,OAAOyI,EAAG,IAC1DzI,OAAO0I,EAAG,IAAM1I,OAAOyI,EAAG,OAG3C,OAAOF,EAAOI,OAAO,EAAG,IAsBtBC,GAAW,SAACC,GACd,OAAItD,MAAMvF,OAAO6I,IACNA,EAEJ7I,OAAO6I,GAAKpI,QAAQ,ICnClBqI,GAAoB,oBC0ClBC,GApCO,WAClB,IAAM7C,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAC5CnP,EAAWC,cAEjBV,qBAAU,WACiB,OAAnB2P,GACAlP,EAAS,CACLhB,KAAM8S,GACN7S,QAASoS,GAAeW,OAAOC,KAAK/C,EAAegB,sBAAsB,OAElF,CAAChB,IAiBJ,OAAuB,OAAnBA,EAAgC,6BAGhC,wBAAQ5O,UAAU,iBAAiB4R,SAVlB,SAACpB,GAClB9Q,EAAS,CACLhB,KAAM8S,GACN7S,QAAS6R,EAAG1P,OAAOjB,SAOvB,SAjBgBkR,GAAeW,OAAOC,KAAK/C,EAAegB,sBACzCpK,KAAI,SAACoD,EAAOlD,GACzB,IAAIqE,EAAU,IAAIxB,KAAKK,GACvB,OAAO,wBAAkB/I,MAAO+I,EAAzB,SAAiCkB,GAAaC,IAAjCrE,SCA1BmM,GAAa,SAACC,EAAOC,GACvB,IACI,IAAIC,EAAK,IAAIzJ,KAAKuJ,EAAM,IAExB,OADS,IAAIvJ,KAAKwJ,EAAM,IACdlI,UAAYmI,EAAGnI,UAC3B,MAAOoI,GACL,SAIFC,GAAkB,SAACC,GACrB,IACA,EADkBA,EAAQ1J,MAAM,OAAO,GACDA,MAAM,KAA5C,mBAAKE,EAAL,KAAWC,EAAX,KACA,OADA,KACc,IAAMA,EAAQ,IAAMD,GC9BhCyJ,GAAyB,CAAC,OAAQ,oBAAqB,yBAA0B,WA4BxEC,GA1BgB,WAC3B,IAIM5D,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CC,EAAqB5P,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAChD2D,EAA2BxT,aAAY,SAAAR,GAAK,OAAIA,EAAMgU,4BAE5D,GAAgC,MAA5BA,GAAsD,MAAlB7D,GAAgD,MAAtBC,EAC9D,OACI,qBAAK1O,UAAU,mCAAf,SACI,cAAC,GAAD,CAAcsF,eAAgB8M,GAAwBhL,aAAc,GACtDC,UAAU,yDAIpC,IAAMD,EDtB6B,SAACmL,EAAepH,GAGnD,IAAIqH,EAAc,GAClB,IAAK,IAAMC,KAAQF,EAAe,CAC9B,IAAIvD,EAAW,GACX0D,EAAeR,GAAgBO,GACnCzD,EAAS7P,KAAKuT,GACd1D,EAAS7P,KAAKoT,EAAcE,GAAMlG,OAElCyC,EAAS7P,KAAKoT,EAAcE,GAAME,mBAClC,IACIpD,EAAcvE,GADH,sBAAwB0H,EACmBA,EACtDH,EAAcE,GAAMjD,aAAcrE,GACtC6D,EAAS7P,KAAKoQ,GACdiD,EAAYrT,KAAK6P,GAErB,OAAOwD,EAAY9C,KAAKmC,ICKHe,CAAwBN,EAAyBO,0BAA2BnE,EAAmBe,kBAEpH,OACI,qBAAKzP,UAAU,mCAAf,SACI,cAAC,GAAD,CAAcsF,eAAgB8M,GAAwBhL,aAAcA,EAAc7B,OApBtE,CAChBqC,qBAAqB,QCFvBkL,GAAoB,oBA4BXC,GA1BY,WACvB,MAAsCC,mBAAS,GAA/C,mBAAO9C,EAAP,KAAoB+C,EAApB,KAeA,OACI,qCACI,cAAC,GAAD,CAAiBvH,MAAO,YACxB,qBAAK1L,UAAU,OAAf,SACI,cAAC,GAAD,CAAYiQ,QAAS,CAAC,WAAY,eAAgBC,YAAaA,EAAaC,SAAU8C,EAAgBlD,SAjB9F,WAChB,OAAQG,GACJ,KAAK,EACD,OAAO,cAAC,GAAD,IAEX,KAAK,EACD,OAAO,cAAC,GAAD,IAEX,QACI,OAAO,cAAC,GAAD,KAQyGgD,GAAe9C,QAAS,qC,gBC0C3I+C,GAAoB,SAAC3F,GAC9B,OnBvB2B4F,EmBuBL5F,KnBtBV5H,GACDA,GAAmBwN,GAEnBA,EAJe,IAACA,GoBxClBC,GACT,WAAYC,GAAY,qBACpBC,KAAKD,UAAYA,GAIZE,GAAb,WACI,WAAYhQ,EAAIiQ,EAAaC,EAASC,EAAgB9D,EAAuB7D,EAAa4H,EAAeC,EAAoBzT,EAAO0T,EAASC,GAAc,qBACvJR,KAAK/P,GAAKA,EACV+P,KAAKE,YAAcA,EACnBF,KAAKG,QAAUA,EACfH,KAAKI,eAAiBA,EACtBJ,KAAK1D,sBAAwBA,EAC7B0D,KAAKvH,YAAcA,EACnBuH,KAAKK,cAAgBA,EACrBL,KAAKM,mBAAqBA,EAC1BN,KAAKnT,MAAQA,EACbmT,KAAKO,QAAUA,EACfP,KAAKQ,YAAcA,EAZ3B,sDAeI,WACI,OAAOR,KAAK1D,wBAhBpB,kCAmBI,WACI,MAAO,CAAC0D,KAAKK,cAAeL,KAAKnT,SApBzC,8BAuBI,WACI,MAA4B,YAArBmT,KAAKE,cAxBpB,wCA2BI,WACI,MAA4B,YAArBF,KAAKE,aAAkD,aAArBF,KAAKE,gBA5BtD,KAgCaO,GAAb,WACI,WAAYC,GAAM,qBACdV,KAAKW,eAAiBD,EACtBV,KAAKY,qBAAuB,GAC5BZ,KAAKa,YAAc,GACnBb,KAAKc,kBAAoB,EACzBd,KAAKe,0BANb,4DASI,WAA2B,IAAD,OACtBf,KAAKW,eAAe7J,SAAQ,SAACyD,GACzBA,EAAQE,YAAcF,EAAQE,aAAe,MAC7CF,EAAQE,YAAcF,EAAQE,YAAYvF,MAAM,KAAK,GACrDqF,EAAQN,YAAc2F,GAAkBrF,EAAQN,aAChD,IAAI+G,EAAa,IAAIC,GAAqB1G,EAAQ5B,UAAW4B,EAAQ2G,aAAc3G,EAAQ9B,YAAa8B,EAAQ4G,eAAgB5G,EAAQ1N,MAAO0N,EAAQ6G,MAAO7G,EAAQP,QAASO,EAAQN,YAAaM,EAAQE,YAAaF,EAAQ8G,aACjO,EAAKR,YAAYtG,EAAQ5B,WAAaqI,EACtC,EAAKJ,qBAAqBhV,KAAKoV,GAC3BA,EAAWK,aAAa,EAAKP,yBAjB7C,8BAqBI,WACI,OAAOd,KAAKY,uBAtBpB,4BAyBI,WACI,OAAOZ,KAAKa,cA1BpB,0CA6BI,SAA6BlI,GACzB,OAAOqH,KAAKa,YAAYlI,KA9BhC,2CAiCI,WACI,OAAOqH,KAAKY,qBAAqB7M,SAlCzC,yCAqCI,WACI,OAAOiM,KAAKc,sBAtCpB,KA0CaG,GACT,WAAYtI,EAAWuI,EAAczI,EAAaqB,EAAWjN,EAAOkN,EAAaC,EAASC,EAAaQ,EAAa4G,GAAc,qBAC9HrB,KAAKrH,UAAYA,EACjBqH,KAAKkB,aAAeA,EACpBlB,KAAKvH,YAAcA,EACnBuH,KAAKlG,UAAYA,EACjBkG,KAAKnT,MAAQA,EACbmT,KAAKjG,YAAcA,EACnBiG,KAAKhG,QAAUA,EACfgG,KAAK/F,YAAcA,EACnB+F,KAAKvF,YAAcA,EACnBuF,KAAKqB,YAAcA,GAIdC,GAAb,WACI,WAAYC,GAAa,qBACrBvB,KAAKuB,WAAaA,EAClBvB,KAAK3D,oBAAsB,GAC3B2D,KAAKwB,+BAJb,iEAOI,WAAgC,IAAD,OAC3BxB,KAAKuB,WAAWzK,SAAQ,SAAC2K,GACrB,IAAIC,ED5GoB,SAAAC,GAChC,IAGI9F,EAHA+F,EAAc,EACdC,EAAkB,EAClB/F,EAAqB,EAUzB,OARA6F,EAAkB7K,SAAQ,SAAAgL,GACtBF,GAAeE,EAAY5H,eAC3B2H,GAAmBC,EAAY3H,mBAC/B2B,GAAsBgG,EAAY5K,kBAEtC2E,EAAsB8F,EAAkBI,QAAO,SAACC,EAAOC,GACnD,OAA+B,IAAxBA,EAAK/K,eAAuB8K,EAAQ,EAAIA,IAChD,GACI,CACHJ,cAAaC,kBAAiB/F,qBAAoBD,uBC8F7BqG,CAAqBT,EAAkBxF,cACxDwF,EAAoBtD,OAAOgE,OAAOV,EAAmBC,GACrD,EAAKrF,oBAAoBoF,EAAkBvR,MAAQuR,OAX/D,kCAeI,SAAqBvR,GACjB,OAAO8P,KAAK3D,oBAAoBnM,OAhBxC,KAoBMkS,GACF,WAAYC,EAAUC,EAAYC,EAAiBC,EAAYC,EAAiBC,EAAUC,GAAe,qBACrG3C,KAAKqC,SAAWA,EAChBrC,KAAKsC,WAAaA,EAClBtC,KAAKuC,gBAAkBpN,OAAOA,OAAOoN,GAAmB,KAAK3M,QAAQ,GACrEoK,KAAKwC,WAAaA,EAClBxC,KAAK4C,WAAuC,IAA1BzN,OAAOsN,GACzBzC,KAAK0C,SAAWA,EAChB1C,KAAK2C,aAAeA,GAIfE,GAAb,WACI,WAAYC,GAAc,qBACtB9C,KAAK+C,mBAAqB,GAC1B/C,KAAKgD,4BAA4BF,GAHzC,gEAMI,SAA4BA,GACxB9C,KAAK+C,mBAAqBD,EAAY7Q,KAAI,SAACgR,GACvC,OAAO,IAAIb,GAAwBa,EAAQZ,SAAUY,EAAQX,WAAYW,EAAQV,gBAAiBU,EAAQT,WAAYS,EAAQL,WAAYK,EAAQP,SAAUO,EAAQN,mBARhL,4BAYI,WACI,OAAO3C,KAAK+C,uBAbpB,KAiBaG,GACT,WAAYC,EAAaC,EAAaC,GAAa,qBAC/CrD,KAAKmD,YAAcA,EACnBnD,KAAKoD,YAAcA,EACnBpD,KAAKqD,WAAaA,GAIbC,GACT,WAAYnW,EAAMoW,EAASC,EAAKC,EAAWC,EAAU7W,GAAQ,qBACzDmT,KAAK7S,KAAOA,EACZ6S,KAAKuD,QAAUA,EACfvD,KAAKwD,IAAMA,EACXxD,KAAKyD,UAAYA,EACjBzD,KAAK0D,SAAWA,EAChB1D,KAAKnT,MAAQA,GAIR8W,GAAb,WACI,WAAYC,GAAmB,qBAC3B5D,KAAK6D,oBAAsBD,EAC3B5D,KAAKV,0BAA4B,GACjCU,KAAK8D,qCAJb,uEAOI,WAAsC,IAAD,OACjC9D,KAAK6D,oBAAoB/M,SAAQ,SAACiN,GAC9B,IAAIrC,ED9J8B,SAAAsC,GAC1C,IAGInI,EAHA7C,EAAQ,EACRiL,EAAY,EACZ7E,EAAoB,EAaxB,OAVA4E,EAAiBlN,SAAQ,SAACtI,GACtBwK,GAASxK,EAAKyK,YACdgL,GAAazV,EAAK2K,WAClBiG,GAAqB5Q,EAAK6K,gBAG9BL,EAAQA,EAAMpD,QAAQ,GACtBqO,EAAYA,EAAUrO,QAAQ,GAC9BwJ,EAAoBA,EAAkBxJ,QAAQ,GAC9CiG,EAAsBmI,EAAiBjQ,OAChC,CACHiF,QAAOiL,YAAW7E,oBAAmBvD,uBC6IhBqI,CAA+BH,EAAkB9H,cAClE8H,EAAoB5F,OAAOgE,OAAO4B,EAAmBrC,GACf,GAAlCA,EAAW7F,sBACX,EAAKyD,0BAA0ByE,EAAkB7E,MAAQ6E,QAZzE,kCAiBI,SAAqB7T,GACjB,OAAO8P,KAAKV,0BAA0BpP,OAlB9C,KAsBaiU,GAAb,WACI,WAAYC,GAAY,qBACpBpE,KAAKoE,UAAYA,EAFzB,iDAKI,WACI,OAAOpE,KAAKoE,cANpB,KAUaC,GACT,WAAYC,EAAUnB,EAAaoB,EAAW1X,EAAOyV,GAAa,qBAC9DtC,KAAKsE,SAAWA,EAChBtE,KAAKmD,YAAcA,EACnBnD,KAAKuE,UAAYA,EACjBvE,KAAKnT,MAAQA,EACbmT,KAAKsC,WAAaA,GAIbkC,GAAb,WACI,WAAYC,GAAS,qBACjBzE,KAAKyE,OAASA,EAFtB,8CAKI,WACI,OAAOzE,KAAKyE,WANpB,KAUaC,GACT,WACIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACD,qBACCnF,KAAK2E,gBAAkBA,EACvB3E,KAAK4E,QAAUA,EACf5E,KAAK6E,UAAYA,EACjB7E,KAAK8E,cAAgBA,EACrB9E,KAAK+E,YAAcA,EACnB/E,KAAKgF,cAAgBA,EACrBhF,KAAKiF,cAAgBA,EACrBjF,KAAKkF,cAAgBA,EACrBlF,KAAKmF,UAAYA,GAIZC,GAAb,WACI,WAAYC,GAAO,qBACfrF,KAAKqF,KAAOA,EAFpB,4CAKI,WACI,OAAOrF,KAAKqF,SANpB,KAUaC,GAAb,WACI,WAAYC,EAAO1Y,EAAOyV,EAAYkD,GAAc,qBAChDxF,KAAKyF,UAAYF,EACjBvF,KAAKnT,MAAQA,EACbmT,KAAKsC,WAAaA,EAClBtC,KAAKwF,YAAcA,EAL3B,6CAQI,WACI,OAAOxF,KAAKnT,UATpB,KAaa6Y,GAAb,WACI,WAAY7Y,EAAO0Y,EAAOpY,EAAMqY,EAAaG,GAAW,qBACpD3F,KAAKnT,MAAQA,EACbmT,KAAKyF,UAAYF,EACjBvF,KAAK7S,KAAOA,EACZ6S,KAAKwF,YAAcA,EACnBxF,KAAK2F,SAAWA,EANxB,mDASI,WACI,IAAMC,EAAQ5F,KAAKnT,MAAMgZ,QAAQ,KAC3BC,EAAS9F,KAAKnT,MAAMkZ,OAAO,EAAGH,GACpC,OAAOE,EAAO,GAAK,QAAUA,EAAOA,EAAO/R,OAAO,GAAKiM,KAAKnT,MAAMkZ,OAAOH,KAZjF,qBAeI,WACI,OAAO5F,KAAK7S,OAhBpB,wBAmBI,WACI,OAAO6S,KAAK2F,aApBpB,KAwBaK,GAAb,WACI,WAAYC,EAAW/M,GAAO,qBAC1B8G,KAAKiG,UAAYA,EACjBjG,KAAK9G,KAAOA,EAHpB,2CAMI,WACI,OAAO8G,KAAK9G,SAPpB,KCjRagN,GAA6B,WAAsC,IAArCnG,EAAoC,uDAAxBoG,GACnD,OAAO,IAAIrG,GAAsBC,IAGxBqG,GAA0B,SAACC,EAAWnG,EAAaC,EAASC,EAAgB9D,EAAuB7D,EAAa4H,EAAeC,EAAoBzT,EAAO0T,EAASC,GAC5K,OAAO,IAAIP,GAAkBoG,EAAWnG,EAAaC,EAASC,EAAgB9D,EAAuB7D,EAAa4H,EAAeC,EAAoBzT,EAAO0T,EAASC,IAW5J8F,GAA0B,SAACxD,GACpC,OAAO,IAAID,GAAsBC,IAOxByD,GAA2B,SAACpZ,EAAMoW,EAASC,EAAKC,EAAWC,EAAU7W,GAC9E,OAAO,IAAIyW,GAAgBnW,EAAMoW,EAASC,EAAKC,EAAWC,EAAU7W,IAgC3D2Z,GAA0B,SAAC3Z,EAAO0Y,EAAOpY,EAAMqY,EAAaG,GACrE,OAAO,IAAID,GAAe7Y,EAAO0Y,EAAOpY,EAAMqY,EAAaG,IC5EzDnO,GAAe,CAAC,eAAgB,aAAc,OAAO,wBAAyB,WAAW,mBAElFiP,GAAwB,SAAC/O,EAAUgC,EAAa9B,EAAajC,GACtE+B,GAAY,OACZ,IAAIG,EAAO,IAAIC,KAAK,CAACC,GAAc2B,EAAa9B,EAAajC,IAAY,CAACxK,KAAM,aAC5EiD,EAAMgD,OAAO4G,IAAIC,gBAAgBJ,GACrC,OACI,mBAAGpL,UAAU,cAAca,KAAMc,EAAK8J,SAAUR,EAAUS,MAAO,mBAAjE,SACI,qBAAKC,IAAKC,GAAcC,IAAK,oBAKnCP,GAAgB,SAAC2B,EAAa9B,EAAajC,GAC7C,IAAI4C,EAAYf,GAAagB,KAAK,KAelC,OAdAD,GAAa,KACbmB,EAAY5C,SAAQ,SAACC,GACjB,IAAI9C,EAAM,GACN0F,EAAiB/B,EAAYb,EAAM4B,WACnCiB,EAAiBjD,GAAwBI,EAAMG,eAAgBvB,GAC/D+Q,EAAa,OACI,IAAjB3P,EAAMC,SACN4C,EAAiB,EACjB8M,EAAa,MAEjBzS,EAAIrI,KAAK8M,GAASiB,EAAelB,aAAckB,EAAeG,UAAW/C,EAAM4P,iBAAkB5P,EAAMG,eAAgBwP,EAAY9M,GACnI,IAAIN,EAASrF,EAAIuE,KAAK,KACtBD,GAAae,EAAS,UAEnBf,GC5BLqO,GAAsB,CAAC,iBAAkB,gCAAiC,yBAA0B,0BAA2B,kBAAmB,WA6BzIC,GA3Bc,WACzB,IAGM3L,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CC,EAAqB5P,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAChDC,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAClD,GAAuB,OAAnBJ,GAAkD,OAAvBC,GAAkD,OAAnBE,EAC1D,OACI,sBAAK5O,UAAU,+BAAf,UACI,sBAAMA,UAAU,YAAhB,sBACA,cAAC,GAAD,CAAcsF,eAAgB6U,GAAqB/S,aAAc,GACnDC,UAAU,sDAIpC,IAAMD,ECnBsB,SAAC0H,EAAiB5F,EAAUiC,EAAa/K,GACrE0O,EAAkB4C,OAAO2I,YAAY3I,OAAO4I,QAAQxL,IACpD,IAAIC,EAAe,GACnB,IAAK,IAAMnG,KAASkG,EAAiB,CACjC,IAAIE,EAAW,GACXjF,EAAU,IAAIxB,KAAKK,GACvBoG,EAAS7P,KAAK2K,GAAaC,IAC3B,IAAIwQ,EAAmBzL,EAAgBlG,GAAO4G,aAAalI,OAC3DnC,QAAQqD,IAAIsG,EAAgBlG,IAC5B,IAAI4R,EAAyB1L,EAAgBlG,GAAOwG,oBACpDJ,EAAS7P,KAAKqb,EAAuBC,WAAa,WAAaF,EAAiBE,WAAa,MAAiC,IAAzBD,EAA+BD,GAAkBpR,QAAQ,GAAK,MACnK,IAAIoD,EAAQuC,EAAgBlG,GAAOyG,mBAAmBlG,QAAQ,GAC9D6F,EAAS7P,KAAKoN,GACd,IAAInC,EAAsBD,GAA4B2E,EAAgBlG,GAAO4G,aAAc,KAC3FR,EAAS7P,KAAKiL,GACd,IAAI+C,EAAiBhD,GAA4B2E,EAAgBlG,GAAO4G,aAActG,GACxE,yBAAV9I,GACI2J,EAAQF,WAAa,aAAesD,GAAkB,WAGhD,0BAAV/M,GACI2J,EAAQF,WAAa,aAAesD,GAAkB,WAG9D6B,EAAS7P,KAAKgO,GACd,IAAIuN,EAAaV,GAAsB,WAAapR,EAAOkG,EAAgBlG,GAAO4G,aAAcrE,EAAYsE,iBAAkBvG,GAC9H8F,EAAS7P,KAAKub,GACd3L,EAAa5P,KAAK6P,GAEtB,OAAOD,EAAaW,KAAKtG,IAAkBuR,MAAM,EAAG,IDV/BC,CAAiBhM,EAAegB,oBAAqBnB,EAAeoB,sBAAuBnB,EAAoBD,EAAerO,OAGnJ,OAFA+Z,GAAoB,GAAK,8BAAyB1L,EAAeoB,sBAAxC,MAGrB,sBAAK7P,UAAU,+BAAf,UACI,sBAAMA,UAAU,YAAhB,sBACA,cAAC,GAAD,CAAcsF,eAAgB6U,GAAqB/S,aAAcA,EAAc7B,OArBnE,CAChBqC,qBAAqB,SELvBiT,GAAoB,oBAcXC,GAXY,WACvB,OACI,qCACI,cAAC,GAAD,CAAiBpP,MAAM,aACvB,qBAAK1L,UAAU,OAAf,SACI,cAAC,GAAD,UCsBD+a,GA3BW,SAAC,GAAiD,IAAhDC,EAA+C,EAA/CA,OAAQC,EAAuC,EAAvCA,QAASC,EAA8B,EAA9BA,YAAazH,EAAiB,EAAjBA,YAChD/T,EAAWC,cAgBjB,OACI,qBAAKK,UAAU,OAAOuQ,QAhBV,WACR2K,GAEIxb,EADA+T,IAAgB0H,GACP,CACLzc,KAAM0c,GACNzc,QAAS8a,GAA2BoB,KAG/B,CACLnc,KAAM0c,GACNzc,QAAS8a,GAA2B3G,OAMhD,SACI,sBAAK9S,UAAU,+BAAf,UACI,sBAAMA,UAAU,WAAhB,SAA4Bib,IAC5B,sBAAMjb,UAAU,YAAhB,SAA6Bgb,UCwB9BK,GA9CqB,SAAC,GAAmB,IAGhDC,EAAOC,EAmBPC,EAtB8BC,EAAiB,EAAjBA,YAC5B7M,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAC5CH,EAAqB5P,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAEtD,GAAoB,OAAhB8M,EACA,OAAO,6BAGX,GAAsB,MAAlB7M,GAAgD,MAAtBF,EAC1B4M,EAAQ,CAAC,CAAC,iBAAkB,GAAI,CAAC,gBAAiB,GAAI,CAAC,kBAAmB,GAAI,CAAC,oBAAqB,MAAU,CAAC,sBAAuB,OACtIC,EAAe,CAAC,CAAC,iBAAkB,GAAI,CAAC,gBAAiB,GAAI,CAAC,kBAAmB,GAAI,CAAC,oBAAqB,WACxG,CACH,MR0B2C,SAACG,EAAgBxS,GAChE,IACIyS,EADAC,EAAe,IAAIrT,KAEvB,IAAK,IAAI9E,KAAQiY,EAEb,GADAC,EAAazT,GAAUzE,GACnBmY,EAAatN,aAAeqN,EAAWrN,WAGvC,MAAO,CAACuN,oBAFkB7S,GAA6B0S,EAAejY,GAAM4L,mBAAoBnG,GAEnE4S,iBADN5R,GAAwBwR,EAAejY,GAAM4L,mBAAoBnG,IAIhG,MAAO,CAAC2S,oBAAqB,IAAKC,iBAAkB,KQlC5CC,CAAoCnN,EAAegB,oBAAqB6L,EAAY5L,uBAFpFgM,EADJ,EACIA,oBACAC,EAFJ,EAEIA,kBRsCgC,SAACJ,EAAgBxS,GACzD,IACIyS,EADAC,EAAe,IAAIrT,KAEnBiE,EAAc,EAClB,IAAK,IAAI/I,KAAQiY,EACbC,EAAa,IAAIpT,KAAK9E,GAClBmY,EAAavN,gBAAkBsN,EAAWtN,gBAC1C7B,GAAekP,EAAejY,GAAM4L,oBAG5C,OAAOnF,GAAwBsC,EAAatD,IQ9CrB8S,CAA6BpN,EAAegB,oBAAqB6L,EAAY5L,uBAChGyL,EAAQ,CAAC,CAAC,iBAAkB5M,EAAmBuN,iCAAkC,CAAC,gBAAiBvN,EAAmBwN,+BAAgC,CAAC,kBAAmBxN,EAAmBuN,gCAAkCvN,EAAmBwN,+BAAgC,CAAC,oBAAqB,IAAML,GAAsB,CAAC,sBAAuB,IAAMC,IAClWP,EAAe,CAAC,CAAC,iBAAkB7M,EAAmBuN,iCAAkC,CAAC,gBAAiBvN,EAAmBwN,+BAAgC,CAAC,kBAAmBxN,EAAmBuN,gCAAkCvN,EAAmBwN,+BAAgC,CAAC,oBAAqB,IAAMJ,IAKzTN,EAAaF,EACTG,EAAYhI,cAAgB0H,KAAwBK,EAAaD,GAerE,OACI,qBAAKvb,UAAU,wBAAf,SAbOwb,EAAWhW,KAAI,SAAC2W,EAAMzW,GACzB,IAAIwV,GAAc,EAElB,OADIxV,EAAM,IAAGwV,GAAc,GAEvB,qBAAelb,UAAU,iDAAzB,SACI,cAAC,GAAD,CAAmBib,QAASkB,EAAK,GAAInB,OAAQmB,EAAK,GAAIjB,YAAaA,EAChDzH,YAAagI,EAAYhI,eAFtC/N,SClBX0W,GAfO,WAClB,IAAMX,EAAc3c,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC/C,GAAoB,OAAhBgN,EAAsB,OAAO,6BAGjC,OADIA,EAAY7H,eAA6B6H,EAAY7H,cAAcnL,MAAM,KAAK,GAE9E,qBAAKzI,UAAU,0BAAf,SAII,cAAC,GAAD,CAA6Byb,YAAaA,OCdvC,OAA0B,yCCA1B,OAA0B,0CC2D1BY,GAvDa,SAAC,GAA6F,IAA5FC,EAA2F,EAA3FA,SAA2F,IAAjF9O,mBAAiF,MAAnE,GAAmE,EAA/D+O,EAA+D,EAA/DA,MAAOC,EAAwD,EAAxDA,aAAcC,EAA0C,EAA1CA,UAA0C,IAA/BC,yBAA+B,SACrH,EAAgC1J,oBAAS,GAAzC,mBAAO2J,EAAP,KAAiBC,EAAjB,KA6BA,OACI,sBAAK5c,UAAS,0CAtBd,OAAOwc,QAAP,IAAOA,OAAP,EAAOA,EAAcK,SAASP,IAsBwC,gBAAkB,IACnF/L,QApBW,SAACC,GACjB,IAAIsM,EAAqBR,EACrBI,IAAsBC,IACtBG,GAAsB,kBAE1BL,EAAUK,IAcV,UAEI,sBAAK9c,UAAU,wBAAf,UACKsc,EA7BFA,IAAa9O,GA8BW,qBAAKxN,UAAU,gBAAf,+BAE1B0c,GAAqB,sBAAK1c,UAAU,qCAAqCuQ,QAjBxD,SAACC,GACvBA,EAAGuM,kBACHH,GAAaD,GACb,IAAIG,EAAqBR,EACrBK,IACAG,GAAsB,kBAE1BL,EAAUK,IAUgB,UAClB,qBAAK9c,UAAU,YAAf,SACI,qBAAK2L,IAAKgR,EAAWK,GAAcC,GAAcpR,IAAK,aAE1D,qBAAK7L,UAAU,OAAf,0BAGC0c,GAAqB,qBAAK1c,UAAU,uBAEzC,qBAAKA,UAAU,kBAAf,uBACA,sBAAKA,UAAU,eAAf,cACMuc,EADN,aChDNW,GAAmB,mBAEZC,GAAqB,yDAC9B,WAAOzd,GAAP,iBAAA+C,EAAA,+EAE6BG,IAF7B,QAEYmC,EAFZ,QAGqBhD,MXqBgBqb,EWpByBrY,EAAShD,KAAvD2M,EXqBT,IAAIsF,GAAsBoJ,GWpBrB1d,EAAS,CACLhB,KAAMwe,GACNve,QAAS+P,KAGbhP,EAAS,CACLhB,KAAMwe,GACNve,QAAS,OAZzB,gDAgBQwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMwe,GACNve,QAAS,OAnBrB,kCXwBoC,IAACye,IWxBrC,oBAD8B,uDCqFnBC,GAnFU,SAAC,GAAyB,IAAxBC,EAAuB,EAAvBA,kBACjBC,EAAoBze,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAC/C6O,EAAsB,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAmBE,6BAA6BH,GAC/E,EAAwCtK,mBAAS,IAAjD,mBAAOwJ,EAAP,KAAqBkB,EAArB,KACA,EAA0C1K,oBAAS,GAAnD,mBAAO2K,EAAP,KAAsBC,EAAtB,KACA,EAA8C5K,mBAAS,IAAvD,mBAAO6K,EAAP,KAAwBC,EAAxB,KACiBne,cAYjB,GAVAV,qBAAU,Wd8F4B,IAACsO,Ec7FnCmQ,EAAe,OAACF,QAAD,IAACA,OAAD,EAACA,EAAwBhQ,aACxCoQ,Gd4FmCrQ,Ec5FQ,OAACiQ,QAAD,IAACA,OAAD,EAACA,EAAwBjQ,Sd6FrD,CAAC,gBAAiB,SAAU,YAAa,kBACvCsP,SAAStP,Oc7F3B,QAACiQ,QAAD,IAACA,OAAD,EAACA,EAAwBjQ,QAAzB,OAAkCiQ,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAwBhQ,YAAa8P,IAE1Ere,qBAAU,WAEN,OADA6e,EAAmB,IACZ,kBAAMA,EAAmB,OACjC,CAACR,IAEsB,OAAtBC,EAA4B,OAAO,6BAEvC,IAAMQ,EAAiB,WACnB,cAAOP,QAAP,IAAOA,OAAP,EAAOA,EAAwBhQ,aAgBnC,OACI,qBAAKxN,UAAU,aAAawD,GAAG,mBAAmBwa,SAAS,KAAK,kBAAgB,wBAC3E,cAAY,OADjB,SAEI,qBAAKhe,UAAU,8CAAf,SACI,sBAAKA,UAAU,gBAAf,UACI,sBAAKA,UAAU,eAAf,UACI,oBAAIA,UAAU,+BAA+BwD,GAAG,wBAAhD,kCACA,wBAAQ9E,KAAK,SAASsB,UAAU,WAAW,kBAAgB,QACnD,aAAW,QADnB,SAEI,qBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAChDC,MAAM,6BADX,SAEI,sBACIC,EAAE,qhBACFF,KAAK,mBAIrB,sBAAKpe,UAAU,yBAAf,UACK6d,GAAmB,qBAAK7d,UAAU,0BAAf,SAA0C6d,IAC9D,sBAAK7d,UAAU,gCAAf,UACI,cAAC,GAAD,CAAqBwN,YAAauQ,IAAkBzB,SAAU,UAAWC,MAAO,IAC3DC,aAAcA,EAAcC,UAAWiB,IAC5D,cAAC,GAAD,CAAqBlQ,YAAauQ,IAAkBzB,SAAU,eAAgBC,MAAO,KAChEC,aAAcA,EAAcC,UAAWiB,EAAiBhB,kBAAmBiB,IAChG,cAAC,GAAD,CAAqBnQ,YAAauQ,IAAkBzB,SAAU,kBACzCC,MAAO,KAAMC,aAAcA,EAAcC,UAAWiB,EAAiBhB,kBAAmBiB,IAC7G,cAAC,GAAD,CAAqBnQ,YAAauQ,IAAkBzB,SAAU,gBACzCC,MAAO,KAAMC,aAAcA,EAAcC,UAAWiB,IACzE,cAAC,GAAD,CAAqBlQ,YAAauQ,IAAkBzB,SAAU,oBACzCC,MAAO,MAAOC,aAAcA,EAAcC,UAAWiB,OAE9E,sBAAK1d,UAAU,kCAAf,UACI,qBAAK,kBAAgB,QAAQ,aAAW,QACnCA,UAAU,6BADf,oBAGA,qBAAKA,UAAU,sBACVuQ,QAjDD,WACpBiM,KAAY,OAAKgB,QAAL,IAAKA,OAAL,EAAKA,EAAwBhQ,cAM7CsQ,EAAmB,iHAyCC,mCCnDbS,GA1BQ,SAAC,GAAqB,IAAD,IAAnBzd,cAAmB,MAAV,KAAU,EAexC,OAdA7B,qBAAU,WAMN,OALI6B,GAA6D,IAAnD0d,SAASC,uBAAuB3d,GAAQwG,SAClDkX,SAASC,uBAAuB3d,GAAQ,GAAG2P,MAAMiO,cAAgB,OACjEF,SAASC,uBAAuB3d,GAAQ,GAAG2P,MAAMkO,QAAU,IAGxD,WACC7d,GAA6D,IAAnD0d,SAASC,uBAAuB3d,GAAQwG,SAClDkX,SAASC,uBAAuB3d,GAAQ,GAAG2P,MAAMiO,cAAgB,GACjEF,SAASC,uBAAuB3d,GAAQ,GAAG2P,MAAMkO,QAAU,OAMnE,qBAAK3e,UAAU,oCAAoCuQ,QAAS,SAACC,GAAQA,EAAGuM,mBAAxE,SACI,qBAAK/c,UAAU,8CAAf,SACI,qBAAKA,UAAU,gCAAgCe,KAAK,SAApD,SACI,sBAAMf,UAAU,kBAAhB,+BCrBP4e,GAAa,aC4BXC,GAxBM,SAACC,EAAS5S,GAAV,8CAAwB,WAAMxM,GAAN,iBAAA+C,EAAA,+EAEhBkB,EAAc,CAACmb,UAAS5S,cAFR,QAEjCnH,EAFiC,QAGxBhD,Mf+Cc6W,Ee9Ce7T,EAAShD,KAAK4V,UAAhDoH,Ef+CL,IAAIrH,GAAiBkB,Ge9CpBlZ,EAAS,CACLhB,KAAMkgB,GACNjgB,QAASogB,KAGbrf,EAAS,CACLhB,KAAMkgB,GACNjgB,QAAS,OAZoB,gDAgBrCwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMkgB,GACNjgB,QAAS,OAnBwB,kCfkDX,IAACia,IelDU,oBAAxB,uDCEjBoG,GAAc,GAoCHC,GAnCG,SAAC,GAA0C,IAAzCC,EAAwC,EAAxCA,gBAAiB5B,EAAuB,EAAvBA,kBAC3B5d,EAAWC,cACXof,EAAejgB,aAAY,SAAAR,GAAK,OAAIA,EAAMqZ,aAChD,EAAsC3E,oBAAS,GAA/C,mBAAOmM,EAAP,KAAoBC,EAApB,KACA,EAA8BpM,mBAAS,IAAvC,6BAwBA,OAjBA/T,qBAAU,WAQN,OAPqB,OAAjB8f,GAAyBC,KAAgBD,EAAaF,iBACtDG,GAAcD,EAAaF,eAC3Bla,OAAO0a,KAAKN,EAAaF,eAAgB,WAG7CO,GAAe,GAER,WACH1f,EAAS,CACLhB,KAAMkgB,GACNjgB,QAAS,UAGlB,CAACogB,IAIA,sBAAM/e,UAAS,wBAAmBmf,EAAa,kBAAkB,IAAM5O,QAvBvD,WAChB6O,GAAe,GACf1f,EAASmf,GAAaK,EAAiB5B,KAqBsD5R,MAAO,4BAApG,wCCEO4T,GApCE,SAAC,GAAmB,IAAlBC,EAAiB,EAAjBA,YACf,EAA4BvM,oBAAS,GAArC,mBAAOwM,EAAP,KAAeC,EAAf,KACMC,EAAcngB,iBAAO,MAOrBogB,EAAqB,SAACzf,GACpBwf,EAAY9f,UAAY8f,EAAY9f,QAAQggB,SAAS1f,EAAMY,SAC3D2e,GAAU,IAWlB,OAPAxgB,qBAAU,WAEN,OADA0F,OAAOkb,iBAAiB,QAASF,GAC1B,WACHhb,OAAOmb,oBAAoB,QAASH,MAEzC,IAGC,sBAAK3f,UAAU,WAAWQ,IAAKkf,EAA/B,UACI,wBAAQ1f,UAAU,uBAAuBuQ,QAnB9B,WACfkP,GAAWD,IAkBP,SACI,sBAAMxf,UAAU,8BAEnBwf,GACG,oBAAIxf,UAAU,qBAAd,SACKuf,QCPNQ,GApBU,SAAC,GAAiE,IAAhEb,EAA+D,EAA/DA,gBAAiB5B,EAA8C,EAA9CA,kBAAmB0C,EAA2B,EAA3BA,sBAErDC,EAAc,WAChBD,EAAsB1C,IAc1B,OAAO,cAAC,GAAD,CAAUiC,YAXb,qCACI,oBAAIhP,QAAS0P,EAAa,iBAAe,QACrC,iBAAe,oBADnB,SAEI,sBAAMjgB,UAAU,gBAAhB,mCAEJ,6BACI,cAAC,GAAD,CAAWkf,gBAAiBA,EAAiB5B,kBAAmBA,YCLhF,ICSI4C,GDPEvV,GAAgB,CAClB,CACInH,GAAI,QACJ9C,KAAM,GACNoK,SAAU,SAACqV,EAAGtV,GAAJ,gBAAiBA,EAAQ,EAAzB,OAEd,CACIrH,GAAI,cACJ9C,KAAM,gBACNoK,SAAU,qBAAEgD,QAAqB9B,aAAe,YAEpD,CACIxI,GAAI,YACJ9C,KAAM,aACNoK,SAAU,qBAAEgD,QAAqBT,WAAa,YAElD,CACI7J,GAAI,aACJ9C,KAAM,cACNoK,SAAU,qBAAEgD,QAAqB1N,OAAS,YAE9C,CACIoD,GAAI,cACJ9C,KAAM,eACNoK,SAAU,qBAAEgD,QAAqBR,aAAe,YAEpD,CACI9J,GAAI,cACJ9C,KAAM,eACNoK,SAAU,qBAAEgD,QAAqBN,aAAe,YAEpD,CACIhK,GAAI,UACJ9C,KAAM,UACNoK,SAAU,qBAAEgD,QAAqBP,SAAW,YAEhD,CACI/J,GAAI,kBACJ9C,KAAM,oBACNoK,SAAU,YAAkC,IAAhCgD,EAA+B,EAA/BA,QAASsS,EAAsB,EAAtBA,iBACjB,OAAKnZ,GAAkB6G,EAAQN,aACN,OAArB4S,EAAkC,MAC/B,qBAAKpgB,WAA2B,OAAhBogB,QAAgB,IAAhBA,OAAA,EAAAA,EAAkB7V,QAAS,eAAiB,aAA5D,UACkB,OAAhB6V,QAAgB,IAAhBA,OAAA,EAAAA,EAAkB7V,QAAS,OAAS,WAHO,QAO5D,CACI/G,GAAI,cACJ9C,KAAM,eACNoK,SAAU,mBnCtDS,SAACf,GAExB,GADuB,kBAAZA,IAAsBA,EAAU,IAAIxB,KAAKwB,IAChDkE,MAAMlE,EAAQF,WACd,MAAO,MAKX,GAFAE,EAAU,IAAIxB,KAAKwB,EAAQF,YAA2C,IAA/BE,EAAQC,qBAI3C,OAAOD,EAAQE,eAAe,QADhB,CAACtB,KAAM,UAAWC,MAAO,QAASC,IAAK,YmC6C5BwX,CAAf,EAAEvS,QAAiCE,cAAgB,YAEjE,CACIxK,GAAI,WACJ9C,KAAM,GACNoK,SAAU,gBAAEgD,EAAF,EAAEA,QAASkS,EAAX,EAAWA,sBAAX,OACF,cAAC,GAAD,CACId,gBAAiBpR,EAAQ2G,aACzB6I,kBAAmBxP,EAAQ5B,UAC3B8T,sBAAuBA,OAKrCM,GAA0B,SAAC1R,GAAoB,IAAD,MAChD,GAAuB,OAAnBA,QAA8C2R,IAAnB3R,EAA8B,OAAO,KAEpE,IAAM4R,EAAoB,oBAAG9O,OAAO4I,QAAP,OAAe1L,QAAf,IAAeA,OAAf,EAAeA,EAAgBgB,qBACvD6Q,MAAK,mCAAEhb,EAAF,iBpCnBa,SAAChC,GACxB,IAAMid,EAAc,IAAInY,KAClBoT,EAAazT,GAAUzE,GAE7B,OADA0B,QAAQqD,IAAI,eAAgB/E,EAAMkY,GAC9BA,EAAWtN,gBAAkBqS,EAAYrS,cAClCsN,EAAWrN,aAAeoS,EAAYpS,WAAa,EAExB,IAA3BoS,EAAYpS,YAA8C,KAA1BqN,EAAWrN,YAAqBqN,EAAWtN,gBAAkBqS,EAAYrS,cAAgB,EoCYxGsS,CAAYlb,aADd,iBAAG,EACmB,UADtB,aAAG,EACuB+J,oBAD1B,QAC0C,KAEpE,OAA6B,OAAzBgR,EAAsC,KAEjB,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAsBlL,QAAO,SAACyB,EAAK6J,GAE3D,OADA7J,EAAI6J,EAAK1U,WAAa0U,EACf7J,IACR,KAgDQ8J,GA3Cc,WACzB,IAAMtD,EAAoBze,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAC/CF,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CG,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAClD,EAAkDmE,mBAAS,MAA3D,mBAAOsK,EAAP,KAA0BwD,EAA1B,KAEMC,EAAsBT,GAAwB1R,GAE9CoR,EAAwB,SAAC9T,GAC3B4U,EAAqB5U,IAGzB,GAA0B,OAAtBqR,GAAiD,OAAnB9O,EAC9B,OAAO,cAAC,GAAD,CAAgB3N,OAAQ,kBAEnC,IAAMkgB,EAAazD,EAAkBrO,mBAAmB1J,KAAI,SAAAsI,GAAO,YAAK,CACpEA,QAASA,EACTsS,iBAAgB,iBAAEW,QAAF,IAAEA,OAAF,EAAEA,EAAsBjT,EAAQ5B,kBAAhC,QAA8C,KAC9D8T,sBAAuBA,MAGvBiB,EAAyBxS,EAAeyS,6BACxCvW,GAAgBA,GAAcwW,QAAO,SAAAvW,GAAM,MAAkB,aAAdA,EAAOpH,MAC9B,OAAxBud,IACAE,EAAyBA,EAAuBE,QAAO,SAAAvW,GAAM,MAAkB,oBAAdA,EAAOpH,OAG5E,IEtHgCyQ,EAAKpJ,EFsHrC,EAAwBH,GAA0BsW,EAAYC,GAAvD5f,EAAP,EAAOA,QAASU,EAAhB,EAAgBA,KACVqf,GEvH+BvW,EFuHQ,GEvHboJ,EFuHOlS,GErHnC2N,MAAK,SAACjN,EAAGyO,GACT,IAAImQ,EAAY5e,EAAEoI,GACdyW,EAAYpQ,EAAErG,GACd0W,EAASra,GAAUkS,QAAQiI,GAC3BG,EAASta,GAAUkS,QAAQkI,GAE/B,OAAgB,IAAZC,IAA6B,IAAZC,EAEVD,EAASC,EAGTH,EAAUI,cAAcH,MAGvCrN,EAAI5J,SAAQ,SAAC7C,EAAKqD,GAEdrD,EAAI,IAAMqD,EAAQ,GAAG4P,WAAa,OAG/BxG,GFoGP,OACI,sBAAKjU,UAAU,+BAAf,UACI,cAAC,GAAD,CACIsF,eAAgBjE,EAChB+F,aAAcga,EACd/Z,UArHO,iCAuHVoH,EAAeyS,8BACZ,cAAC,GAAD,CAAkB5D,kBAAmBA,QG7FtCoE,GApCM,SAAC,GAAuE,IAAtE3R,EAAqE,EAArEA,SAAU4R,EAA2D,EAA3DA,QAASC,EAAkD,EAAlDA,QAASlW,EAAyC,EAAzCA,MAAOmW,EAAkC,EAAlCA,cAAeC,EAAmB,EAAnBA,cACrE,OACI,qCACI,wBAAQpjB,KAAK,SAASsB,UAAU,yBAAyB,iBAAe,QAChE,4BAAoB2hB,GAD5B,SAEKC,IAEL,qBAAK5hB,UAAU,aAAawD,GAAIme,EAAS3D,SAAS,KAAK,4BAAoB2D,EAApB,SAClD,cAAY,OADjB,SAEI,qBAAK3hB,UAAU,qCAAf,SACI,sBAAKA,UAAU,gBAAf,UACI,sBAAKA,UAAU,eAAf,UACI,oBAAIA,UAAU,+BAA+BwD,GAAE,UAAKme,EAAL,SAA/C,SAAqEjW,IACrE,wBAAQlI,GAAIme,EAAU,SAAUjjB,KAAK,SAASsB,UAAU,WAAW,kBAAgB,QAC3E,aAAW,QADnB,SAEI,qBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAChDC,MAAM,6BADX,SAEI,sBACIC,EAAE,qhBACFF,KAAK,mBAIrB,qBAAKpe,UAAU,yBAAf,SACK+P,IAEJ8R,GAAiB,qBAAK7hB,UAAU,eAAf,SACd,wBAAQtB,KAAK,SAASsB,UAAU,kBAAhC,SAAmD8hB,iBCyChEC,GAlEW,WACtB,IAAMC,EAAgBziB,iBAAO,MACvB0iB,EAAenjB,aAAY,SAACR,GAAD,OAAWA,EAAM2jB,gBAClD,EAAgCjP,oBAAS,GAAzC,mBAAOkP,EAAP,KAAiBC,EAAjB,KAEA,GAAoB,MAAhBF,EAAsB,OAAO,6BAUjC,OACI,qBAAKjiB,UAAU,iBAAf,SACI,cAAC,GAAD,CACI0L,MAAO,gBACPiW,QAAS,yBACTC,QAAS,iBACTC,eAAe,EAJnB,SAKI,sBAAK7hB,UAAU,OAAf,UACI,qBAAKA,UAAU,gBAAf,2HAGA,sBAAKA,UAAU,0BAAf,UACI,qBAAKA,UAAU,oBAAf,SAAoCiiB,IACpC,sBACI1R,QAtBA,WACpB6R,UAAUC,UAAUC,UAAUL,GAC9BE,GAAY,GACZpiB,YAAW,WACPoiB,GAAY,KACb,MAkBiBniB,UAAU,oBACV0L,MAAO,YAHX,WAIMwW,GAAY,qBACV7D,MAAM,6BACNJ,MAAM,KACNC,OAAO,KACPE,KAAK,eACLpe,UAAU,aACVme,QAAQ,YANE,SAOV,sBACIoE,SAAS,UACTjE,EAAE,+PAGT4D,GACG,qBAAK7D,MAAM,6BAA6BJ,MAAM,KAAKC,OAAO,KAAKE,KAAK,eAC/Dpe,UAAU,eAAeme,QAAQ,YADtC,SAEI,sBACIG,EAAE,wIAIlB,mBACIzd,KAAMohB,EACNnhB,OAAO,SACPF,IAAI,aACJZ,UAAU,qCAJd,SAKI,sBAAMQ,IAAKwhB,EAAX,yCCvDtBtI,GAAsB,sBAcb8I,GAZU,WACrB,OACI,qCACI,cAAC,GAAD,CAAiB9W,MAAO,WAAxB,SACI,cAAC,GAAD,MAEJ,cAAC,GAAD,IACA,cAAC,GAAD,Q,0BCXC+W,I,MAAwB,yDACjC,WAAO/iB,GAAP,mBAAA+C,EAAA,+EAE6BM,IAF7B,OAEYgC,EAFZ,QAGQ,UAAIA,EAAShD,YAAb,aAAI,EAAe2gB,WACXA,EAAW3d,EAAShD,KAAK2gB,SAC7BhjB,EAAS,CACLhB,KAAMikB,GACNhkB,SzB8BwB+X,EyB9BagM,EAASE,WzB8BTjM,EyB9BqB+L,EAAS/L,YzB8BjBC,EyB9B8B8L,EAAS9L,WzB+BlG,IAAIH,GAA+BC,EAAaC,EAAaC,OyB5BxDlX,EAAS,CACLhB,KAAMikB,GACNhkB,QAAS,OAZzB,gDAgBQe,EAAS,CACLhB,KAAMikB,GACNhkB,QAAS,OAlBrB,kCzBqCuC,IAAC+X,EAAaC,EAAaC,IyBrClE,oBADiC,wDLK/BiM,GAAY,CACdC,KAAM,CACFC,UAAW,UACXC,MAAO,UACPC,WAAY,IACZC,WAAY,iBACZ,gBAAiB,CACbF,MAAO,aA4HJG,GAtHW,SAAC,GAAsB,IAArBC,EAAoB,EAApBA,KAAMC,EAAc,EAAdA,SACxBC,EAASC,uBACTC,EAAWC,yBACXC,EAAankB,iBAAO,MACpBokB,EAAWpkB,iBAAO,MAClBqkB,EAAkBrkB,iBAAO,MACzBskB,EAAetkB,iBAAO,MACtBukB,EAAavkB,iBAAO,MACpBwkB,EAAYjlB,aAAY,SAAAR,GAAK,OAAIA,EAAM0lB,gCACvCvV,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5C/O,EAAWC,cACbskB,EAAgB,WAChBZ,IAAUY,EAAgB,eAE9BhlB,qBAAU,WAAO,IAAD,EAMqB,GALjCykB,EAAW9jB,QAAQ6Q,MAAMyT,QAAU,OACnCP,EAAS/jB,QAAQ6Q,MAAMyT,QAAU,OACjCJ,EAAWlkB,QAAQ6Q,MAAMyT,QAAU,OACnCN,EAAgBhkB,QAAQukB,UAAY,GACpCP,EAAgBhkB,QAAQ6Q,MAAMyT,QAAU,OACpC,UAAChE,UAAD,aAAC,EAAgBkE,cACH,QAAd,EAAAlE,UAAA,SAAgBmE,WAErB,CAACjB,IAEJnkB,qBAAU,WACF8kB,IAAcO,GAAmBC,QACjCC,EAAU,8CACmB,OAAzBX,EAAajkB,UAAkBikB,EAAajkB,QAAQ6kB,SAAU,IAC3DV,IAAcO,GAAmBI,SACxCC,IACA5kB,YAAW,WACPye,SAASoG,eAAe,kCAAkCC,QAC1DnlB,EAAS+iB,QACV,MAEIsB,IAAcO,GAAmBQ,QACX,OAAzBjB,EAAajkB,UAAkBikB,EAAajkB,QAAQ6kB,SAAU,IAElEf,EAAW9jB,QAAQ6Q,MAAMyT,QAAU,OACnCJ,EAAWlkB,QAAQ6Q,MAAMyT,QAAU,OACnCP,EAAS/jB,QAAQ6Q,MAAMyT,QAAU,OACjCN,EAAgBhkB,QAAQ6Q,MAAMyT,QAAU,OACX,OAAzBL,EAAajkB,UAAkBikB,EAAajkB,QAAQ6kB,SAAU,MAEvE,CAACV,IAEJ,IAAMS,EAAY,SAACO,GACfrB,EAAW9jB,QAAQ6Q,MAAMyT,QAAU,QACnCP,EAAS/jB,QAAQ6Q,MAAMyT,QAAU,QACjCJ,EAAWlkB,QAAQ6Q,MAAMyT,QAAU,OACnCN,EAAgBhkB,QAAQukB,UAAYY,EACpCnB,EAAgBhkB,QAAQ6Q,MAAMyT,QAAU,SAGtCS,EAAc,WAChBjB,EAAW9jB,QAAQ6Q,MAAMyT,QAAU,QACnCJ,EAAWlkB,QAAQ6Q,MAAMyT,QAAU,QACnCP,EAAS/jB,QAAQ6Q,MAAMyT,QAAU,OACjCN,EAAgBhkB,QAAQ6Q,MAAMyT,QAAU,QA0B5C,OACI,uBAAMlkB,UAAU,OAAOC,SAxBN,SAACuQ,GAClBA,EAAGrQ,iBAEH,IAAM6kB,EAAcxB,EAASyB,WAAW,QACxCvlB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBQ,UAEhCxB,EAAO6B,YAAYH,GACdI,MAAK,SAACzmB,GM1Fc,IAACyB,EAAOilB,EN2FrB1mB,EAAQyG,OACRof,EAAU7lB,EAAQyG,MAAMkgB,SACxB5lB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBC,UAGlB7kB,EAAV2jB,GMlGUjjB,ENkG2BqO,EAAerO,MMlGnCilB,ENkG0C1mB,EAAQsG,MAAR,GMlGlD,uCAAyB,WAAOvF,GAAP,iBAAA+C,EAAA,sEAE9CV,EAAO,CACP,MAAS3B,EACT,YAAeilB,GAJ+B,SAM9BpiB,EAAyBlB,GANK,UAO3B,OADnBwjB,EAN8C,QAOtCC,QAAqC,MAAnBD,EAAQC,QAAqC,MAAnBD,EAAQC,OAPd,gBAQ9C9lB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBI,UAVc,6BAYrC,IAAI5b,MAAMyc,EAAQE,YAZmB,0DAclDtgB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBC,SAjBkB,0DAAzB,uDCAH,SAACnkB,EAAOilB,GAAR,8CAAyB,WAAO3lB,GAAP,iBAAA+C,EAAA,sEAE3CV,EAAO,CACP,aAAgB3B,EAChB,YAAeilB,GAJ4B,SAMrBriB,EAAsBjB,GAND,UAOlB,OADzB2jB,EAN2C,QAO7BF,QAA2C,MAAzBE,EAAcF,QAA2C,MAAzBE,EAAcF,OAPnC,gBAQ3C9lB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBI,UAVW,6BAYlC,IAAI5b,MAAM4c,EAAcD,YAZU,0DAc/C/lB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBC,SAEhCpf,QAAQC,MAAR,MAlB+C,0DAAzB,sDPmGIugB,CAAelX,EAAerO,MAAOzB,EAAQsG,MAAR,SAMhBzB,GAAG,oBAAlD,UACI,qBAAKxD,UAAU,2BAAf,SACI,kCACI,wCACA,uBAAOwD,GAAG,YAAYxD,UAAU,QAAQS,YAAY,6BAG5D,qBAAKT,UAAU,2BAAf,SACI,kCACI,wCACA,cAAC,eAAD,CAAa4lB,QAAS,SAACC,GAAD,OAAO3F,GAAiB2F,GAAG7lB,UAAU,mBAAmB8lB,QAAS,CACnFrV,MAAOoS,WAKnB,yBAAQnkB,KAAK,SAASsB,UAAU,MAAMQ,IAAKqjB,EAA3C,UACKE,IAAcO,GAAmBQ,SAClC,sBAAM9kB,UAAU,6CAA6Ce,KAAK,SAAS,cAAY,SACtFkjB,KACL,sBAAKzjB,IAAKkjB,EAAY1jB,UAAU,UAAhC,UACI,qBAAKA,UAAU,QAAQQ,IAAKmjB,EAA5B,4CACA,qBAAK3jB,UAAU,UAAUQ,IAAKsjB,EAA9B,0CAGA,qBAAK9jB,UAAU,QAAQQ,IAAKojB,WQhItCmC,GAAgBC,aAAW,8CAUlBC,GARW,SAAC,GAAsB,IAArB7C,EAAoB,EAApBA,KAAMC,EAAc,EAAdA,SAC9B,OACI,cAAC,YAAD,CAAUC,OAAQyC,GAAlB,SACI,cAAC,GAAD,CAAY3C,KAAMA,EAAMC,SAAUA,OC+B/B6C,GArCY,SAAC,GAA+B,IAA9B7C,EAA6B,EAA7BA,SAAUD,EAAmB,EAAnBA,KAAM+C,EAAa,EAAbA,QAKrCC,EAAc,kBAKlB,OAJI/C,IACA+C,EAAc,sBAId,qBAAKpmB,UAAU,aAAawD,GAAG,qBAAqBwa,SAAS,KAAK,kBAAgB,qBAC7E,cAAY,OADjB,SAEI,qBAAKhe,UAAU,qCAAf,SACI,sBAAKA,UAAU,gBAAf,UACI,sBAAKA,UAAU,eAAf,UACI,oBAAIA,UAAU,+BAAd,SAA8ComB,IAC9C,wBAAQ1nB,KAAK,SAAS8E,GAAG,iCAAiCxD,UAAU,WAC5D,kBAAgB,QAChB,aAAW,QAAQuQ,QAlB/B,SAACC,GAAQ,IAAD,EACpB,UAAAgO,SAASoG,eAAe,4BAAxB,SAA8CyB,QAC9CF,GAAQ,IAcQ,SAGI,qBAAKlI,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAChDC,MAAM,6BADX,SAEI,sBACIC,EAAE,qhBACFF,KAAK,mBAIrB,qBAAKpe,UAAU,aAAf,SACI,cAAC,GAAD,CAAmBojB,KAAMA,EAAMC,SAAUA,cCDlDiD,GA9Ba,SAAC,GAAsE,IAArE3E,EAAoE,EAApEA,QAASjW,EAA2D,EAA3DA,MAAOqE,EAAoD,EAApDA,SAAoD,IAA1C8R,qBAA0C,SAAnBC,EAAmB,EAAnBA,cAC3E,OACI,qBAAK9hB,UAAU,aAAawD,GAAIme,EAAS3D,SAAS,KAAK,4BAAoB2D,EAApB,SAClD,cAAY,OADjB,SAEI,qBAAK3hB,UAAU,qCAAf,SACI,sBAAKA,UAAU,gBAAf,UACI,sBAAKA,UAAU,eAAf,UACI,oBAAIA,UAAU,+BAA+BwD,GAAE,UAAKme,EAAL,SAA/C,SAAqEjW,IACrE,wBAAQlI,GAAE,UAAKme,EAAL,cAA0BjjB,KAAK,SAASsB,UAAU,WAAW,kBAAgB,QAC/E,aAAW,QADnB,SAEI,qBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAChDC,MAAM,6BADX,SAEI,sBACIC,EAAE,qhBACFF,KAAK,mBAIrB,qBAAKpe,UAAU,yBAAf,SACK+P,IAEJ8R,GAAiB,qBAAK7hB,UAAU,eAAf,SACd,wBAAQtB,KAAK,SAASsB,UAAU,kBAAhC,SAAmD8hB,cCwD5DyE,GAxEiB,SAAC,GAAc,IAAbjD,EAAY,EAAZA,OACxBkD,EAAUjnB,iBAAO,MACjBknB,EAAWlnB,iBAAO,MAClBmnB,EAAgBnnB,iBAAO,MACvBonB,EAAgBpnB,iBAAO,MACvBqnB,EAAcrnB,iBAAO,MACrBsnB,EAAe/nB,aAAY,SAAAR,GAAK,OAAIA,EAAMuoB,gBA4ChD,OACI,8BACI,uBAAM5mB,SA5CO,SAACuQ,GAElBA,EAAGrQ,iBACH,IAAMO,EAAO8lB,EAAQ5mB,QAAQC,MACvBO,EAAQqmB,EAAS7mB,QAAQC,MAC/B2e,SAASoG,eAAe,8BAA8BC,QACtDrU,EAAG1P,OAAOulB,QACVlhB,QAAQqD,IAAI,6CAA6Cqe,EAAaC,aAGtExD,EAAOyD,2BAA2B,CAC9BF,aAAcA,EAAaC,YAC3BE,OAAQ,CACJC,oBAAqB,kBACrBC,oBAAqB,CACjBC,gBAAiB,CACbzmB,KAAMA,EACNN,MAAOA,KAInBgnB,OAAQ,CAAC,oBAERhC,MAAK,YAA2B,IAAzBiC,EAAwB,EAAxBA,YAAajiB,EAAW,EAAXA,MACbA,GACAD,QAAQC,MAAMA,EAAMkgB,SACpB9G,SAASoG,eAAe0C,GAAqB,aAAazC,SAE5B,4BAAvBwC,EAAY7B,QAGW,0BAAvB6B,EAAY7B,QAMnBkB,EAAc9mB,QAAQilB,YAO9B,UACI,sBAAK7kB,UAAU,aAAf,UACI,uBAAOA,UAAU,aAAjB,iCACA,uBAAOQ,IAAKgmB,EAAS9nB,KAAK,OAAOsB,UAAU,eAAewD,GAAG,mBACtD/C,YAAY,WAAWE,UAAU,OAE5C,sBAAKX,UAAU,aAAf,UACI,uBAAOA,UAAU,aAAjB,2BACA,uBAAOQ,IAAKimB,EAAU/nB,KAAK,QAAQsB,UAAU,eAAewD,GAAG,oBACxD/C,YAAY,iBAAiBE,UAAU,OAElD,wBAAQjC,KAAM,SAAUsB,UAAU,aAAlC,kCACA,wBAAQQ,IAAKkmB,EAAeljB,GAAI+jB,GAAoC,YAAavnB,UAAW,SAAU,iBAAe,QAAQ,4BAAoBunB,IAAjJ,0BACA,wBAAQ/mB,IAAKmmB,EAAenjB,GAAIgkB,GAAoC,YAAaxnB,UAAW,SAAU,iBAAe,QAAQ,4BAAoBwnB,IAAjJ,0BACA,wBAAQhnB,IAAKomB,EAAapjB,GAAI8jB,GAAqB,YAAatnB,UAAW,SAAU,iBAAe,QAAQ,4BAAoBsnB,IAAhI,8BC1EHG,GAAwB,wBCIxBC,GAAiB,yDAAM,WAAMhoB,GAAN,iBAAA+C,EAAA,+EAEPmB,IAFO,QAExBmB,EAFwB,QAIfhD,MjCkDgB8V,EiCjDiB9S,EAAShD,KAAK8V,SjCiDrBnB,EiCjD+B3R,EAAShD,KAAK4lB,MjCiDhC7P,EiCjDuC/S,EAAShD,KAAKyW,cjCiD1CpY,EiCjDyD2E,EAAShD,KAAK3B,MjCiDhEyV,EiCjDuE9Q,EAAShD,KAAK6lB,iBAAnJC,EjCkDL,IAAIjQ,GAAYC,EAAUnB,EAAaoB,EAAW1X,EAAOyV,GiCjDxDnW,EAAS,CACLhB,KAAM+oB,GACN9oB,QAASkpB,KAGbnoB,EAAS,CACLhB,KAAM+oB,GACN9oB,QAAS,OAbW,gDAiB5BwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM+oB,GACN9oB,QAAS,OApBe,kCjCsDA,IAACkZ,EAAUnB,EAAaoB,EAAW1X,EAAOyV,IiCtD1C,oBAAN,uDCgEfiS,GA3Da,SAAC,GAAc,IAAbxE,EAAY,EAAZA,OACpBuD,EAAe/nB,aAAY,SAAAR,GAAK,OAAIA,EAAMuoB,gBAC1CnnB,EAAWC,cAuBjB,OACI,8BACI,uBAAMM,SAvBc,SAACuQ,GACzBA,EAAGrQ,iBACHqe,SAASoG,eAAe2C,GAAoC,cAAc1C,QAC1EvB,EAAOyE,0BAA0BlB,EAAaC,aACzC1B,MAAK,YAA2B,IAAD,EAAxBiC,EAAwB,EAAxBA,YAAajiB,EAAW,EAAXA,MACbA,GACAD,QAAQC,MAAMA,EAAMkgB,SACpB9G,SAASoG,eAAe0C,IAAoBzC,SACd,4BAAvBwC,EAAY7B,OACnBhH,SAASoG,eAAe0C,GAAqB,aAAazC,QAC5B,cAAvBwC,EAAY7B,QACnB9lB,EAASgoB,MACTlJ,SAASoG,eAAe4C,GAAoC,aAAa3C,SAClE,UAAAwC,EAAYW,mBAAZ,SAAyBtpB,SAUxC,UACI,sBAAKsB,UAAU,oBAAf,0aASI,uBAAK,uBATT,+QAeI,uBAAK,uBAfT,0MAmBI,uBAAK,uBAnBT,kFAoBmF,mBAAGa,KAAM,8BAAT,8BApBnF,OAsBA,gCACI,wBAAQ,kBAAgB,QAAQb,UAAU,gCAA1C,qBACA,wBAAQtB,KAAK,SAASsB,UAAU,gCAAhC,6BC7DPioB,GAAgB,gBCkBdC,GAhBa,WACxB,OACI,sBAAKloB,UAAU,MAAf,UACI,8BACI,sBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACI,sBAAMJ,MAAM,KAAKC,OAAO,KAAKiK,GAAG,KAAK/J,KAAK,UAAUgK,YAAY,SAChE,sBAAM9J,EAAE,oCAAoC+J,OAAO,UAAUC,YAAY,IACnEC,cAAc,QAAQC,eAAe,eAGnD,qBAAKxoB,UAAU,kBAAf,iDACA,qBAAKA,UAAU,8CAA8C,kBAAgB,QAA7E,sBCFGyoB,GATW,WACtB,OACI,sBAAKzoB,UAAU,MAAf,UACI,qBAAKA,UAAU,OAAf,gCACA,qBAAKA,UAAU,WAAf,oKCGC0oB,GAAyB,mBACzBnB,GAAoC,sBACpCC,GAAoC,sBACpCF,GAAqB,oBAwBnBqB,GAtBQ,WACnB,IAAMjpB,EAAWC,cACX2jB,EAAS3e,OAAOikB,OAAO,8CAK7B,OACI,qCACI,qBAAK5oB,UAAU,eAAf,SACI,+EAEJ,qBAAKA,UAAU,oBAAoB,iBAAe,QAC7C,4BAAoB0oB,IAA0BnY,QAVvC,WAChB7Q,ECduB,uCAAM,WAAMA,GAAN,iBAAA+C,EAAA,+EAENoB,IAFM,OAEvBkB,EAFuB,OAG7BI,QAAQqD,IAAIzD,GvCuDkBiT,EuCtDgBjT,EAAShD,KAAK8kB,aAAtDgC,EvCuDH,IAAI9Q,GAAaC,GuCtDpBtY,EAAS,CACLhB,KAAMupB,GACNtpB,QAASkqB,IAPgB,gDAU7B1jB,QAAQC,MAAR,MAV6B,kCvC0DA,IAAC4S,IuC1DD,oBAAN,wDDsBnB,kCAEA,cAAC,GAAD,CAAqBtM,MAAO,uBAAwBiW,QAAS+G,GAAwB3Y,SAAU,cAAC,GAAD,CAAyBuT,OAAQA,MAChI,cAAC,GAAD,CAAqB5X,MAAO,eAAgBiW,QAAS4F,GAAmCxX,SAAU,cAAC,GAAD,CAAqBuT,OAAQA,MAC/H,cAAC,GAAD,CAAqB5X,MAAO,GAAIiW,QAAS6F,GAAmCzX,SAAU,cAAC,GAAD,IAAwB8R,eAAe,IAC7H,cAAC,GAAD,CAAqBnW,MAAO,GAAIiW,QAAS2F,GAAoBvX,SAAU,cAAC,GAAD,IAAsB8R,eAAe,QEFzGiH,GA1BK,WAChB,IAAMC,EAAWjqB,aAAY,SAAAR,GAAK,OAAIA,EAAM0qB,eAE5C,OACI,mCACI,sBAAKhpB,UAAU,6BAAf,UACI,qBAAKA,UAAU,iBAAf,SACI,qBAAKqe,MAAM,6BAA6BJ,MAAM,KAAKC,OAAO,KAAKE,KAAK,eAC/Dpe,UAAU,aAAame,QAAQ,YADpC,SAEI,sBACIG,EAAE,yWAGd,sBAAKte,UAAU,qBAAf,UACI,qBAAKA,UAAU,YAAf,SAA4B+oB,EAASlR,WACrC,sBAAK7X,UAAU,cAAf,wCAAyD+oB,EAASrS,eAClE,sBAAK1W,UAAU,cAAf,4BAA6C+oB,EAASjR,sBCO3DmR,GAnBa,WACxB,IAAMF,EAAWjqB,aAAY,SAAAR,GAAK,OAAIA,EAAM0qB,eAQ5C,OACI,mCACI,sBAAKhpB,UAAU,+CAAf,UACI,sBAAMA,UAAU,UAAhB,yBARS,OAAb+oB,EAA0B,cAAC,GAAD,IACvB,cAAC,GAAD,UCMAG,GAfO,WACpB,IAAMC,EAAarqB,aAAY,SAAAR,GAAK,OAAIA,EAAM6qB,cAC9C,OACE,qCACE,sBAAKnpB,UAAU,GAAf,mBACS,IACP,sBAAMA,UAAU,UAAhB,gBAA2BmpB,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAYC,gBAEzC,8BACE,sBAAMppB,UAAU,UAAhB,6BCZKqpB,GAAuB,uBCsCrBC,GAlCO,WACpB,MAAoCtW,oBAAS,GAA7C,mBAAOuW,EAAP,KAAmBC,EAAnB,KACM9pB,EAAWC,cACX8pB,EAAiB3qB,aAAY,SAAAR,GAAK,OAAIA,EAAMmrB,kBAclD,OANAxqB,qBAAU,YACS,OAAdwqB,QAAc,IAAdA,OAAA,EAAAA,EAAgBC,YAAaH,IAC9B5kB,OAAOC,SAAS/D,KAAhB,OAAuB4oB,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAgBC,aAExC,CAACD,EAAgBF,IAGlB,qCACE,qBAAKvpB,UAAU,cAAf,yCAGA,sBACEtB,KAAM6qB,EAAa,OAAS,SAC5BvpB,UAAU,WACVuQ,QApBgB,WACjBgZ,IACHC,GAAc,GACd9pB,ECRkC,uCAAM,WAAMA,GAAN,eAAA+C,EAAA,sEAEpC/C,EAAS,CACLhB,KAAM2qB,GACN1qB,QAAS,OAJuB,SAMboF,KANa,O7CmED6U,E6CnEC,OAO2B7W,KAAzD4nB,E7C6DH,IAAIhR,GAAmBC,G6C5D1BlZ,EAAS,CACLhB,KAAM2qB,GACN1qB,QAASgrB,IAVuB,gDAapCxkB,QAAQC,MAAR,MAboC,kC7CmEF,IAACwT,I6CnEC,oBAAN,yDD0B9B,gBAAe2Q,EAJjB,SAMGA,EAAa,gBAAkB,gBEXzBK,GAhBY,WACzB,IAAMT,EAAarqB,aAAY,SAAAR,GAAK,OAAIA,EAAM6qB,cAO9C,OACE,sBAAKnpB,UAAU,+CAAf,UACE,sBAAMA,UAAU,UAAhB,oBANgB,OAAfmpB,EAA4B,cAAC,GAAD,IACxB,cAAC,GAAD,QCFLxG,GAA2B,2BAC3BuC,GAAmC,4BACnCZ,GAAqB,CACvBQ,QAAS,UACT+E,KAAM,OACNnF,QAAS,aACTH,OAAQ,UA8GGuF,GA3Ge,WAC1B,IAAMC,EAAgBjrB,aAAY,SAAAR,GAAK,OAAIA,EAAM0rB,yBAC3Cvb,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAE5C/O,EAAWC,cACXsqB,EAAY1qB,iBAAO,MACnB2qB,EAAY3qB,iBAAO,MAEzB,EAAkCyT,oBAAS,GAA3C,mBAAOmX,EAAP,KAAkBC,EAAlB,KACA,EAAgCpX,oBAAS,GAAzC,mBAAOqQ,EAAP,KAAiBgH,EAAjB,KACA,EAAgCrX,oBAAS,GAAzC,mBAAOsX,EAAP,KAAiBC,EAAjB,KACMC,EAAsB,WACxBJ,GAAcD,IAGZM,EAAmB,WACrBF,GAAY,GACZ7qB,EC/ByB,uCAAM,WAAMA,GAAN,eAAA+C,EAAA,+EAEXS,IAFW,UAGR,OADnBqiB,EAF2B,QAGnBC,QAAqC,MAAnBD,EAAQC,QAAqC,MAAnBD,EAAQC,OAHjC,gBAI3B9lB,EAAS+iB,MAJkB,4BAKlB3Z,MAAMyc,EAAQE,YALI,yDAO/BtgB,QAAQC,MAAR,MAP+B,0DAAN,wDDkC7BnG,qBAAU,WACgB,OAAlB8qB,GACAQ,GAAY,GACZF,GAAY,IACTA,GAAY,KACpB,CAACN,IAiEJ,OACI,qBAAK/pB,UAAU,yBAAf,SACI,sBAAKA,UAAU,4BAAf,UACI,sBAAKA,UAAU,mDAAf,UACI,qBAAKA,UAAU,GAAf,SACI,sBAAMA,UAAU,UAAhB,2BAnEM,OAAlB+pB,EACA,qCACI,qBAAK/pB,UAAU,cAAf,SAxCS,qCA2CT,sBAAMtB,KAAK,SAASsB,UAAU,WAAW,iBAAe,QAClD,iBAAe,sBAAsBuQ,QAASia,EADpD,yBAKJ,qCACI,sBAAKxqB,UAAU,GAAf,uBACc,sBAAMA,UAAU,UAAhB,SAA2B+pB,EAAcrT,iBAEvD,sBAAK1W,UAAU,GAAf,wBACe,uBAAMA,UAAU,UAAhB,UAA2B+pB,EAAcpT,YAAzC,IAAuDoT,EAAcnT,iBAEpF,sBAAK5W,UAAU,GAAf,WACMsqB,GAAY,qCACV,sBAAM5rB,KAAK,SAASsB,UAAU,gCAAgC,iBAAe,QACvE,iBAAe,sBAAsBQ,IAAKypB,EAC1C1Z,QAASia,EAFf,oBAGA,sBAAM9rB,KAAK,SAASsB,UAAU,gCAAgCQ,IAAK0pB,EAC7D3Z,QAASka,EADf,uBAGHH,GACD,sBAAMtqB,UAAU,wCAAwCe,KAAK,SAAS,cAAY,kBAMlF,WACZ,GAAsB,OAAnB0N,EAAyB,OAAO,EAEnC,GAA0B,QAAtBA,EAAejL,GAAc,OAAO,EAExC,IAWMknB,EAXQjc,EAAekF,eAWKgX,cAElC,MAZ0B,CACtB,MACA,gBACA,2BACA,KACA,UACA,OACA,UAKqBC,MAAK,SAAAC,GAAO,OACjCH,EAAkB7N,SAASgO,EAAQF,kBAoB9BG,IAAa,cAAC,GAAD,IAfA,OAAnBrc,GAEsB,QAAtBA,EAAejL,IAcO,cAAC,GAAD,IACjB,cAAC,GAAD,CAAoB6f,SAAUA,EAAUD,KAAM+G,EAAWhE,QAASiE,UEtHrEW,GAAuB,uBCAvBC,GAAmB,mBCInBC,GAAgB,yDAAM,WAAMvrB,GAAN,iBAAA+C,EAAA,+EAEJqB,KAFI,OAErBiB,EAFqB,OnD8DKmT,EmD1DkBnT,EAAShD,KAAKmW,gBnD0DfC,EmD1DgCpT,EAAShD,KAAKoW,QnD0DrCC,EmDzDtDrT,EAAShD,KAAKqW,UnDyDmDC,EmDzDxCtT,EAAShD,KAAKsW,cnDyDyCC,EmDzD1BvT,EAAShD,KAAKuW,YnDyDyBC,EmDxD7FxT,EAAShD,KAAKwW,cnDwD8FC,EmDxD/EzT,EAAShD,KAAKyW,cnDwDgFC,EmDxDjE1T,EAAShD,KAAK0W,cnDwDkEC,EmDvD1I3T,EAAShD,KAAK2W,UAHZwS,EnD2DH,IAAIjT,GAAeC,EAAiBC,EAASC,EAAWC,EAAeC,EAAaC,EAAeC,EAAeC,EAAeC,GmDrDpIhZ,EAAS,CACLhB,KAAMssB,GACNrsB,QAASusB,IAZc,gDAe3B/lB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMssB,GACNrsB,QAAS,OAlBc,kCnD8DI,IAACuZ,EAAiBC,EAASC,EAAWC,EAAeC,EAAaC,EAAeC,EAAeC,EAAeC,ImD9DnH,oBAAN,uDCKvByS,GAAoB,oBA2IXC,GAzIQ,WACnB,IAAMC,EAAcvsB,aAAY,SAAAR,GAAK,OAAIA,EAAM0lB,gCACzCsH,EAAqBxsB,aAAY,SAAAR,GAAK,OAAIA,EAAMitB,uBAChD7rB,EAAWC,cACjB,EAA0CqT,oBAAS,GAAnD,mBAAOwY,EAAP,KAAsBC,EAAtB,KACA,EAAwCzY,oBAAS,GAAjD,mBAAO0Y,EAAP,KAAqBC,EAArB,KACA,EAA4B3Y,mBAAS,MAArC,mBAAO4Y,EAAP,KAAeC,EAAf,KACMrF,EAAUjnB,iBAAO,MACjBusB,EAAavsB,iBAAO,MACpBwsB,EAASxsB,iBAAO,MAChBysB,EAAezsB,iBAAO,MACtB0sB,EAAc1sB,iBAAO,MACrBknB,EAAWlnB,iBAAO,MA+DxB,OA9CAN,qBAAU,WACNsC,IAAMM,IAAI,2BACLujB,MAAK,SAACrgB,GACH,IAAMhD,EAAOmqB,KAAKC,MAAMpnB,EAAShD,KAAKqqB,UAAU,EAAGrnB,EAAShD,KAAKuF,OAAS,IAC1EukB,EAAU9pB,MAEbsqB,OAAM,SAACjnB,GACJD,QAAQC,MAAM,0BAA2BA,QAElD,IAEHnG,qBAAU,WACFosB,IAAgB/G,GAAmBI,SACnClG,SAASoG,eAAe,gCAAgCC,QACxD4G,GAAiB,GACjB1rB,YAAW,WACP0rB,GAAiB,GACjB/rB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBuF,OAGhCnqB,EAAS,CACLhB,KAAMqsB,GACNpsB,QAAS,SAEd,KACHe,EAASurB,OACFI,IAAgB/G,GAAmBC,SAC1C/F,SAASoG,eAAe,gCAAgCC,QACxD8G,GAAgB,GAChB5rB,YAAW,WACP4rB,GAAgB,GAChBjsB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBuF,OAGhCnqB,EAAS,CACLhB,KAAMqsB,GACNpsB,QAAS,SAEd,QAER,CAAC0sB,IAGA,sBAAKrrB,UAAU,OAAf,UACI,qBAAKA,UAAU,yBAAf,yIAGA,cAAC,GAAD,CAAc2hB,QAAS,yBAA0BjW,MAAO,uBAAwBmW,eAAe,EAAOD,QAAS,uBAA/G,SACI,uBAAM3hB,SAnEK,SAACuQ,GACpBA,EAAGrQ,iBACH,IAAImsB,EAAgB9F,EAAQ5mB,QAAQC,MAChC2Y,EAAgBsT,EAAWlsB,QAAQC,MACnC0sB,EAAYR,EAAOnsB,QAAQC,MAC3BmX,EAAYgV,EAAapsB,QAAQC,MACjCoX,EAAWgV,EAAYrsB,QAAQC,MAC/BO,EAAQqmB,EAAS7mB,QAAQC,MAC7BH,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBQ,UAEhCplB,EC9B6B,SAAC8Y,EAAegU,EAAmBjU,EAAevB,EAAWC,EAAU7W,EAAOqsB,GAA9E,8CAA2F,WAAO/sB,GAAP,iBAAA+C,EAAA,sEAEpHV,EAAO,CACP,eAAkB,CACd,UAAaiV,EACb,SAAYC,EACZ,MAAS7W,GAEb,gBAAmB,CACf,cAAiBoY,EACjB,kBAAqBgU,EACrB,cAAiBjU,GAErB,gBAAmBkU,GAbiG,SAepGtpB,EAAsBpB,GAf8E,UAgBjG,OADnBwjB,EAfoH,QAgB5GC,QAAqC,MAAnBD,EAAQC,QAAqC,MAAnBD,EAAQC,OAhBwD,iBAiBpH9lB,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBI,UAEhChlB,EAAS,CACLhB,KAAMysB,GACNxsB,QAASmb,GAAyB0S,EAAmBhU,EAAeD,EAAevB,EAAWC,EAAU7W,KAvBQ,8BA0B9G,IAAI0I,MAAJ,6BAAgCyc,EAAQE,aA1BsE,0DA6BrHlkB,IAAMmrB,aAAN,OAAyB,KAAE3nB,UAC1BrF,EAAS,CACLhB,KAAMqsB,GACNpsB,QAAS,KAAEoG,SAAShD,KAAK4qB,eAGjCxnB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMwmB,GACNvmB,QAAS2lB,GAAmBC,SAtCwF,0DAA3F,sDD8BpBqI,CAAsBpU,EAAe8T,EAAeC,EAAWvV,EAAWC,EAAU7W,EAAOwrB,EAAOiB,MAuDnE7sB,UAAU,iDAA1C,UACI,sBAAKA,UAAU,uBAAf,UACI,sBAAKA,UAAU,QAAf,UACI,uBAAOA,UAAU,aAAjB,wBACA,uBAAOW,UAAU,EAAMH,IAAKwrB,EAAchsB,UAAU,eAAeS,YAAa,kBAEpF,sBAAKT,UAAU,QAAf,UACI,uBAAOA,UAAU,aAAjB,uBACA,uBAAOW,UAAU,EAAMH,IAAKyrB,EAAajsB,UAAU,eAAeS,YAAa,oBAGvF,gCACI,uBAAOT,UAAU,aAAjB,2BACA,uBAAOW,UAAU,EAAMH,IAAKimB,EAAUzmB,UAAU,eAAeS,YAAY,gBAAgB/B,KAAK,aAGpG,gCACI,uBAAOsB,UAAU,aAAjB,iCACA,uBAAOW,UAAU,EAAMH,IAAKgmB,EAASxmB,UAAU,eAAeS,YAAY,2BAG9E,gCACI,uBAAOT,UAAU,aAAjB,4BACA,qBAAKA,UAAU,cAAf,8EAEA,uBAAOW,UAAU,EAAMH,IAAKurB,EAAQ/rB,UAAU,eAAeS,YAAY,sBAG7E,gCACI,uBAAOT,UAAU,aAAjB,4BACA,qBAAKA,UAAU,cAAf,+EAEA,uBAAOW,UAAU,EAAMH,IAAKsrB,EAAY9rB,UAAU,eAAeS,YAAY,uBAEjF,qBAAKT,UAAU,2CAAf,SACI,yBAAQtB,KAAK,SAASsB,UAAU,gDACxBF,SAAUurB,IAAgB/G,GAAmBQ,QADrD,UAEKuG,IAAgB/G,GAAmBQ,SAChC,sBAAM9kB,UAAU,wCAAwCe,KAAK,SACvD,cAAY,SACtB,+BAAOsqB,IAAgB/G,GAAmBQ,QAAS,WAAa,qBAK/E0G,GAAiB,qBAAKxrB,UAAU,uCAAuCe,KAAK,QAA3D,sCAGjB2qB,GAAgB,sBAAK1rB,UAAU,sCAAsCe,KAAK,QAA1D,6CACoBuqB,SE7IpCwB,GAAgB,gBCMvBC,GAAkB,kBAEXC,GAAoB,yDAC7B,WAAOttB,GAAP,qBAAA+C,EAAA,+EAE6BE,IAF7B,QAEYoC,EAFZ,QAGqBhD,MACLkrB,EAAcloB,EAAShD,KACvBmrB,EAAoBvT,GAAwBsT,EAAYrT,UAAWqT,EAAYxZ,YAAawZ,EAAYvZ,QAASuZ,EAAYtZ,eAAgBsZ,EAAYE,uBAAwBF,EAAYjhB,YAAaihB,EAAYrZ,cAAeqZ,EAAYG,qBAAsBH,EAAY7sB,MAAO6sB,EAAY3f,YAAa2f,EAAYlZ,aAC/TsZ,EAAqBvT,GAAyBmT,EAAYT,kBAAmBS,EAAYzU,cAAeyU,EAAY1U,cAAe0U,EAAYK,QACnJ5tB,EAAS,CACLhB,KAAMquB,GACNpuB,QAASuuB,IAEbxtB,EAAS,CACLhB,KAAMysB,GACNxsB,QAAS0uB,IAEb3tB,EAAS,CACLhB,KAAMouB,GACNnuB,QAASsuB,EAAYM,iBAEzB7tB,EAAS,CACLhB,KAAMN,EACNO,QAAS,CAACO,OAAQ+tB,EAAY/tB,WAGlCQ,EAAS,CACLhB,KAAMquB,GACNpuB,QAAS,OA1BzB,gDA8BQe,EAAS,CACLhB,KAAMquB,GACNpuB,QAAS,OAhCrB,yDAD6B,uDCJ3B6uB,GAA+B,+BAC/BC,GAA4B,4BAC5BC,GAAwB,wBAEjBC,GAAoB,SAAC5rB,GAAD,8CAAU,WAAOrC,GAAP,mBAAA+C,EAAA,sEAEnC/C,EAAS,CACLhB,KAAM8uB,GACN7uB,QAAS,OAJsB,SAMdkE,EAAsBd,GANR,QAM/BgD,EAN+B,QAOtBhD,MACLkrB,EAAcloB,EAAShD,KACvBmrB,EAAoBvT,GAAwBsT,EAAYzpB,GAAIypB,EAAYxZ,YAAawZ,EAAYvZ,QAASuZ,EAAYtZ,eAAgBsZ,EAAYE,uBAAwBF,EAAYjhB,YAAaihB,EAAYrZ,cAAeqZ,EAAYG,qBAAsBH,EAAY7sB,MAAO6sB,EAAY3f,YAAa2f,EAAYjV,QAC5TtY,EAAS,CACLhB,KAAMquB,GACNpuB,QAASuuB,IAEbxtB,EAAS,CACLhB,KAAM8uB,GACN7uB,QAAS8uB,MAGb/tB,EAAS,CACLhB,KAAM8uB,GACN7uB,QAAS+uB,KArBkB,gDAyBnCvoB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM8uB,GACN7uB,QAAS+uB,KA5BsB,yDAAV,uDC4GlBE,GAhHe,SAAC,GAAoB,IAAlBC,EAAiB,EAAjBA,WACvBC,EAAiBvuB,iBAAO,MACxBwuB,EAAqBxuB,iBAAO,MAClC,EAAsCyT,oBAAS,GAA/C,mBAAO2R,EAAP,KAAoBqJ,EAApB,KACA,EAAoChb,oBAAS,GAA7C,mBAAOib,EAAP,KAAmBC,EAAnB,KACA,EAAsClb,mBAAS,MAA/C,mBAAOnU,EAAP,KAAoBsvB,EAApB,KACMC,EAA4BtvB,aAAY,SAAAR,GAAK,OAAIA,EAAM+vB,iCACvD3uB,EAAWC,cAEjBV,qBAAU,WACFmvB,IAA8BX,IAC9BI,GAAW,GACXG,GAAe,GACfjuB,YAAW,WACPiuB,GAAe,KAChB,MACII,IAA8BV,KACrCG,GAAW,GACXK,GAAc,GACdnuB,YAAW,WACPiuB,GAAe,KAChB,QAER,CAACI,IAmCJ,OACI,qBAAKpuB,UAAU,uCAAuCwD,GAAG,sBAAzD,SACI,sBAAKxD,UAAU,0BAAf,UACI,oBAAIA,UAAU,mBAAmBwD,GAAG,oBAApC,SACI,wBAAQ+M,QAXD,WACnBxQ,YAAW,WACPye,SAASoG,eAAe,sBAAsB0J,eAAe,CAACC,SAAU,SAAUC,MAAO,UAC1F,MAQ0CxuB,UAAU,kCAAkCtB,KAAK,SAC1E,iBAAe,WACf,iBAAe,sBAAsB,gBAAc,QACnD,gBAAc,qBAHtB,+BAOJ,sBAAK8E,GAAG,qBAAqBxD,UAAU,uCAClC,kBAAgB,oBAChB,iBAAe,uBAFpB,UAGK2kB,GAAe,qBAAK3kB,UAAU,sCAAsCe,KAAK,QAA1D,+BAGfktB,GAAc,qBAAKjuB,UAAU,qCAAqCe,KAAK,QAAzD,qCAGf,sBAAKf,UAAU,yCAAf,UACI,sBAAKA,UAAU,2CAAf,UACI,qBAAKA,UAAU,wBAAf,SACI,uBAAOA,UAAU,cAAjB,6BAEJ,qBAAKA,UAAU,GAAf,SACI,uBAAOQ,IAAKstB,EAAgB9tB,UAAU,6BAC/BtB,KAAK,WACL+B,YAAY,4BAG3B,sBAAKT,UAAU,2CAAf,UACI,qBAAKA,UAAU,wBAAf,SACI,uBAAOA,UAAU,cAAjB,iCAEJ,qBAAKA,UAAU,GAAf,SAAkB,uBAAOQ,IAAKutB,EAAoB/tB,UAAU,6BACnCtB,KAAK,WACL+B,YAAY,uBAAuBmR,SAtElE,WACdoc,GAAe,GACfE,GAAc,GACd,IAAIO,EAAUX,EAAeluB,QAAQC,MACjC6uB,EAAcX,EAAmBnuB,QAAQC,MACtB,IAAnB4uB,EAAQnnB,OAAc6mB,GAAe,GACT,IAAvBO,EAAYpnB,OAAc6mB,EAAe,MAChBA,EAAzBM,IAAYC,WAkEW,MAAf7vB,IAAwBA,GACzB,qBAAKmB,UAAU,uDAAf,gCACA,qBAAKA,UAAU,kCAAf,SACI,wBAAQA,UAAU,oBAAoBtB,KAAK,SAAS6R,QA3D/C,WACzBsd,GAAW,GACX,IAAI9rB,EAAO,CACP,SAAY+rB,EAAeluB,QAAQC,OAEvCH,EAASiuB,GAAkB5rB,IAV3B+rB,EAAeluB,QAAQC,MAAQ,GAC/BkuB,EAAmBnuB,QAAQC,MAAQ,GACnCsuB,EAAe,OA+DaruB,UAAWjB,EADnB,kCC3Eb8vB,GA5BW,SAAC,GAAsE,IAArEC,EAAoE,EAApEA,MAAOC,EAA6D,EAA7DA,KAAMC,EAAuD,EAAvDA,YAAaC,EAA0C,EAA1CA,YAAaC,EAA6B,EAA7BA,cAAepd,EAAc,EAAdA,SACxEqd,EAAe1vB,iBAAO,MAC5B,GAAa,OAATsvB,QAA0BtO,IAATsO,EAAoB,OAAO,6BAUhD,OACI,sBAAK7uB,UAAU,sCAAf,UACI,qBAAKA,UAAU,cAAf,SAA8B4uB,IAC9B,qBAAK5uB,UAAU,YAAf,SAA4B6uB,IAC5B,sBAAK7uB,UAAU,oBAAf,UACK8uB,GACG,qBAAK9uB,UAAU,gBAAgBQ,IAAKyuB,EAAc1e,QAd1C,WACpB0e,EAAarvB,QAAQsvB,YAAc,SACnC9M,UAAUC,UAAUC,UAAUuM,GAC9B9uB,YAAW,WACPkvB,EAAarvB,QAAQsvB,YAAcH,IACpC,MASS,SAA6EA,IAEhFC,GACG,qBAAKhvB,UAAU,gBAAgB,iBAAe,QAAQ,iBAAe,sBAAsBuQ,QAASqB,EAApG,2B,SC4FLud,GA/GY,SAAC,GAKrB,IAJLC,EAII,EAJJA,UACAC,EAGI,EAHJA,YACAC,EAEI,EAFJA,SACAzB,EACI,EADJA,WAEMnuB,EAAWC,cACX4vB,EAAUhwB,iBAAO,MACvB,EAA8ByT,mBAAS,MAAvC,mBAAO0R,EAAP,KAAgB8K,EAAhB,KACMpB,EAA4BtvB,aAAY,SAAAR,GAAK,OAAIA,EAAM+vB,iCAE7DpvB,qBAAU,WACFmvB,IAA8BX,IAC9BI,GAAW,GACX2B,GAAW,IACJpB,IAA8BV,KACrCG,GAAW,GACX2B,GAAW,MAEhB,CAACpB,IAEJnvB,qBAAU,WACRswB,EAAQ3vB,QAAQC,MAAQyvB,IACvB,CAACF,IAEJnwB,qBAAU,WACR,GAAgB,OAAZylB,EAAkB,CACpB,IAAM+K,EAAQ1vB,YAAW,WACvB,GAAI2kB,EAAS,CACX,IAAMgL,EAAQlR,SAASoG,eAAe,sBACtC,GAAI8K,EAAO,CACP,IAAMC,EAAgBhrB,OAAOirB,UAAUC,MAAMC,YAAYJ,GACrDC,GACAA,EAAcI,QAIxBP,EAAW,QACV,KACH,OAAO,WACLQ,aAAaP,GACbD,EAAW,UAGd,CAAC9K,IAUJ,OACE,qBACE1kB,UAAU,aACVwD,GAAG,qBACHwa,SAAS,KACTjd,KAAK,SACL,kBAAgB,qBAChB,eAAa,EANf,SAQE,qBAAKf,UAAU,qCAAqCe,KAAK,WAAzD,SACE,sBAAKf,UAAU,gBAAf,UACE,qBAAKA,UAAU,eAAf,SACE,qBAAIA,UAAU,cAAcwD,GAAG,aAA/B,oBACU6rB,OAGZ,sBAAKrvB,UAAU,wBAAf,UACE,wBAAOO,QAAQ,UAAUP,UAAU,kBAAnC,qBACWqvB,KAEX,uBACE3wB,KAAK,OACL8E,GAAG,UACH9C,KAAK,UACLV,UAAU,eACVH,MAAOyvB,EACPxvB,UAAQ,IAEV,wBAAOS,QAAQ,UAAUP,UAAU,kBAAnC,iBACOqvB,KAEP,uBACE3wB,KAAK,OACL8E,GAAG,UACH9C,KAAK,UACLV,UAAU,eACVQ,IAAK+uB,OAGI,OAAZ7K,GAAoB,qBAAK1kB,UAAW,2BAA6B0kB,EAAU,gBAAkB,gBAAiB3jB,KAAK,QAA/F,SACX,UAAMsuB,EAAb3K,EAAO,iCAEV,sBAAK1kB,UAAS,qCAA4C,OAAZ0kB,EAAmB,OAAS,QAA1E,UACE,qBACE,kBAAgB,QAChB,aAAW,QACX1kB,UAAU,6BAHZ,oBAOA,qBAAKA,UAAU,sBAAsBuQ,QA1D1B,WACnBsd,GAAW,GACX,IAAI9rB,EAAI,gBACLqtB,EAAYG,EAAQ3vB,QAAQC,OAE/BH,EAASiuB,GAAkB5rB,KAqDnB,+BCpGNkuB,GAAoB,oBAEpBC,GAAU,CACZ,cAAiB,OACjB,QAAW,UACX,MAAS,QACT,QAAW,YACX,YAAe,eACf,mBAAsB,QACtB,eAAkB,mBAuDPC,GApDY,WAAO,IAAD,QACvB1hB,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAClD,EAA8BuE,oBAAS,GAAvC,mBAAOod,EAAP,KAAgBvC,EAAhB,KACA,EAAsD7a,mBAAS,MAA/D,mBAAOqd,EAAP,KAA4BC,EAA5B,KAEA,GAAuB,OAAnB7hB,EACA,OAAO,6BAEX,I9D+CmC3B,E8D/C7ByjB,EAAkB,SAACnB,GAAe,IAAD,EACnCkB,EAAuB,CACnB,UAAalB,EACb,YAAec,GAAQd,GACvB,0BAAY3gB,QAAZ,IAAYA,OAAZ,EAAYA,EAAiB2gB,UAA7B,QAA2C,MAInD,OACI,qCACI,cAAC,GAAD,CAAiB1jB,MAAM,YACvB,sBAAK1L,UAAU,8DAAf,UACI,sBAAKA,UAAU,cAAf,UACI,sBAAMA,UAAU,YAAhB,kCACA,sBAAKA,UAAU,iCAAf,UACI,cAAC,GAAD,CAAmB4uB,MAAO,OAAQC,KAAMpgB,EAAemF,cAAeob,eAAe,EACjFpd,SAAU,kBAAM2e,EAAgB,oBACpC,cAAC,GAAD,CAAmB3B,MAAO,WAAYC,KAAI,UAAEpgB,EAAeiF,eAAjB,QAA4B,MAAOsb,eAAe,EACxFpd,SAAU,kBAAM2e,EAAgB,cACpC,cAAC,GAAD,CAAmB3B,MAAO,SAAUC,KAAMpgB,EAAerO,QACzD,cAAC,GAAD,CAAmBwuB,MAAO,aAAcC,KAAMpgB,EAAeqF,aAEjE,sBAAM9T,UAAU,iBAAhB,2BACA,sBAAKA,UAAU,iCAAf,UACI,cAAC,GAAD,CAAmB4uB,MAAO,gBAAiBC,KAAI,UAAEpgB,EAAezC,mBAAjB,QAAgC,MAAOgjB,eAAe,EACjGpd,SAAU,kBAAM2e,EAAgB,kBACpC,cAAC,GAAD,CAAmB3B,MAAO,cAAeC,KAAI,UAAEpgB,EAAeoF,0BAAjB,QAAuC,MAAOmb,eAAe,EACtGpd,SAAU,kBAAM2e,EAAgB,yBACpC,cAAC,GAAD,CAAmB3B,MAAO,mBAAoBC,KAAI,UAAEpgB,EAAekF,sBAAjB,QAAmC,MAAOqb,eAAe,EACvGpd,SAAU,kBAAM2e,EAAgB,wBAExC,sBAAMvwB,UAAU,iBAAhB,0BACA,qBAAKA,UAAU,4BAAf,SACI,cAAC,GAAD,CAAmB4uB,MAAO,gBAAiBC,M9Dc5B/hB,E8DdyD2B,EAAegF,Y9De/F,OAAR3G,GAAwB,KAARA,EAAmB,GAC3B,oBAARA,GAAqC,oBAARA,GAAqC,oBAARA,GAClD,yBAARA,GAA0C,yBAARA,GAA0C,yBAARA,EADwB,kBAEpF,sBAARA,GAAuC,sBAARA,GAAuC,sBAARA,EAAoC,oBAC1F,kCAARA,GAAmD,gCAARA,GAAiD,kCAARA,EAAgD,gCAC5H,kBAARA,GAAmC,kBAARA,EAAgC,gBACnD,8BAARA,GAA+C,8BAARA,EAA4C,4BAChFA,EAAI0jB,OAAO,GAAGC,cAAgB3jB,EAAI6N,MAAM,GAAGgQ,mB8DpBlC,cAAC,GAAD,CAAuBkD,WAAYA,OAEtCuC,GAAW,cAAC,GAAD,CAAgBtvB,OAAQ,yBAExC,cAAC,GAAD,CAAoBsuB,UAAS,OAAEiB,QAAF,IAAEA,OAAF,EAAEA,EAAqBjB,UAAWC,YAAW,OAAEgB,QAAF,IAAEA,OAAF,EAAEA,EAAqBhB,YAAaC,SAAQ,OAAEe,QAAF,IAAEA,OAAF,EAAEA,EAAqBf,SAAUzB,WAAYA,QCzDzK6C,GAAoB,SAAC9X,GACvB,OAAO,mBAAG5Y,UAAU,cAAca,KAAM+X,EAAM9X,OAAO,SAAS4K,MAAO,iCAA9D,mBCNLilB,GAAsB,CAAC,SAAU,OAAQ,aAAc,KAqB9CC,GAlBc,WACzB,IAAMC,EAAkB/xB,aAAY,SAAAR,GAAK,OAAIA,EAAMuyB,mBAInD,GAAwB,OAApBA,EAA0B,OAAO,6BAErC,IAAMzpB,EDfsB,WAC5B,OADqD,uDAAP,IACxB5B,KAAI,SAACzD,GACvB,IAAI+uB,EAAa,IAAIvoB,KAAKxG,EAAKoU,YAAY4a,eACvCvL,EAAS,UAGb,OAFIzjB,EAAKmU,eAAcsP,EAAS,QACjB,CAACA,EAAQsL,EAAY/uB,EAAK+T,gBAAiB4a,GAAkB3uB,EAAKgU,gBCUhEib,CAAiBH,EAAgBI,kBAEtD,OACI,sBAAKjxB,UAAU,WAAf,UACI,sBAAMA,UAAU,iBAAhB,sBACA,cAAC,GAAD,CAAcsF,eAAgBqrB,GAAqBvpB,aAAcA,EAAcC,UAdpE,+BAeG9B,OAXP,CACX0C,UAAU,SCNZipB,GAAoB,oBAmBXC,GAjBS,WAGpB,OACI,qCACI,cAAC,GAAD,CAAiBzlB,MAAM,aACvB,qBAAK1L,UAAU,OAAf,SACI,sBAAKA,UAAU,eAAf,UACI,sBAAMA,UAAU,YAAhB,4BACA,cAAC,GAAD,IACA,cAAC,GAAD,aCjBPoxB,GAAc,cAgBdC,GAAyB,SAAC/yB,GAAD,OAAWA,EAAMgzB,gBAExC9yB,GAJM,CAAC8yB,eATN,WAAmC,IAAlChzB,EAAiC,uDAF7B,KAEkBG,EAAW,uCAC9C,OAAQA,EAAOC,MACX,KAAK0yB,GACD,OAAO3yB,EAAOE,QAClB,QACI,OAAOL,KCRNizB,GACH,SADGA,GAEI,gBAGJC,GAAb,WACE,WAAYC,GAAY,qBACtBle,KAAKme,QAAUD,EAAUjsB,KAAI,SAACmsB,GAC1B,OAAQA,EAAEjzB,MACN,KAAK6yB,GACD,OAAO,IAAIK,GAAaD,GAC5B,KAAKJ,GACD,OAAO,IAAIM,GAAmBF,GAClC,QACI,OAAO,SAEhBxQ,QAAO,SAAA2Q,GAAC,OAAU,OAANA,KAXnB,qEAcE,WACE,OAAOve,KAAKme,QAAQhiB,MAAK,SAACjN,EAAGyO,GAAJ,OAAUA,EAAE6gB,iBAAmBtvB,EAAEsvB,sBAf9D,6BAkBE,WACE,OAAOxe,KAAKme,QAAQ9G,MAAK,SAAA+G,GAAC,OAAIA,EAAEK,YAAcT,UAnBlD,KAuBaK,GAAb,WAGE,WAAYK,GAAS,qBACnB1e,KAAK2e,YAAcD,EAAOC,YAC1B3e,KAAK4e,WAAaF,EAAOE,WACzB5e,KAAK2E,gBAAkB+Z,EAAO/Z,gBAC9B3E,KAAK6e,cAAgBH,EAAOhpB,OAC5BsK,KAAK8e,YAAcJ,EAAOI,YAR9B,mDAWE,WACE,OAAO9e,KAAK2e,cAZhB,qBAeE,WACE,OAAOX,KAhBX,4BAmBE,WACE,OAAOhe,KAAK6e,cAAgB,MApBhC,2BAuBE,WACE,OAAO7e,KAAK4e,aAxBhB,4BA2BE,WACE,OAAO5e,KAAK8e,cA5BhB,wBA+BE,WACE,OAAO,IAAI9pB,MAAOsB,UAAY3B,GAAUqL,KAAK2e,aAAaroB,WAAa+nB,EAAaU,6BAhCxF,KAAaV,GACJU,yBAA2B,MAmC7B,IAAMT,GAAb,WACE,WAAYI,GAAS,qBACnB1e,KAAK2e,YAAcD,EAAOC,YAC1B3e,KAAKgf,KAAON,EAAOM,KACnBhf,KAAKif,cAAgBP,EAAOO,cAC5Bjf,KAAK6e,cAAgBH,EAAOhpB,OAC5BsK,KAAK8e,YAAcJ,EAAOI,YAC1B9e,KAAKiS,OAASyM,EAAOzM,OACrBjS,KAAKkf,eAAiBR,EAAOQ,eARjC,mDAWE,WACE,OAAOlf,KAAK2e,cAZhB,qBAeE,WACE,OAAOX,KAhBX,4BAmBE,WACE,OAAOhe,KAAK6e,cAAgB,MApBhC,2BAuBE,WACE,OAAO7e,KAAKif,gBAxBhB,4BA2BE,WACE,OAAOjf,KAAK8e,cA5BhB,+BA+BE,WACE,OAAO9e,KAAKkf,iBAhChB,wBAmCE,WACE,MAAuB,YAAhBlf,KAAKiS,WApChB,KCxDM7a,GAAgB,CAClB,CACInH,GAAI,aACJ9C,KAAM,aACNoK,SAAU,SAACmnB,GAAD,OAAYA,EAAOS,kBAEjC,CACIlvB,GAAI,iBACJ9C,KAAM,kBACNoK,SAAU,SAACmnB,GAAD,OAAYA,EAAOD,YAAcT,GAA6BU,EAAOU,oBAAsB,OAEzG,CACInvB,GAAI,cACJ9C,KAAM,eACNoK,SAAU,SAACmnB,GAAD,OpFOQ,SAACxuB,EAAMmvB,GAE7B,OADAnvB,EAAOyE,GAAUzE,GACTmvB,GACJ,KAAK7pB,GACD,IAAMF,EAAMpF,EAAKovB,UACXjqB,EAAQnF,EAAKwG,eAAe,UAAW,CAAErB,MAAO,UAChDD,EAAOlF,EAAK4K,cAClB,MAAM,GAAN,OAAUxF,EAAV,YAAiBD,EAAjB,aAA2BD,GAC/B,QACI,OAAOlF,EAAKwG,kBoFhBM6oB,CAAWb,EAAOF,iBAAkBhpB,MAE9D,CACIvF,GAAI,SACJ9C,KAAM,YACNoK,SAAU,SAACmnB,GAAD,OAAYA,EAAOc,iBAAiB5pB,QAAQ,KAE1D,CACI3F,GAAI,cACJ9C,KAAM,cACNoK,SAAU,SAACmnB,GAAD,OAAYA,EAAOe,mBAEjC,CACIxvB,GAAI,SACJ9C,KAAM,SACNoK,SAAU,SAACmnB,GAAD,OAAYA,EAAOgB,aAAe,YAAc,gBAiCnDC,GA7Ba,WACxB,IAGMC,EAAar0B,YAAYuyB,IAC/B,GAAmB,OAAf8B,EAAqB,OAAO,6BAEhC,IAAMzB,EAAUyB,EAAWC,mCACrBnS,EAAyBtW,GAAcwW,QAAO,SAAA0E,GAChD,QAAa,mBAATA,EAAEriB,KAA4B2vB,EAAWE,sBAKjD,EAAwB3oB,GAA0BgnB,EAASzQ,GAApD5f,EAAP,EAAOA,QAASU,EAAhB,EAAgBA,KAEhB,OACI,sBAAK/B,UAAU,gBAAf,UACI,sBAAMA,UAAU,YAAhB,qBACA,cAAC,GAAD,CACIsF,eAAgBjE,EAChB+F,aAAcrF,EACdsF,UAzDM,8BA0DN9B,OAtBG,CACX0C,UAAU,SCfH6gB,GA3BK,WAChB,IAAMC,EAAWjqB,aAAY,SAAAR,GAAK,OAAIA,EAAMg1B,kBACtCC,EAAYxK,EAASxQ,cAAcoC,OAAO,GAEhD,OACI,mCACI,sBAAK3a,UAAU,qDAAf,UACI,qBAAKA,UAAU,iBAAf,SACI,qBAAKqe,MAAM,6BAA6BJ,MAAM,KAAKC,OAAO,KAAKE,KAAK,eAC/Dpe,UAAU,aAAame,QAAQ,YADpC,SAEI,sBACIG,EAAE,yWAGd,sBAAKte,UAAU,qBAAf,UACI,qBAAKA,UAAU,YAAf,SAA4B+oB,EAAStQ,gBACrC,sBAAKzY,UAAU,cAAf,wCAAyDuzB,KACzD,sBAAKvzB,UAAU,cAAf,4BAA6C+oB,EAASvQ,0BCH3Dgb,GAZY,WACvB,IAAMzK,EAAWjqB,aAAY,SAAAR,GAAK,OAAIA,EAAMg1B,kBAE5C,OACI,sBAAKtzB,UAAU,yBAAf,UACI,sBAAMA,UAAU,YAAhB,8BACc,OAAb+oB,GAAqB,cAAC,GAAD,IACR,OAAbA,GAAqB,cAAC,GAAD,QCsBnB0K,GAhCe,WAoB5B,OAnBAx0B,qBAAU,WACR0F,OAAO2oB,OAAOoG,IAAI,CAAC,UAAU,SAAUC,GACrCA,EAAMC,OAAO,CACXC,MACE,mFACFC,OACE,iEACFC,YAAa,eACbC,aAAc,OACdC,OAAQ,QACRC,WAAY,MACZC,YAAa,OACbC,WAAY,KACZC,SAAU,OACVC,UAAW,2DAGd,IAGD,sBAAKt0B,UAAU,OAAf,UACE,qBAAKA,UAAU,yBAAf,kKAKA,qBAAKwD,GAAG,qBC7BD+wB,GAAkB,iBC+DhBC,GA3De,SAAC,GAAkB,IAAD,EAAhB3G,EAAgB,EAAhBA,WACxB4G,EAAW31B,aAAY,SAAAR,GAAK,OAAIA,EAAMo2B,kBACtCh1B,EAAWC,cAOXuZ,EAAQ,iBAAGub,QAAH,IAAGA,OAAH,EAAGA,EAAUE,oBAAb,SAEd,OACE,qCACE,sBAAK30B,UAAU,qDAAf,UACE,qBAAKA,UAAU,iBAAf,SACE,qBACEie,MAAM,KACNC,OAAO,KACPC,QAAQ,gBACRyW,QAAQ,MACRvW,MAAM,6BACNwW,oBAAoB,WANtB,SAQE,8BACE,sBACEvW,EAAE,+rBACFF,KAAK,YAEP,sBACEE,EAAE,42BACFF,KAAK,YAEP,sBACEE,EAAE,wyBACFF,KAAK,YAEP,sBACEE,EAAE,0wBACFF,KAAK,mBAKb,sBAAKpe,UAAU,qBAAf,UACE,qBAAKA,UAAU,YAAf,gBAA4By0B,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAUK,YACtC,qBAAK90B,UAAU,cAAf,gBACGy0B,QADH,IACGA,OADH,EACGA,EAAUM,oBAEX7b,GAAY,qBAAKlZ,UAAU,oBAAf,iCAIhBkZ,GAAY,qBAAKlZ,UAAU,kBAAkBuQ,QAhD7B,WACpBsd,GAAW,GACXnuB,ECPsC,uCAAM,WAAOA,GAAP,SAAA+C,EAAA,+EAGlC0B,KAHkC,OAKxCzE,EAAS,CACLhB,KAAM61B,GACN51B,QAAS,OAP2B,+CAUxCwG,QAAQC,MAAR,MAVwC,wDAAN,wDDqDtB,wBE9BL4vB,GApBe,WAC1B,IAAMP,EAAW31B,aAAY,SAAAR,GAAK,OAAIA,EAAMo2B,kBAE5C,EAA8B1hB,oBAAS,GAAvC,mBAAOod,EAAP,KAAgBvC,EAAhB,KAMA,OAJA5uB,qBAAU,WACN4uB,GAAW,KACZ,CAAC4G,IAGA,sBAAKz0B,UAAU,yBAAf,UACI,sBAAMA,UAAU,YAAhB,gCACc,OAAby0B,GAAqB,cAAC,GAAD,IACR,OAAbA,GAAqB,cAAC,GAAD,CAAuB5G,WAAYA,IAExDuC,GAAW,cAAC,GAAD,CAAgBtvB,OAAQ,0BCf1Cm0B,GAAoB,oBAcXC,GAbQ,WACnB,OACI,qCACI,cAAC,GAAD,CAAiBxpB,MAAM,YACvB,sBAAK1L,UAAU,yBAAf,UACI,cAAC,GAAD,IACA,cAAC,GAAD,IACA,cAAC,GAAD,WCLVm1B,GAAkB,SAACxzB,EAAKyzB,GAC5B,MAAM,gDAAN,OAAuDC,mBACrD1zB,GADF,kBAEW0zB,mBAAmBD,KAG1BE,GAAiB,SAAC3zB,EAAKyzB,GAC3B,MAAM,wCAAN,OAA+CC,mBAC7C1zB,GADF,iBAEU0zB,mBAAmBD,KAGzBG,GAAkB,SAAC5zB,EAAKyzB,EAAM1pB,GAClC,MAAM,mDAAN,OAA0D2pB,mBACxD1zB,GADF,kBAEW0zB,mBAAmB3pB,GAF9B,oBAEgD2pB,mBAAmBD,KAgItDI,GA7HI,WACjB,IAzBoBC,EAASC,EAAM/zB,EAyB7BsgB,EAAenjB,aAAY,SAACR,GAAD,OAAWA,EAAM2jB,gBAClD,EAA4BjP,oBAAS,GAArC,mBAAO2iB,EAAP,KAAeC,EAAf,KAEMR,EAAI,gNAcV,OAPAn2B,qBAAU,WACR,GAAI02B,EAAQ,CACV,IAAMlG,EAAQ1vB,YAAW,kBAAM61B,GAAU,KAAQ,MACjD,OAAO,kBAAM5F,aAAaP,OAE3B,CAACkG,IAGF,sBAAK31B,UAAU,SAAf,UACE,sBAAKA,UAAU,UAAUyQ,MAAO,CAAEwN,MAAO,eAAzC,UACE,oBAAIje,UAAU,sCAAd,qCAGA,sBAAKA,UAAU,eAAf,UACE,mBACEa,KAAMs0B,GAAgBlT,EAAcmT,GACpCt0B,OAAO,SACPF,IAAI,sBAHN,SAKE,sBACEqd,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRE,MAAM,6BAJR,UAME,wBAAQwX,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAK3X,KAAK,YACpC,sBACEE,EAAE,0HACFF,KAAK,eAIX,mBACEvd,KAAMy0B,GAAerT,EAAcmT,GACnCt0B,OAAO,SACPF,IAAI,sBAHN,SAKE,sBAAKud,QAAQ,cAAcF,MAAM,KAAKC,OAAO,KAA7C,UACE,sBACEI,EAAE,4FACFF,KAAK,SAEP,sBACEA,KAAK,OACLE,EAAE,sOAIR,mBACEzd,KAAM00B,GAAgBtT,EAAcmT,EAAM,iBAC1Ct0B,OAAO,SACPF,IAAI,sBAHN,SAKE,sBAAKud,QAAQ,YAAYF,MAAM,KAAKC,OAAO,KAA3C,UACE,wBAAQ2X,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAK3X,KAAK,YACpC,sBACEE,EAAE,qRACFF,KAAK,eAIX,mBAAGvd,MAhGS40B,EAgGU,gBAhGDC,EAgGkBN,EAhGZzzB,EAgGkBsgB,EA/F/C,mBAAN,OAA0BoT,mBACxBI,GADF,iBAEUJ,mBAAmBK,EAAO,OAAS/zB,KA6FrC,SACE,sBACEsc,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRE,MAAM,6BAJR,UAME,wBAAQwX,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAK3X,KAAK,YACpC,sBACEE,EAAE,2DACFF,KAAK,qBAMf,sBAAKpe,UAAU,0BAAf,UACE,0BACEH,MAAOu1B,EAAO,KAAOnT,EACrB+T,UAAQ,EACRh2B,UAAU,wBACVi2B,KAAM,IAER,wBAAQ1lB,QAzFU,WACtB6R,UAAUC,UAAUC,UAAU8S,EAAO,KAAOnT,GAC5C2T,GAAU,IAuF4B51B,UAAU,cAA5C,SACG21B,EACC,UAEA,4CACO,IACL,qBACEtX,MAAM,6BACND,KAAK,OACLD,QAAQ,YACRmK,YAAa,IACbD,OAAO,eACProB,UAAU,SACVie,MAAO,GACPC,OAAQ,GARV,SAUE,sBACEqK,cAAc,QACdC,eAAe,QACflK,EAAE,qkBCvId4X,GAAkC,kCA0BzBC,GAxBoB,WAC/B,IAAM1nB,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CwT,EAAenjB,aAAY,SAAAR,GAAK,OAAIA,EAAM2jB,gBAChD,OAAuB,OAAnBxT,EACO,6BAGP,qCACI,cAAC,GAAD,CAAiB/C,MAAM,2BACvB,qBAAK1L,UAAU,wCAAf,SACI,sBAAKA,UAAU,4BAAf,UACI,cAAC,GAAD,CAAmB4uB,MAAO,gBAAiBC,KAAMpgB,EAAesF,YAAa+a,aAAa,EACvEC,YAAa,cAChC,cAAC,GAAD,CAAmBH,MAAO,oCAAqCC,KAAM5M,EAClD6M,aAAa,EAAMC,YAAa,cAG3D,qBAAK/uB,UAAU,8CAAf,SACI,cAAC,GAAD,UCEDo2B,GAtBiB,SAAC,GAA4B,IAA3B3yB,EAA0B,EAA1BA,KAAMyJ,EAAoB,EAApBA,eAC9BxN,EAAWC,cAejB,OACI,qBAAK4Q,QAfW,WAChB7Q,ECP8B,SAAC+D,EAAMyI,EAAWmqB,GAAlB,8CAClC,WAAO32B,GAAP,eAAA+C,EAAA,+EAE6Bc,EAAwB2I,EAAWzI,GAFhE,QAEYsB,EAFZ,QAIqBhD,KACTs0B,EAAStxB,EAAShD,KAAKu0B,QAEvBD,GAAS,GAPrB,uGADkC,sDDOrBE,CAAuB9yB,EAAMyJ,EAAehB,WAAW,SAACnK,GAC7D,IAAIy0B,EAAa,+BrFEC,SAACF,GAC3B,IACIxqB,EADY,CAAC,OAAQ,YAAa,SAAU,SAAU,WAAY,2BAA4B,mBAAoB,6BAA8B,8BAA+B,SAAU,yBACrKC,KAAK,KAc7B,OAbAD,GAAa,KACbwqB,EAAOjsB,SAAQ,SAAAosB,GACX,IAAIjvB,EAAM,GACN/D,EAAO,IAAI8E,KAAKkuB,EAAMC,eAAeC,mBAAmB,KAAM,CAC9D9tB,IAAK,UACLD,MAAO,QACPD,KAAM,YAEVlF,EAAOA,EAAKmzB,QAAQ,IAAK,KACzBpvB,EAAIrI,KAAKsE,EAAMgzB,EAAMI,QAASJ,EAAMK,OAAQL,EAAMM,OAAQN,EAAMO,SAAU1lB,GAASmlB,EAAMQ,aAAc3lB,GAASmlB,EAAMpqB,MAAOiF,GAASmlB,EAAMS,eAAgB5lB,GAASmlB,EAAMU,WAAYV,EAAMjR,OAAQiR,EAAMW,qBAC3M,IAAIvqB,EAASrF,EAAIuE,KAAK,KACtBD,GAAae,EAAS,UAEnBf,EqFlBmDurB,CAAet1B,GAC7Du1B,EAAaC,UAAUf,GACvB5d,EAAO4F,SAASgZ,cAAc,KAClC5e,EAAK6e,aAAa,OAAQH,GAC1B1e,EAAK6e,aAAa,WAAYvqB,EAAelB,YAAc,IAAMvI,EAAO,QACxE+a,SAASkX,KAAKgC,YAAY9e,GAE1BA,EAAKiM,QACLjM,EAAK+e,cAKkB33B,UAAU,cAAc0L,MAAO,+BAA1D,SAA0F,qBACtFC,IAAKC,QEfXjB,GAAgB,CAClB,CACIjK,KAAM,eACNoK,SAAU,qBAAEK,YAA6Ba,cAE7C,CACItL,KAAM,aACNoK,SAAU,qBAAEK,YAA6BkC,YAE7C,CACI3M,KAAM,cACNoK,SAAU,qBAAEK,YAA6B/K,QAE7C,CACIM,KAAM,eACNoK,SAAU,qBAAEK,YAA6BmC,cAE7C,CACI5M,KAAM,UACNoK,SAAU,qBAAEK,YAA6BoC,UAE7C,CACI7M,KAAM,eACNoK,SAAU,qBAAEK,YAA6BqC,cAE7C,CACI9M,KAAM,eACNoK,SAAU,qBAAE8sB,iBAAuCnqB,iBAEvD,CACI/M,KAAM,oBACNoK,SAAU,qBAAE8sB,iBAAuClqB,qBAEvD,CACIhN,KAAM,kBACNoK,SAAU,qBAAE8sB,iBAAuCntB,iBAEvD,CACI/J,KAAM,qBACNoK,SAAU,gBAAE8sB,EAAF,EAAEA,iBAAkB1uB,EAApB,EAAoBA,SAApB,OAAkCgB,GAAwB0tB,EAAiBntB,eAAgBvB,KAEzG,CACIxI,KAAM,0BACNoK,SAAU,gBAAE8sB,EAAF,EAAEA,iBAAkB1uB,EAApB,EAAoBA,SAApB,OAAkCF,GAA6B4uB,EAAiBntB,eAAgBvB,KAE9G,CACIxI,KAAM,iBACNoK,SAAU,YAAsC,IAApC8sB,EAAmC,EAAnCA,iBAAkBzsB,EAAiB,EAAjBA,YAC1B,OAAKlE,GAAkBkE,EAAYqC,aAC5B,qBAAKxN,UAAW43B,EAAiBrtB,OAAS,eAAiB,aAA3D,SACFqtB,EAAiBrtB,OAAS,OAAS,WAFgB,QAMhE,CACI7J,KAAM,GACNoK,SAAU,gBAAEK,EAAF,EAAEA,YAAa1H,EAAf,EAAeA,KAAf,OAAyB,cAAC,GAAD,CAAyByJ,eAAgB/B,EAAa1H,KAAMA,OAgDxFo0B,GA5CgB,WAAO,IAAD,IAC3BjpB,EAAiB9P,aAAY,SAAAR,GAAK,OAAIA,EAAMuQ,sBAC5CH,EAAqB5P,aAAY,SAAAR,GAAK,OAAIA,EAAMqQ,mBAChDF,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5CqpB,EAAgBh5B,aAAY,SAAAR,GAAK,OAAIA,EAAMy5B,mBAEjD,GAAuB,OAAnBnpB,GAA6C,MAAlBH,GAAgD,MAAtBC,EAA4B,CACjF,MAAwBhE,GAA0B,GAAIC,IAA/CtJ,EAAP,EAAOA,QAASU,EAAhB,EAAgBA,KAChB,OACI,sBAAK/B,UAAU,+BAAf,UACI,sBAAMA,UAAU,YAAhB,6BACA,cAAC,GAAD,CAAcsF,eAAgBjE,EAAS+F,aAAcrF,EACvCsF,UAAU,iCAMpC,IAAM2Z,EAAU,UAAGpS,EAAegB,oBAAoBkoB,UAAtC,iBAAG,EAAmDtoB,oBAAtD,aAAG,EAAiEhK,KAAI,SAAA8E,GACpF,MAAO,CACHstB,iBAAkBttB,EAClBa,YAAauD,EAAmB0F,YAAY9J,EAAM4B,WAClDhD,SAAUuF,EAAeoB,sBACzBpM,KAAMq0B,MAIR7W,EhGxCoB,SAACxd,GAC3B,IAAMid,EAAc,IAAInY,KAClBoT,EAAa,IAAIpT,KAAK9E,GAC5B,OAAOkY,EAAWrN,aAAeoS,EAAYpS,YAAcqN,EAAWtN,gBAAkBqS,EAAYrS,cgGqCrE2pB,CAAeF,GAC1CntB,GAAcwW,QAAO,SAAAvW,GAAM,MAAoB,mBAAhBA,EAAOlK,QACtCiK,GAEJ,EAAwBD,GAA0BsW,EAAYC,GAAvD5f,EAAP,EAAOA,QAASU,EAAhB,EAAgBA,KAEhB,OACI,sBAAK/B,UAAU,+BAAf,UACI,sBAAKA,UAAU,iCAAf,UACI,sBAAMA,UAAU,YAAhB,6BACA,cAAC,GAAD,OAEJ,cAAC,GAAD,CAAcsF,eAAgBjE,EAAS+F,aAAcrF,EAAMwD,OAAQ,SCtGlE0yB,GAAkB,kBAahBC,GAXM,WACjB,OACI,qCACI,cAAC,GAAD,CAAiBxsB,MAAO,UACxB,qBAAK1L,UAAU,OAAf,SACI,cAAC,GAAD,UCAVm4B,GAAgB,gBAChB/c,GAAyB,yBACzBD,GAAyB,YA+GhBid,GA5GI,WACf,IAAMC,EAAgBv5B,aAAY,SAAAR,GAAK,OAAIA,EAAMg6B,qBAC3C7pB,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5C8pB,EAA0Bz5B,aAAY,SAAAR,GAAK,OAAIA,EAAMk6B,qBAC3D,EAAkDxlB,mBAAS0G,IAA3D,mBAAO8e,EAAP,KAA0BC,EAA1B,KACM/4B,EAAWC,cAQX+4B,EAAqB,SAACplB,GACxBmlB,EAAqBnlB,GACrB5T,EAAS,CACLhB,KAAM0c,GACNzc,QAAS8a,GAA2BnG,MAItCqlB,EAAc,WAChB,OAAIlqB,EAAegF,cAAgB0H,IAUvC,OANAlc,qBAAU,WAC0B,OAA5Bs5B,IAA2D,OAAvBA,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBjlB,aAAcklB,GAC3EC,EAAqBF,EAAwBjlB,aAElD,QAACilB,QAAD,IAACA,OAAD,EAACA,EAAyBjlB,YAEN,OAAnB7E,EAAgC,6BAGhC,qBACIzO,UAAS,2EAAsEq4B,EAAgB,YAAc,IADjH,SAEI,qBAAIr4B,UAAU,mCAAd,UASI,qBAAIA,UAAS,mBAAcw4B,IAAsB9e,GAAsB,eAAiB,IACpFnJ,QAAS,WACLmoB,EAAmBhf,KAF3B,UAII,mBAAG1Z,UAAU,uBAAyB,sBAAMA,UAAU,OAAhB,0BAExC24B,KACF,qBAAI34B,UAAS,mBAAcw4B,IAAsB1lB,GAAoB,eAAiB,IAClFvC,QAAS,WACLmoB,EAAmB5lB,KAF3B,UAII,mBAAG9S,UAAU,kBAAoB,sBAAMA,UAAU,OAAhB,wBAGpC24B,KACD,qBAAI34B,UAAS,mBAAcw4B,IAAsB3d,GAAoB,eAAiB,IAClFtK,QAAS,WACLmoB,EAAmB7d,KAF3B,UAII,mBAAG7a,UAAU,kBAAoB,sBAAMA,UAAU,OAAhB,yBAErC,qBAAIA,UAAS,mBAAcw4B,IAAsBP,GAAkB,eAAiB,IAChF1nB,QAAS,WACLmoB,EAAmBT,KAF3B,UAII,mBAAGj4B,UAAU,yBAA2B,sBAAMA,UAAU,OAAhB,uBAE1C24B,KACF,qBAAI34B,UAAS,mBAAcw4B,IAAsBtH,GAAoB,eAAiB,IAClF3gB,QAAS,WACLmoB,EAAmBxH,KAF3B,UAII,mBAAGlxB,UAAU,sBAAwB,sBAAMA,UAAU,OAAhB,yBAGxC24B,KACD,qBAAI34B,UAAS,mBAAcw4B,IAAsBvD,GAAoB,eAAiB,IAClF1kB,QAAS,WACLmoB,EAAmBzD,KAF3B,UAII,mBAAGj1B,UAAU,kBAAoB,sBAAMA,UAAU,OAAhB,wBAErC,qBAAIA,UAAS,mBAAcw4B,IAAsBtC,GAAkC,eAAiB,IAChG3lB,QAAS,WACLmoB,EAAmBxC,KAF3B,UAII,mBAAGl2B,UAAU,qBAAuB,sBAAMA,UAAU,OAAhB,uCAExC,qBAAIA,UAAS,mBAAcw4B,IAAsBvI,GAAoB,eAAiB,IAClF1f,QAAS,WACLmoB,EAAmBzI,KAF3B,UAII,mBAAGjwB,UAAU,iBAAmB,sBAAMA,UAAU,OAAhB,wBAEpC,qBAAIA,UAAU,WAAWuQ,QAAS,kBAAM7Q,EAAS+E,OAAjD,UACI,mBAAGzE,UAAU,0BAA4B,sBAAMA,UAAU,OAAhB,6BCtE9C44B,GA7CoB,WAC/B,MAAoC5lB,oBAAS,GAA7C,mBAAO6lB,EAAP,KAAmBC,EAAnB,KACMC,EAASx5B,iBAAO,MAChBy5B,EAAUz5B,iBAAO,MAGjBkP,GAFW9O,cACKb,aAAY,SAAAR,GAAK,OAAIA,EAAMg6B,qBAC1Bx5B,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,mBAsBlD,OARAxP,qBAAU,WACN,IAAMg6B,EAAgB,WAClBza,SAASC,uBAAuB,iBAAiB,GAAGya,UAAY,GAAKJ,GAAc,GAASA,GAAc,IAG9G,OADAta,SAASC,uBAAuB,iBAAiB,GAAGoB,iBAAiB,SAAUoZ,GACxE,kBAAMt0B,OAAOmb,oBAAoB,SAAUmZ,MACnD,CAACJ,IAGA,qBAAK74B,UAAU,kBAAf,SACI,sBAAKA,UAAW,qCAAgC64B,EAAa,eAAiB,IAA9E,UACI,qBAAKr4B,IAAKu4B,EAAQ/4B,UAAU,WACvBe,KAAK,SAASwP,QAxBR,aAwBiC7E,MAAO,oBADnD,SAEI,sBAAMlL,IAAKw4B,EAASh5B,UAAU,+BAA9B,SAA6D,sBACzDA,UAAU,oBAElB,qBAAKA,UAAU,wBAAf,SACI,qBAAKA,UAAU,2BAAf,gBAA2CyO,QAA3C,IAA2CA,OAA3C,EAA2CA,EAAgBzC,sBCtCzEmtB,GAAkB,kBCAlBC,GAAmB,mBCHZC,GAA8B,8BC8B5BC,GA1B4B,yDAAM,WAAM55B,GAAN,iBAAA+C,EAAA,+EAEpBa,IAFoB,QAErCyB,EAFqC,QAG5BhD,OtF2C6B+S,EsF1CuB/P,EAAShD,KAAlEw3B,EtF2CL,IAAIriB,GAAsCpC,GsF1CrCpD,OAAOC,KAAK4nB,EAAqB1mB,2BAA2BvL,OAAS,EACrE5H,EAAS,CACLhB,KAAM26B,GACN16B,QAAS46B,IAGb75B,EAAS,CACLhB,KAAM26B,GACN16B,QAAS,QAboB,gDAkBzCwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM26B,GACN16B,QAAS,OArB4B,kCtF8CA,IAACmW,IsF9CD,oBAAN,uD,SC2B5B0kB,OAvBf,WACI,IAAM95B,EAAWC,cACXiF,EAAW60B,yBACX16B,EAAUC,wBAEhBC,qBAAU,WACN,IAAMy6B,EAAc,IAAIC,gBAAgB/0B,EAASg1B,QAE7CF,EAAYG,IAAI,WACc,mBAA9BH,EAAY73B,IAAI,YAEhBnC,EAAS,CACLhB,KAAM0c,GACNzc,QAAS8a,GAA2ByX,MAExCwI,EAAYn3B,OAAO,UACnBxD,EAAQ63B,QAAQ,CACZgD,OAAQF,EAAYjf,gBAG7B,CAAC7V,KC5BKk1B,GAAc,cCIdC,GAAoB,yDAAM,WAAOr6B,GAAP,iBAAA+C,EAAA,+EAERwB,KAFQ,OAEzBc,EAFyB,OAIzB2vB,EAAiB3a,GACnBhV,EAAShD,KAAK3B,MACd2E,EAAShD,KAAKiX,UACdjU,EAAShD,KAAKrB,KACdqE,EAAShD,KAAKgX,YACdhU,EAAShD,KAAKmX,UAGlBxZ,EAAS,CACLhB,KAAM61B,GACN51B,QAAS+1B,IAdkB,gDAiB/BvvB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM61B,GACN51B,QAAS,OApBkB,yDAAN,uDCJpBq7B,GAAqB,qBCIrBC,GAAsB,yDAAM,WAAOv6B,GAAP,iBAAA+C,EAAA,+EAEV2B,KAFU,OAE3BW,EAF2B,O3F+ECyU,E2F1E9BzU,EAAShD,KAAKm4B,wB3F0E2B3vB,E2FzEzCxF,EAAShD,KAAKwI,OAFZ4vB,E3F4EH,IAAI5gB,GAAiBC,EAAWjP,G2FvEnC7K,EAAS,CACLhB,KAAMs7B,GACNr7B,QAASw7B,IAXoB,gDAcjCh1B,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMs7B,GACNr7B,QAAS,OAjBoB,kC3F+EA,IAAC6a,EAAWjP,I2F/EZ,oBAAN,uDC0DpB6vB,GAxDG,WAChB,MAAoCpnB,oBAAS,GAA7C,mBAAOqnB,EAAP,KAAmBC,EAAnB,KACA,EAA8BtnB,oBAAS,GAAvC,mBAAOod,EAAP,KAAgBvC,EAAhB,KACMpf,EAAiB3P,aAAY,SAAAR,GAAK,OAAIA,EAAMmQ,kBAC5C/O,EAAWC,cAEXygB,EAAmBthB,aAAY,SAAAR,GAAK,OAAIA,EAAM8hB,oBAE9Cma,GAA4B,OAAd9rB,QAAc,IAAdA,OAAA,EAAAA,EAAgBgF,eAAgB0H,GAEpDlc,qBAAU,WACgB,OAArBmhB,GAA8BA,EAAiB7V,UAChD+vB,GAAc,KAEf,CAACla,IAEJnhB,qBAAU,WACR4uB,GAAW,KACV,CAACzN,IAWJ,OAAGma,IAAgBF,EACV,6BAGP,sBAAK72B,GAAG,eAAeg3B,MAAO,8DAA9B,UACI,sBAAKA,MAAM,uBAAX,UACI,qBAAKA,MAAM,kBAAX,SACI,sBAAMA,MAAM,mBAAmBh3B,GAAG,uCAAlC,qHAKJ,qBAAKg3B,MAAM,oBAAX,SACI,qBAAKA,MAAM,2BAAX,SACI,wBAAQA,MAAM,2BAA2BjqB,QAnBrC,WC1Ba,IAACqJ,ED2BlCiU,GAAW,GACXnuB,GC5BkCka,ED4BJ,OAACnL,QAAD,IAACA,OAAD,EAACA,EAAgBjL,GC5Bd,uCAAe,WAAO9D,GAAP,SAAA+C,EAAA,+EAEtC4B,GAAiBuV,GAFqB,sDAI5CzU,QAAQC,MAAR,MAJ4C,OAOhD1F,EAASu6B,MAPuC,wDAAf,yDD6CjB,+BAIZ,qBAAKO,MAAM,mBAAX,SACI,sBAAMA,MAAM,iBAAiBjqB,QA5BnB,WAClB+pB,GAAc,IA2BN,qBAGHlK,GAAW,cAAC,GAAD,CAAgBtvB,OAAQ,+BE2C7B25B,GAtEc,WACzB,IAAMpC,EAAgBv5B,aAAY,SAAAR,GAAK,OAAIA,EAAMg6B,qBAC3CE,EAAoB15B,aAAY,SAAAR,GAAK,OAAIA,EAAMk6B,qBAC/Cj6B,EAAgBO,YAAYT,GAC5BU,EAAUC,uBAEVU,EAAWC,cACjBV,qBAAU,WACNS,EAASstB,MACTttB,EAASyd,MACTzd,EXnCgC,uCACpC,WAAOA,GAAP,iBAAA+C,EAAA,+EAE6BC,IAF7B,QAEYqC,EAFZ,QAGqBhD,MnFyBsB24B,EmFxB+B31B,EAAShD,KAAnE44B,EnFyBT,IAAI9lB,GAA4B6lB,GmFxB3Bh7B,EAAS,CACLhB,KAAMy6B,GACNx6B,QAASg8B,KAGbj7B,EAAS,CACLhB,KAAMy6B,GACNx6B,QAAS,OAZzB,gDAgBQwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMy6B,GACNx6B,QAAS,OAnBrB,kCnF4B0C,IAAC+7B,ImF5B3C,oBADoC,uDWoChCh7B,EVpC0B,uCAAM,WAAMA,GAAN,eAAA+C,EAAA,+EAEXK,IAFW,OAGV,QADlBiC,EAF4B,QAGnBhD,MAAmC,KAAlBgD,EAAShD,OACnCgD,EAAShD,KAAO,IAEpBrC,EAAS,CACLhB,KAAM06B,GACNz6B,QAASkb,GAAwB9U,EAAShD,QARd,gDAWhCoD,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM06B,GACNz6B,QAASkb,GAAwB,MAdL,yDAAN,uDUqC1Bna,EAAS+iB,MACT/iB,EAAS45B,MACT55B,EAASgoB,MACThoB,EAASurB,MACTvrB,EC1C4B,uCAAM,WAAMA,GAAN,eAAA+C,EAAA,+EAEbY,IAFa,OAGZ,QADlB0B,EAF8B,QAGrBhD,MAAmC,KAAlBgD,EAAShD,MAAmC,MAApBgD,EAASygB,SAC3DzgB,EAAShD,KAAO,IAEpBrC,EAAS,CACLhB,KAAM0yB,GACNzyB,QAAS,IAAI6yB,GAAezsB,EAAShD,QARP,gDAWlCoD,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM0yB,GACNzyB,QAAS,IAAI6yB,GAAe,MAdE,yDAAN,uDD2C5B9xB,EE3CqB,uCAAM,WAAOA,GAAP,iBAAA+C,EAAA,+EAEJuB,KAFI,OhGuEC8U,GgGrEtB/T,EAFqB,QAKdhD,KAAK64B,gBhGkEiBx6B,EgGjE/B2E,EAAShD,KAAK84B,YhGiEwBhlB,EgGhEtC9Q,EAAShD,KAAK+4B,iBhGgEoC/hB,EgG/DlDhU,EAAShD,KAAKgX,YAJZoQ,EhGoEH,IAAItQ,GAAWC,EAAO1Y,EAAOyV,EAAYkD,GgG7D5CrZ,EAAS,CACLhB,KAAMo7B,GACNn7B,QAASwqB,IAbc,gDAgB3BhkB,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAMo7B,GACNn7B,QAAS,OAnBc,kChGuEA,IAACma,EAAO1Y,EAAOyV,EAAYkD,IgGvE3B,oBAAN,uDF4CrBrZ,EAASq6B,MACTr6B,EAASu6B,QACV,IAEHh7B,qBAAU,WACgB,OAAlBV,IACKA,EAAcW,QACfH,EAAQI,KAAK,8BAEtB,CAACZ,EAAeQ,IA2BnB,OAFAy6B,KAGI,sBAAKgB,MAAM,yBAAX,UACI,cAAC,GAAD,IACA,gCACI,cAAC,GAAD,IACA,sBAAKx6B,UAAS,sDAAiDq4B,EAAgB,aAAe,IAA9F,UACI,cAAC,GAAD,IACA,qBAAKr4B,UAAU,eAAf,SAhCa,WACzB,OAAQw4B,EAAkBllB,WACtB,KAAKoG,GACD,OAAO,cAAC,GAAD,IACX,KAAK5G,GACD,OAAO,cAAC,GAAD,IACX,KAAK+H,GACD,OAAO,cAAC,GAAD,IACX,KAAKod,GACD,OAAO,cAAC,GAAD,IACX,KAAK/G,GACD,OAAO,cAAC,GAAD,IACX,KAAKjB,GACD,OAAO,cAAC,GAAD,IACX,KAAKiG,GACD,OAAO,cAAC,GAAD,IACX,KAAKjB,GACD,OAAO,cAAC,GAAD,IACX,QACI,OAAO,cAAC,GAAD,KAcE8F,e,0BGrEVC,GAnBQ,SAAC,GAA2C,IAA/BC,EAA8B,EAAzC3nB,UAAyB4nB,EAAgB,mBAC9D,OACI,cAAC,QAAD,6BAAWA,GAAX,IAAuBtH,OACnB,SAAAuH,GACI,IAAIC,EAAcn6B,IAClB,MAAoB,KAAhBm6B,GAAsC,OAAhBA,GAAwBA,EAAY9zB,OAAS,EAAU,cAAC2zB,EAAD,6BAAeC,GAAgBC,IACxG,cAAC,WAAD,CAAUE,GACd,CACIC,SAAU,SACVh9B,MAAO,CACHi9B,KAAMJ,EAAMv2B,kBCdzB,OAA0B,iCCe1B42B,GAZK,WAChB,OACI,qBAAKx7B,UAAU,sDAAf,SACI,sBAAKA,UAAU,2CAAf,UACI,qBAAK6L,IAAK,UAAW7L,UAAU,YAAY2L,IAAK8vB,KAChD,sBAAMz7B,UAAU,sCCOjB07B,I,MAVU,WAErB,OACI,sBAAK17B,UAAU,YAAf,UACI,cAAC,EAAD,IACA,cAAC,GAAD,SCOG27B,I,kBAfI,SAAC,GAAsC,IAArCC,EAAoC,EAApCA,eAAgBC,EAAoB,EAApBA,eAQjC,OACI,qBAAK77B,UAAU,6BAAf,SARa,WAEb,IADA,IAAI87B,EAAQ,GACHC,EAAI,EAAGA,EAAIH,EAAgBG,IAChCD,EAAM38B,KAAK,qBAAKa,UAAS,UAAK+7B,EAAIF,EAAiB,YAAc,cAErE,OAAOC,EAIFE,OC8BE5B,GAvCG,SAAC,GAAuB,IAAtB6B,EAAqB,EAArBA,SAAU1vB,EAAW,EAAXA,MAE1B,OACI,gCACI,qBAAKvM,UAAU,2CAAf,SACI,sBAAKie,MAAM,MAAMC,OAAO,KAAKC,QAAQ,aAAaC,KAAK,OAAOC,MAAM,6BAApE,UACI,oBAAG6d,SAAS,wBAAZ,UACI,sBAAM14B,GAAG,kBAAkBiN,MAAO,CAAC,YAAa,SAAU0rB,UAAU,iBAAiBrK,EAAE,IAAIsK,EAAE,IACvFne,MAAM,KAAKC,OAAO,KADxB,SAEI,sBACII,EAAE,+hBACFF,KAAK,YAEb,mBAAGie,KAAK,wBAAR,SACI,sBAAM9Z,SAAS,UAAU+Z,SAAS,UAC5Bhe,EAAE,+hBACFF,KAAK,oCAEf,sBAAMmE,SAAS,UAAU+Z,SAAS,UAC5Bhe,EAAE,omHACFF,KAAK,eAEf,iCACI,iCAAgB5a,GAAG,0BAA0B+4B,GAAG,UAAUC,GAAG,UAAUC,GAAG,UAC1DC,GAAG,WAAWC,cAAc,iBAD5C,UAEI,sBAAMC,UAAU,YAChB,sBAAMC,OAAO,IAAID,UAAU,eAE/B,0BAAUp5B,GAAG,kBAAb,SACI,sBAAMya,MAAM,MAAMC,OAAO,KAAKE,KAAK,oBAKnD,cAAC,GAAD,CAAYyd,eAAgBI,EAAUL,eAAgBrvB,QCYnDuwB,GA/CO,SAAC,GAAkB,IAAjBC,EAAgB,EAAhBA,WAEpB,OACI,gCACI,qBAAK/8B,UAAU,cAAf,6CACA,sBAAKA,UAAU,YAAf,uKAEI,uBAAK,uBAFT,+HAKA,sBAAKA,UAAU,qCAAf,UACI,sBAAKA,UAAU,eAAf,UACI,sBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACI,sBAAMJ,MAAM,KAAKC,OAAO,KAAKiK,GAAG,IAAI/J,KAAK,UAAUgK,YAAY,SAC/D,sBACI9J,EAAE,sbACFF,KAAK,eAEb,qBAAKpe,UAAU,cAAf,8CAEJ,sBAAKA,UAAU,eAAf,UACI,sBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACI,sBAAMJ,MAAM,KAAKC,OAAO,KAAKiK,GAAG,IAAI/J,KAAK,UAAUgK,YAAY,SAC/D,sBACI9J,EAAE,ooBACFF,KAAK,eAEb,qBAAKpe,UAAU,cAAf,wDAEJ,sBAAKA,UAAU,eAAf,UACI,sBAAKie,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,6BAAlE,UACI,sBAAMJ,MAAM,KAAKC,OAAO,KAAKiK,GAAG,IAAI/J,KAAK,UAAUgK,YAAY,SAC/D,sBACI9J,EAAE,6uBACFF,KAAK,eAEb,qBAAKpe,UAAU,cAAf,oDAGR,qBAAKA,UAAU,kDAAf,SAEI,qBAAKA,UAAU,oCAAoCuQ,QAASwsB,EAA5D,oCCoBDC,GA7DG,SAAC,GAA4C,IAA3CC,EAA0C,EAA1CA,SAAwBC,GAAkB,EAAhCC,aAAgC,EAAlBD,cAClCE,EAAc79B,iBAAO,MACrB89B,EAAa99B,iBAAO,MACpB+9B,EAAiB/9B,iBAAO,MACxBinB,EAAUjnB,iBAAO,MACjBg+B,EAAWh+B,iBAAO,MAyBxB,OACI,uBAAMS,UAAU,6BAA6BC,SAhB5B,SAACuQ,GAClB,IAAIgtB,EAAkBJ,EAAYx9B,QAAQC,MACtC8T,EAAiB0pB,EAAWz9B,QAAQC,MACpCmM,EAAcsxB,EAAe19B,QAAQC,MACrC49B,EAAcjX,EAAQ5mB,QAAQC,MAC9B69B,EAAeH,EAAS39B,QAAQC,MAMpCq9B,EAJiB,CACbM,kBAAiB7pB,iBAAgB3H,cAAayxB,cAAaC,iBAf/DT,EAAS,iBAuBT,UACI,qBAAKj9B,UAAU,cAAf,8CACA,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,0BACA,uBAAOQ,IAAK88B,EAAgB5+B,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEtE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,iCACA,uBAAOQ,IAAKgmB,EAAS9nB,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAE/D,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,kCACA,uBAAOQ,IAAK+8B,EAAU7+B,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEhE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,8BACA,uBAAOQ,IAAK48B,EAAa1+B,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEnE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,6BACA,uBAAOQ,IAAK68B,EAAY3+B,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAElE,sBAAKA,UAAU,kDAAf,UACI,qBAAKA,UAAU,sCAAsCuQ,QA3C9C,WACf0sB,EAAS,SA0CD,kBACA,uBAAOv+B,KAAK,SAASsB,UAAU,oCAAoCH,MAAM,oBCzD5E89B,GAAM,MAEbC,GAAe,CACjBtwB,YAAa,KACbuwB,IAAK,KACLC,UAAW,KACXC,aAAc,KACd7kB,UAAU,EACV8kB,UAAU,EACVC,WAAW,GCLFC,GAAgB,gBA8BvBC,GAAW,SAACxpB,GACd,MAAmB,OAAV,OAALA,QAAK,IAALA,OAAA,EAAAA,EAAQ,IAAmBA,EACnB,IAAMA,GAyFPypB,GAvHO,SAACpyB,EAAasB,EAAa+wB,EAC1B3qB,EAASE,EACTC,EAAoBF,EACpB7O,EAAUw5B,GAHX,8CAG2B,WAAM5+B,GAAN,eAAA+C,EAAA,+EAEpBW,EAAc,CAC/B4I,YAAaA,EAAa0H,QAASA,EACnCpG,YAAaA,EAAalN,MAAOi+B,EAAczqB,cAAeA,EAC9DwZ,qBAAsBvZ,EAAoBF,eAAgBA,EAC1DF,YAAa,YAAa3O,SAAUA,EAAUw5B,YAAaA,IANtB,OASjB,OAPpBv5B,EAFqC,QAS5BygB,QAAsC,MAApBzgB,EAASygB,OACpC9lB,EAASY,GAAmB+9B,EAAcv5B,IAE1CpF,EAAS,CACLhB,KAAMw/B,GACNv/B,SAAS,IAdwB,gDAkBzCe,EAAS,CACLhB,KAAMw/B,GACNv/B,SAAS,IApB4B,yDAH3B,uDCuEP4/B,GAzEK,SAAC,GAA2B,IAA1BtB,EAAyB,EAAzBA,SAAUuB,EAAe,EAAfA,UACtBC,EAAal/B,iBAAO,MACpBm/B,EAAiBn/B,iBAAO,MACxBo/B,EAAWp/B,iBAAO,MAClBknB,EAAWlnB,iBAAO,MAClBq/B,EAAYr/B,iBAAO,MACnBG,EAAWC,cAsCjB,OACI,uBAAMK,UAAU,6BAA6BC,SA7B5B,SAACuQ,GAClB,IAAIlD,EAAcqxB,EAAS/+B,QAAQC,MAC/BO,EAAQqmB,EAAS7mB,QAAQC,MACzBiF,EAAW25B,EAAW7+B,QAAQC,MAElCsF,QAAQqD,IAAI8E,EAAalN,EAAO0E,EAAU05B,GAC1C9+B,EAAS,CACLhB,KAAMw/B,GACNv/B,QAAS,OAEbe,EAAS0+B,GAAcI,EAAUxyB,YAAasB,EAAalN,EAAOo+B,EAAUhB,gBAAiBgB,EAAUf,YAAae,EAAUd,aAAcc,EAAU7qB,eAAgB7O,EAAU,KAjBhLm4B,EAAS,eAoCT,UACI,qBAAKj9B,UAAU,cAAf,gCACA,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,0BACA,uBAAOQ,IAAKm+B,EAAUjgC,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEhE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,mBACA,uBAAOQ,IAAKimB,EAAU/nB,KAAK,QAAQiC,UAAU,EAAMX,UAAU,gBAEjE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,0BACA,uBAAOQ,IAAKi+B,EAAY//B,KAAK,WAAWiC,UAAU,EAAMX,UAAU,gBAEtE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,8BACA,uBAAO4R,SA/BK,WACiB,KAAjC8sB,EAAe9+B,QAAQC,OAAgB4+B,EAAW7+B,QAAQC,QAAU6+B,EAAe9+B,QAAQC,OAC3FsF,QAAQqD,IAAI,iBACZo2B,EAAUh/B,QAAQE,UAAW,EAC7B4+B,EAAe9+B,QAAQ6Q,MAAMouB,OAAS,kBACE,KAAjCH,EAAe9+B,QAAQC,QAG9B++B,EAAUh/B,QAAQE,UAAW,GAF7B4+B,EAAe9+B,QAAQ6Q,MAAMouB,OAAS,KAyBAr+B,IAAKk+B,EAAgBhgC,KAAK,WAAWiC,UAAU,EAC1EX,UAAU,gBAErB,sBAAKA,UAAU,kDAAf,UACI,qBAAKA,UAAU,sCAAsCuQ,QArD9C,WACf0sB,EAAS,eAoDD,kBACA,uBAAOz8B,IAAKo+B,EAAWlgC,KAAK,SAASsB,UAAU,oCACxCH,MAAM,oBC1Ddi/B,GAXG,WACd,OACI,sBAAK9+B,UAAU,8DAAf,UACI,qBAAKA,UAAU,iBAAiBe,KAAK,SAAS0P,MAAO,CAACwN,MAAO,OAAQC,OAAQ,QAA7E,SACI,sBAAMle,UAAU,kBAAhB,0BAEJ,qBAAKA,UAAU,yBAAf,+CCCN++B,GAAoB,CACtB,KAAQ,EACR,WAAc,EACd,aAAgB,EAChB,WAAc,GA0DHC,GAvDO,WAClB,MAA0BhsB,mBAAS,QAAnC,mBAAO1U,EAAP,KAAc2+B,EAAd,KACA,EAAkCjqB,mBAAS,IAA3C,mBAAOwrB,EAAP,KAAkBtB,EAAlB,KACM+B,EAAcngC,aAAY,SAAAR,GAAK,OAAIA,EAAM4gC,kBACzCx/B,EAAWC,cA6BjB,OAZAV,qBAAU,YACc,IAAhBggC,IACAhC,EAAS,gBACTl9B,YAAW,WACPL,EAAS,CACLhB,KAAMw/B,GACNv/B,QAAS,SAEd,QAER,CAACsgC,IAEU,eAAV3gC,EAEI,gCACI,cAAC,GAAD,CAAWiO,MAAO,EAAG0vB,SAAU8C,GAAkBzgC,KACjD,cAAC,GAAD,OAKR,gCACI,cAAC,GAAD,CAAWiO,MAAO,EAAG0vB,SAAU8C,GAAkBzgC,KACjD,sBAAK0B,UAAU,oBAAf,UACI,qBAAKA,UAAU,uBAAf,SAxCa,WACrB,OAAQ1B,GACJ,IAAK,aACD,OAAO,cAAC,GAAD,CAAW2+B,SAAUA,EAAUC,aAAcA,IAGxD,IAAK,eACD,OAAO,cAAC,GAAD,CAAaD,SAAUA,EAAUuB,UAAWA,IAGvD,IAAK,OACL,QACI,OAAO,cAAC,GAAD,CAAezB,WAAY,kBAAME,EAAS,kBA4BVkC,MACtB,IAAhBF,GACD,qBAAKj/B,UAAU,uEAAf,4FC/DHo/B,GAAc,CACzB,CAAEC,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,iBAAkBf,YAAa,MAC9C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,sBAAuBf,YAAa,MACnD,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,kCAAmCf,YAAa,MAC/D,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,yBAA0Bf,YAAa,MACtD,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,yBAA0Bf,YAAa,MACtD,CAAEe,YAAa,oBAAqBf,YAAa,MACjD,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,iBAAkBf,YAAa,MAC9C,CAAEe,YAAa,2BAA4Bf,YAAa,MACxD,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,iBAAkBf,YAAa,MAC9C,CAAEe,YAAa,mCAAoCf,YAAa,MAChE,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,qBAAsBf,YAAa,MAClD,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,oBAAqBf,YAAa,MACjD,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,mBAAoBf,YAAa,MAChD,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,mBAAoBf,YAAa,MAChD,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,mBAAoBf,YAAa,MAChD,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,uBAAwBf,YAAa,MACpD,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,2BAA4Bf,YAAa,MACxD,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,mBAAoBf,YAAa,MAChD,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,wBAAyBf,YAAa,MACrD,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,4BAA6Bf,YAAa,MACzD,CAAEe,YAAa,+BAAgCf,YAAa,MAC5D,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,wBAAyBf,YAAa,MACrD,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,kBAAmBf,YAAa,MAC/C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,cAAef,YAAa,MAC3C,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,OAAQf,YAAa,MACpC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,sBAAuBf,YAAa,MACnD,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,2BAA4Bf,YAAa,MACxD,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,uBAAwBf,YAAa,MACpD,CAAEe,YAAa,iBAAkBf,YAAa,MAC9C,CAAEe,YAAa,gBAAiBf,YAAa,MAC7C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,oBAAqBf,YAAa,MACjD,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,eAAgBf,YAAa,MAC5C,CAAEe,YAAa,YAAaf,YAAa,MACzC,CAAEe,YAAa,UAAWf,YAAa,MACvC,CAAEe,YAAa,oBAAqBf,YAAa,MACjD,CAAEe,YAAa,QAASf,YAAa,MACrC,CAAEe,YAAa,SAAUf,YAAa,MACtC,CAAEe,YAAa,WAAYf,YAAa,MACxC,CAAEe,YAAa,iBAAkBf,YAAa,OAC9C,CAAEe,YAAa,aAAcf,YAAa,MAC1C,CAAEe,YAAa,4BAA6Bf,YAAa,OC1N5CgB,GAbK,WAMhB,OACI,mCALOF,GAAY55B,KAAI,SAAC+H,GACpB,OAAO,wBAAQ1N,MAAO0N,EAAQ+wB,YAAvB,SAAqC/wB,EAAQ8xB,oB,oBC+KjDE,I,MA3KK,SAAC,GAAqD,IAAD,EAAnDC,EAAmD,EAAnDA,YAAaC,EAAsC,EAAtCA,SAAU1C,EAA4B,EAA5BA,WAAY2C,EAAgB,EAAhBA,WAC/CC,EAAU7gC,aAAY,SAAAR,GAAK,OAAIA,EAAMu/B,OACrCoB,EAAcngC,aAAY,SAAAR,GAAK,OAAIA,EAAM4gC,kBACzCx/B,EAAWC,cAEjB,EAA8BqT,oBAAS,GAAvC,mBAAOod,EAAP,KAAgBvC,EAAhB,KACM7B,EAAezsB,iBAAO,MACtB0sB,EAAc1sB,iBAAO,MACrBknB,EAAWlnB,iBAAO,MAElBqgC,EAAcrgC,iBAAO,MACrBsgC,EAAqBtgC,iBAAO,MAC5BugC,EAAUvgC,iBAAO,MAEvB,EAA8ByT,mBAAQ,iBAACysB,QAAD,IAACA,OAAD,EAACA,EAAUlyB,eAAX,QAAsB,MAA5D,mBAAOA,EAAP,KAAgBwyB,EAAhB,KACA,EAA0B/sB,mBAAQ,OAACysB,QAAD,IAACA,OAAD,EAACA,EAAUnyB,aAA7C,mBAAOqH,EAAP,KAAcqrB,EAAd,KAMA,EAA0BhtB,mBAAS,MAAnC,mBAAO5N,EAAP,KAAc66B,EAAd,KAEAhhC,qBAAU,WACN,GAAImG,EAAO,CACP,IAAIqqB,EAAQ1vB,YAAW,kBAAMkgC,EAAS,QAAO,KAC7C,OAAO,kBAAMjQ,aAAaP,OAE/B,CAACrqB,IAEJnG,qBAAU,WAAO,IAAD,UACZ+sB,EAAapsB,QAAQC,MAArB,iBAA6B4/B,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAUzoB,iBAAvC,QAAoD,GACpDiV,EAAYrsB,QAAQC,MAApB,iBAA4B4/B,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAUxoB,gBAAtC,QAAkD,GAClDwP,EAAS7mB,QAAQC,MAAjB,iBAAyB4/B,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAUr/B,aAAnC,QAA4C,GAC5Cw/B,EAAYhgC,QAAQC,MAApB,iBAA4B4/B,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAU36B,gBAAtC,QAAkD,GAClD+6B,EAAmBjgC,QAAQC,MAA3B,iBAAmC4/B,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAU36B,gBAA7C,QAAyD,KAC1D,CAAC26B,IAEJxgC,qBAAU,WACN,IAAImxB,GAAiC,OAAtBuP,EAAQ7B,UAKvB,OAAG1N,GAAWuP,EAAQ3B,UAClBiC,EAAS,oEACTpS,GAAW,IAIX8R,EAAQO,YACRD,EAAS,0CACTpS,GAAW,SAFf,EAVIkP,MAeL,CAAC4C,EAASvP,IAEbnxB,qBAAU,YACc,IAAhBggC,IACAl/B,YAAW,WACPL,EAAS,CAAChB,KAAMw/B,GAAcv/B,QAAS,SACxC,KACHshC,EAAS,wDAEd,CAAChB,IAiCJ,OACI,uBAAMj/B,UAAU,6BAA6BC,SA/B5B,SAACuQ,GNtCC,IAAClD,EMuCpBkD,EAAGrQ,iBAEHq/B,EAAY,6BACLC,GADI,IAEPzoB,UAAWgV,EAAapsB,QAAQC,MAChCoX,SAAUgV,EAAYrsB,QAAQC,MAC9BO,MAAOqmB,EAAS7mB,QAAQC,MACxB0N,QAASA,EACTD,YAAaqH,EACb7P,SAAU86B,EAAYhgC,QAAQC,SAGlCguB,GAAW,GACXnuB,GNpDoB4N,EMoDCqH,ENpDF,uCAAiB,WAAMjV,GAAN,SAAA+C,EAAA,6DACxC/C,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAaA,EAAawwB,UAAW,KAAM5kB,UAAU,EAAO8kB,UAAU,EAAOkC,YAAY,KAH/D,kBAMf57B,GAAU,CAACgJ,YAAa6wB,GAAS7wB,KANlB,cAOvBvL,KAAK2iB,QACdhlB,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAaA,EAAawwB,WAAW,EAAMC,aAAc,EAAG7kB,SAAU,KAAM8kB,UAAU,EAAOkC,YAAY,KAGvHxgC,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAaA,EAAawwB,WAAW,EAAOE,UAAU,EAAOkC,YAAY,KAfvD,gDAoBpCxgC,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAaA,EAAawwB,UAAW,KAAME,UAAU,KAtB/B,yDAAjB,yDMqEnB,UACI,qBAAKh+B,UAAU,cAAf,+BACA,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,wBACA,uBAAOQ,IAAKwrB,EAActtB,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEpE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,uBACA,uBAAOQ,IAAKyrB,EAAavtB,KAAK,OAAOiC,UAAU,EAAMX,UAAU,gBAEnE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,mBACA,uBAAOQ,IAAKimB,EAAU/nB,KAAK,QAAQiC,UAAU,EAAMX,UAAU,gBAEjE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,uDACA,wBAAQA,UAAU,uBAAuBW,UAAU,EAAMd,MAAO0N,EAASqE,SAAU,SAAAK,GAAC,OAAI8tB,EAAW9tB,EAAEnR,OAAOjB,QAA5G,SACI,cAAC,GAAD,SAGR,sBAAKG,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,0BACA,cAAC,KAAD,CACIuN,QAASA,EAAQod,cACjB9qB,MAAO8U,EACP/C,SA1GU,SAAC/R,GACvBmgC,EAASngC,IA0GGsgC,iBAAe,EACfC,oBAAoB,EACpBC,aAAa,GACbC,WAAY,CACR3/B,UAAU,GAEd4/B,eAAe,4BACfC,WAAW,wBACX//B,YAAY,GACZggC,qBAAqB,EACrBC,WAAY,CACRziB,MAAO,OACP0iB,WAAY,MACZC,SAAU,OACVC,UAAW,MACXC,QAAS,oBACTjC,OAAQ,oBACRkC,aAAc,MACd/d,MAAO,WAEXge,YAAa,CACTC,WAAY,oBAIxB,sBAAKjhC,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,sBACA,uBAAOQ,IAAKo/B,EAAalhC,KAAK,WAAWiC,UAAU,EAAMX,UAAU,gBAEvE,sBAAKA,UAAU,qBAAf,UACI,uBAAOA,UAAU,WAAjB,8BACA,uBAAOQ,IAAKq/B,EAAoBnhC,KAAK,WAAWiC,UAAU,EAAMX,UAAU,WAAW4R,SAvEzE,WACqB,KAArCiuB,EAAmBjgC,QAAQC,OAAgB+/B,EAAYhgC,QAAQC,QAAUggC,EAAmBjgC,QAAQC,OACpGigC,EAAQlgC,QAAQE,UAAW,EAC3B+/B,EAAmBjgC,QAAQ6Q,MAAMouB,OAAS,kBACE,KAArCgB,EAAmBjgC,QAAQC,QAGlCigC,EAAQlgC,QAAQE,UAAW,GAF3B+/B,EAAmBjgC,QAAQ6Q,MAAMouB,OAAS,UAqEtCz5B,GAAS,qBAAKpF,UAAU,6BAAf,SACJoF,IAGT,sBAAKpF,UAAU,kDAAf,UACI,qBAAKA,UAAU,sCAAsCuQ,QAASmvB,EAA9D,kBACA,uBAAOl/B,IAAKs/B,EAASphC,KAAK,SAASsB,UAAU,oCAAoCH,MAAM,gBAE1FuwB,GAAW,cAAC,GAAD,CAAgBtvB,OAAQ,iBC5FjCogC,GA/EW,SAAC,GAAkD,EAAjD1B,YAAkD,IAAtCC,EAAqC,EAArCA,SAAS1C,EAA4B,EAA5BA,WAAW2C,EAAiB,EAAjBA,WACpDC,EAAU7gC,aAAY,SAAAR,GAAK,OAAIA,EAAMu/B,OACrCn+B,EAAWC,cAEXwhC,EAAU5hC,iBAAO,MACvB,EAA8ByT,oBAAS,GAAvC,mBAAOod,EAAP,KAAgBvC,EAAhB,KACA,EAA0B7a,mBAAS,MAAnC,mBAAO5N,EAAP,KAAc66B,EAAd,KAkCA,OAxBAhhC,qBAAU,WACJmxB,GAAWuP,EAAQzmB,SACrB6jB,IAIE4C,EAAQO,WACVR,IAIEtP,GAAgC,OAArBuP,EAAQzmB,WAAsBymB,EAAQzmB,WACnD2U,GAAW,GACXoS,EAAS,iBAEV,CAACN,EAASvP,IAEbnxB,qBAAU,WACN,GAAImG,EAAO,CACP,IAAIqqB,EAAQ1vB,YAAW,kBAAMkgC,EAAS,QAAO,KAC7C,OAAO,kBAAMjQ,aAAaP,OAE/B,CAACrqB,IAGF,uBAAMpF,UAAU,iDAAiDC,SAhC9C,SAACuQ,GPoDiB,IAACzO,EAAM87B,EOnD5CrtB,EAAGrQ,iBAEH0tB,GAAW,GACXnuB,GPgDsCqC,EOhDH09B,EPgDS5B,EOhDCsD,EAAQvhC,QAAQC,MPgDxB,uCAAe,WAAMH,GAAN,mBAAA+C,EAAA,6DAC9C9D,EAAU,CACZiV,cAAe7R,EAAKiV,UAAY,IAAMjV,EAAKkV,SAC3C7W,MAAO2B,EAAK3B,MACZkN,YAAa6wB,GAASp8B,EAAKuL,aAC3BgxB,YAAav8B,EAAKwL,QAClBzI,SAAU/C,EAAK+C,SACf+4B,IAAKA,GAETn+B,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAavL,EAAKuL,YAAa4L,SAAU,KAAM8kB,UAAU,EAAOkC,YAAY,KAXtC,kBAc3B37B,GAAU,CAAC+I,YAAa3O,EAAQ2O,YAAauwB,IAAKA,IAdvB,YAc5C94B,EAd4C,QAenChD,KAAK2iB,QAf8B,iBAgB5ChlB,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAavL,EAAKuL,YAAa4L,UAAU,EAAM6kB,aAAc,EAAGC,UAAU,EAAOkC,YAAY,KAlB/D,+BAqB5CxgC,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAavL,EAAKuL,YAAa4L,UAAU,EAAO6kB,aAAch5B,EAAShD,KAAKq/B,kBAAmBpD,UAAU,EAC/GkC,WAAgD,IAApCn7B,EAAShD,KAAKq/B,qBAxBU,oFA6BhD1hC,EAAS,CACLhB,KAAMi/B,GACNh/B,QAAS,CAAC2O,YAAavL,EAAKuL,YAAa4L,UAAU,EAAOgnB,YAAY,KA/B1B,kCAoCpDxgC,EAAS,CACLhB,KAAMw/B,GACNv/B,QAAS,OAtCuC,oBAyC3B6F,GAAgB7F,GAzCW,QA2CxB,OAFpBoG,EAzC4C,QA2CnCygB,QAAsC,MAApBzgB,EAASygB,OACpC9lB,EAASY,GAAmB3B,EAAQyB,MAAOzB,EAAQmG,WAEnDpF,EAAS,CACLhB,KAAMw/B,GACNv/B,SAAS,IAhD+B,mDAoDhDe,EAAS,CACLhB,KAAMw/B,GACNv/B,SAAS,IAtDmC,kEAAf,yDOpBrC,UACE,qBAAKqB,UAAU,cAAf,sCACA,sBAAKA,UAAU,qBAAf,UACE,uBAAOA,UAAU,gCAAjB,4EACA,uBACEQ,IAAK2gC,EACLziC,KAAK,OACLiC,UAAU,EACVX,UAAU,kCAEZ,sBAAKA,UAAU,gCAAf,UAAgD2/B,EAAQ5B,aAAxD,yBAGF,gCAEM34B,GAAS,qBAAKpF,UAAU,6BAAf,SACJoF,IAGX,sBAAKpF,UAAU,kDAAf,UACE,qBACEA,UAAU,sCACVuQ,QAASmvB,EAFX,oBAMA,uBACEhhC,KAAK,SACLsB,UAAU,oCACVH,MAAM,iBAKTuwB,GAAW,cAAC,GAAD,CAAgBtvB,OAAQ,gBCxEpCugC,GACI,OADJA,GAEU,aAFVA,GAGkB,qBAHlBA,GAIU,YAGVC,GAAgB,CAACD,GAAaA,GAAmBA,GAA2BA,IAgDnEE,GA9CS,WACpB,IAAMtC,EAAcngC,aAAY,SAAAR,GAAK,OAAIA,EAAM4gC,kBAC/C,EAA0BlsB,mBAASquB,IAAnC,mBAAO/iC,EAAP,KAAc2+B,EAAd,KACA,EAAgCjqB,mBAAS,IAAzC,mBAAOysB,EAAP,KAAiBD,EAAjB,KAyBA,OANAvgC,qBAAU,YACc,IAAhBggC,GACAhC,EAASoE,MAEd,CAACpC,IAEA3gC,IAAU+iC,GAEN,gCACI,cAAC,GAAD,CAAW90B,MAAO+0B,GAAch6B,OAAQ20B,SAAUqF,GAAcloB,QAAQ9a,GAAS,IACjF,cAAC,GAAD,OAKR,gCACI,cAAC,GAAD,CAAWiO,MAAO+0B,GAAch6B,OAAQ20B,SAAUqF,GAAcloB,QAAQ9a,GAAS,IACjF,qBAAK0B,UAAU,oBAAf,SACI,qBAAKA,UAAU,uBAAf,SAlCa,WACrB,OAAQ1B,GACJ,KAAK+iC,GACD,OAAO,cAAC,GAAD,CAAa7B,YAAaA,EAAaC,SAAUA,EACpD1C,WAAY,kBAAME,EAASoE,KAA4B3B,WAAY,kBAAMzC,EAASoE,OAE1F,KAAKA,GACD,OAAO,cAAC,GAAD,CAAmB7B,YAAaA,EAAaC,SAAUA,EAC9D1C,WAAY,WAAOE,EAASoE,KAAqB3B,WAAY,kBAAMzC,EAASoE,OAEhF,KAAKA,GACL,QACI,OAAO,cAAC,GAAD,CAAetE,WAAY,kBAAME,EAASoE,QAsBVlC,WC3CxCqC,GAVW,SAAC,GAAmB,IAAD,IAAjB5M,eAAiB,MAAP,EAAO,EAGzC,OAFAh2B,IAEgB,IAAZg2B,EACO,cAAC,GAAD,IAEA,cAAC,GAAD,KCVF6M,GAA4B,4BCkE1BC,GAvDkB,WAC/B,IAAMjN,EAAW31B,aAAY,SAAAR,GAAK,OAAIA,EAAMo2B,kBACtCiN,EAAoB7iC,aAAY,SAAAR,GAAK,OAAIA,EAAMsjC,2BAC/CliC,EAAWC,cACXZ,EAAUC,wBACV4F,EAAW60B,yBAEjBx6B,qBAAU,WACRS,EAASstB,MACTttB,EAASq6B,MACT8H,MACC,IAGH5iC,qBAAU,WACQ,OAAbw1B,GACDqN,MAED,CAACrN,IAEJx1B,qBAAU,WACiB,OAAtB0iC,GACDG,MAED,CAACH,IAEJ,IAAMG,EAAW,WACfpiC,EAAS,CACPhB,KAAM0c,GACNzc,QAAS8a,GAA2Bwb,MAEtCl2B,EAAQ63B,QAAQ,CAAC0E,SAAU,qBAGvBuG,EAAU,WACd,ICzCkCE,EDyC5BrI,EAAc,IAAIC,gBAAgB/0B,EAASg1B,QAE7CF,EAAYG,IAAI,SAEhBn6B,GC7C8BqiC,ED6CCrI,EAAY73B,IAAI,QC7ClB,uCAAU,WAAMnC,GAAN,iBAAA+C,EAAA,+EAEhByB,GAA0B,CAC7C89B,kBAAmBD,IAHgB,OAEjCh9B,EAFiC,OAKjC2vB,EAAiB3a,GACnBhV,EAAShD,KAAK3B,MACd2E,EAAShD,KAAKiX,UACdjU,EAAShD,KAAKrB,KACdqE,EAAShD,KAAKgX,YACdhU,EAAShD,KAAKmX,UAGlBxZ,EAAS,CACLhB,KAAM61B,GACN51B,QAAS+1B,IAEbh1B,EAAS,CACLhB,KAAM+iC,GACN9iC,SAAS,IAnB0B,gDAsBvCwG,QAAQC,MAAR,MACA1F,EAAS,CACLhB,KAAM+iC,GACN9iC,SAAS,IAzB0B,yDAAV,wDD8C7BI,EAAQ63B,QAAQ,CACZgD,OAAQ,MAGdkI,KAIJ,OACE,sBAAK9hC,UAAU,wBAAf,UACE,cAAC,GAAD,CAAgBc,OAAQ,0BAD1B,QE1BWmhC,GA5Be,WAC5B,IAAM1jC,EAAgBO,YAAYT,GAC5BU,EAAUC,uBACVU,EAAWC,cASjB,OAPAV,qBAAU,WACgB,OAAlBV,IACKA,EAAcW,QACfH,EAAQI,KAAK,8BAEtB,CAACZ,EAAeQ,IAGf,qBAAKiB,UAAU,mEAAf,SACE,sBAAKA,UAAU,yBAAf,UACE,mBAAGA,UAAU,UAAUyQ,MAAO,CAACyxB,SAAU,SAAzC,sGAGA,wBACE3xB,QAAS,kBAAM7Q,EAAS+E,OACxBzE,UAAU,kCAFZ,2BCMKmiC,OAnBf,WACI,OACI,mCACI,cAAC,IAAD,UACI,eAAC,SAAD,WACI,cAAC,QAAD,CAAOC,OAAK,EAACC,KAAK,SAAS/uB,UAAWooB,KACtC,cAAC,GAAD,CAAgB0G,OAAK,EAACC,KAAK,0BAA0B/uB,UAAW2uB,KAChE,cAAC,GAAD,CAAgBG,OAAK,EAACC,KAAK,yBAAyB/uB,UAAWouB,KAC/D,cAAC,GAAD,CAAgBU,OAAK,EAACC,KAAK,kBAAkB/uB,UAAWmnB,KACxD,cAAC,QAAD,CAAO2H,OAAK,EAACC,KAAK,UAAU/uB,UAAW,kBAAM,cAAC,GAAD,CAAmBshB,QAAS,OACzE,cAAC,QAAD,CAAOyN,KAAK,IAAZ,SACI,cAAC,WAAD,CAAUhH,GAAG,qB,kBCQtBiH,gBAAgB,2BAC3BhK,kBC7BW,WAA2B,IAA1Bh6B,IAAyB,yDAAXG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKy5B,GACD,OAAO15B,EAAOE,QAClB,QACI,OAAOL,IDyBfuQ,mBE7BW,WAA2B,IAA1BvQ,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKy6B,GACD,OAAO16B,EAAOE,QAClB,QACI,OAAOL,IFyBfO,YG/BW,WAA2B,IAA1BP,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKU,EACD,OAAOX,EAAOE,QAClB,QACI,OAAOL,IH2Bfk6B,kBI/BW,WAAmD,IAAlDl6B,EAAiD,uDAAzCmb,KAA8Bhb,EAAW,uCAC7D,OAAQA,EAAOC,MACX,KAAK0c,GACD,OAAO3c,EAAOE,QAClB,QACI,OAAOL,IJ2BfqQ,gBKjCW,WAA2B,IAA1BrQ,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKwe,GACD,OAAOze,EAAOE,QAClB,QACI,OAAOL,IL6BfmQ,eMlCW,WAA2B,IAA1BnQ,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKquB,GACD,OAAOtuB,EAAOE,QAClB,QACI,OAAOL,IN8BfuyB,gBOnCW,WAA2B,IAA1BvyB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK06B,GACD,OAAO36B,EAAOE,QAClB,QACI,OAAOL,IP+Bf+vB,8BQpCW,WAA2B,IAA1B/vB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK8uB,GACD,OAAO/uB,EAAOE,QAClB,QACI,OAAOL,IRgCf0rB,sBSrCW,WAA2B,IAA1B1rB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKikB,GACD,OAAOlkB,EAAOE,QAClB,QACI,OAAOL,ITiCf0lB,6BUtCW,WAA8C,IAA7C1lB,EAA4C,uDAApCgmB,GAAmBuF,KAAMprB,EAAW,uCACxD,OAAQA,EAAOC,MACX,KAAKwmB,GACD,OAAOzmB,EAAOE,QAClB,QACI,OAAOL,IVkCfikC,gBWvCW,WAA2B,IAA1BjkC,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKysB,GACD,OAAO1sB,EAAOE,QAClB,QACI,OAAOL,IXmCf4gC,eYxCW,WAA2B,IAA1B5gC,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKw/B,GACD,OAAOz/B,EAAOE,QAClB,QACI,OAAOL,IZoCf2jB,anEzCW,WAA2B,IAA1B3jB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKouB,GACD,OAAOruB,EAAOE,QAClB,QACI,OAAOL,ImEqCfgU,yBpC1CW,WAA2B,IAA1BhU,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK26B,GACD,OAAO56B,EAAOE,QAClB,QACI,OAAOL,IoCsCfy5B,gBhI3CW,WAA2B,IAA1Bz5B,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK8S,GACD,OAAO/S,EAAOE,QAClB,QACI,OAAOL,IgIuCfqZ,U3G5CW,WAA2B,IAA1BrZ,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKkgB,GACD,OAAOngB,EAAOE,QAClB,QACI,OAAOL,I2GwCf0qB,YzF7CW,WAA2B,IAA1B1qB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK+oB,GACD,OAAOhpB,EAAOE,QAClB,QACI,OAAOL,IyFyCfuoB,atF9CW,WAA2B,IAA1BvoB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKupB,GACD,OAAOxpB,EAAOE,QAClB,QACI,OAAOL,IsF0CfitB,oBxE/CW,WAA2B,IAA1BjtB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKqsB,GACD,OAAOtsB,EAAOE,QAClB,QACI,OAAOL,IwE2Cfg1B,evEhDW,WAA2B,IAA1Bh1B,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKssB,GACD,OAAOvsB,EAAOE,QAClB,QACI,OAAOL,IuE4CfmrB,e9EjDW,WAA2B,IAA1BnrB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK2qB,GACD,OAAO5qB,EAAOE,QAClB,QACI,OAAOL,I8E6Cf6qB,WjClDW,WAA2B,IAA1B7qB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKo7B,GACD,OAAOr7B,EAAOE,QAClB,QACI,OAAOL,IiC8Cfo2B,enDnDW,WAA2B,IAA1Bp2B,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK61B,GACD,OAAO91B,EAAOE,QAClB,QACI,OAAOL,ImD+CfsjC,wBLpDW,WAA2B,IAA1BtjC,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAK+iC,GACD,OAAOhjC,EAAOE,QAClB,QACI,OAAOL,IKgDf8hB,iB/BrDW,WAA2B,IAA1B9hB,EAAyB,uDAAjB,KAAMG,EAAW,uCACrC,OAAQA,EAAOC,MACX,KAAKs7B,GACD,OAAOv7B,EAAOE,QAClB,QACI,OAAOL,I+BiDfu/B,IhB5CW,WAAmC,IAAlCv/B,EAAiC,uDAAzBs/B,GAAcn/B,EAAW,uCAC7C,OAAQA,EAAOC,MACX,KAAKi/B,GACD,OAAO,6BAAIr/B,GAAUG,EAAOE,SAChC,QACI,OAAOL,KgBwCZkkC,GACAC,KalDDC,GAAQC,aAAYC,GAAUC,aAAgBC,OAEpDC,IAASnP,OACL,cAAC,IAAMoP,WAAP,UACI,cAAC,IAAD,CAAUN,MAAOA,GAAjB,SACI,cAAC,GAAD,QAGRlkB,SAASoG,eAAe,W","file":"static/js/main.effe2ab9.chunk.js","sourcesContent":["export const PARTNER_ACTIVE = \"PARTNER_ACTIVE\";\n\nconst initialState = null; \n/*\n{\n active: boolean,\n}\n*/\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case PARTNER_ACTIVE:\n return action.payload;\n default:\n return state;\n }\n}\n\nconst storeMapping = {partnerActive: reducer};\n\nexport const partnerActiveSelector = (state) => state.partnerActive;\n\nexport default storeMapping;\n","import { useSelector } from \"react-redux\";\nimport { partnerActiveSelector } from \"../../Reducers/partnerActiveReducer\";\nimport { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\n\nexport function useLoginSuccess() {\n const passMatched = useSelector(state => state.passMatched);\n const partnerActive = useSelector(partnerActiveSelector);\n const history = useHistory();\n\n useEffect(() => {\n if (passMatched && partnerActive !== null) {\n if (partnerActive.active) history.push(\"/partner-portal\");\n else history.push(\"/partner-portal/welcome\");\n }\n }, [partnerActive, passMatched, history]);\n\n return passMatched;\n}","import React, {useEffect, useRef} from \"react\";\nimport {useDispatch } from \"react-redux\";\nimport verifyEmailAndPass from \"../../Actions/loginAction\";\nimport { useLoginSuccess } from \"../Hook/useLoginSuccess\";\n\nconst EMAIL_OR_PASS_MATCHED = \"EMAIL_OR_PASS_MATCHED\";\n\nconst LoginForm = () => {\n const emailInputRef = useRef(null);\n const passInputRef = useRef(null);\n const loginRef = useRef(null);\n const passMatched = useLoginSuccess();\n const dispatch = useDispatch();\n const formSubmitBtnClicked = (event) => {\n event.preventDefault();\n const email = emailInputRef.current.value;\n const pass = passInputRef.current.value;\n loginRef.current.value = \"Signing In\";\n loginRef.current.disabled = true;\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: null});\n dispatch(verifyEmailAndPass(email, pass));\n }\n\n useEffect(() => {\n if (passMatched === false) {\n loginRef.current.value = \"Sign In\";\n loginRef.current.disabled = false;\n setTimeout(() => {\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: null});\n }, 10000);\n }\n }, [passMatched, dispatch])\n\n return (\n
\n
\n
Partner Sign In
\n
\n
\n \n \n
\n
\n \n \n
\n
\n By clicking Sign In, you agree to Shipday's  \n Terms of Service\n   and acknowledge our  \n privacy policy\n \n
\n
\n \n
\n
\n
\n
Not a partner? Sign\n Up
\n {passMatched === false &&\n
\n The email or password you entered is incorrect\n
}\n
\n );\n}\n\nexport default LoginForm;\nexport {EMAIL_OR_PASS_MATCHED};\n","const JWT_TOKEN = \"JWT_TOKEN\"\n\nconst storeJwtToken = token => {\n localStorage.setItem(JWT_TOKEN, token);\n}\n\nconst getJwtToken = () => {\n return localStorage.getItem(JWT_TOKEN);\n}\n\nconst clearJwtToken = () => {\n localStorage.removeItem(JWT_TOKEN);\n}\n\nexport {getJwtToken, storeJwtToken, clearJwtToken};\n","import {getJwtToken} from \"./localCache\";\n\nexport const getConfigWithAuth = () => {\n return {\n headers: {\n \"Content-type\": \"application/json\",\n \"Authorization\": `Bearer ${getJwtToken()}`,\n },\n dataType: \"application/json\"\n }\n}\n\nexport const getConfigWithoutAuth = () => {\n return {dataType: \"application/json\"}\n}\n","import axios from \"axios\";\n\nconst baseURL = \"https://api.shipday.com\"\n\nexport default axios.create({\n baseURL: baseURL\n});\n","import axios from \"axios\";\n\nconst baseURL = \"https://subscription.shipday.com\"\n\nexport default axios.create({\n baseURL: baseURL\n});\n","import axios from \"axios\";\n\nconst baseURL = \"https://report.shipday.com\"\n\nexport default axios.create({\n baseURL: baseURL\n});\n","import {getConfigWithAuth} from \"./APIReqHelper\";\nimport apiClient from \"./apiClient\"\nimport paymentAPIClient from \"./paymentAPIClient\";\nimport reportAPIClient from \"./reportAPIClient\";\n\nexport const getJSON = (url) => {\n return apiClient.get(url, getConfigWithAuth());\n}\n\nexport const postJSON = (url, data) => {\n return apiClient.post(url, data, getConfigWithAuth());\n}\n\nexport const putJSON = (url, data) => {\n return apiClient.put(url, data, getConfigWithAuth())\n}\n\nexport const paymentPostJSON = (url, data) => {\n return paymentAPIClient.post(url, data, getConfigWithAuth());\n}\n\nexport const paymentGetJSON = (url) => {\n return paymentAPIClient.get(url, getConfigWithAuth());\n}\n\nexport const paymentPutJSON = (url, data) => {\n return paymentAPIClient.put(url, data, getConfigWithAuth());\n}\n\nexport const paymentDelJSON = (url) => {\n return paymentAPIClient.delete(url, getConfigWithAuth());\n}\n\nexport const reportGetJSON = (url) => {\n return reportAPIClient.get(url, getConfigWithAuth());\n}\n","import {\n getJSON,\n paymentDelJSON,\n paymentGetJSON,\n paymentPostJSON,\n paymentPutJSON,\n postJSON,\n reportGetJSON\n} from \"./requests\";\n\nexport const findPartnerLoginInfo = async (data) => await paymentPostJSON('/payment/partners/login', data);\nexport const findPartnerBilling = async () => await getJSON('/partner/billing-details');\nexport const findPartnerDetails = async () => await paymentGetJSON('/payment/partners/details');\nexport const findPartnerAccounts = async () => await getJSON('/partner/accounts');\nexport const updatePartnerPassword = async (data) => await paymentPutJSON('/payment/partners/details/update', data);\nexport const findPartnerPayments = async () => await paymentGetJSON('/payment/partners/users/charges');\nexport const findPartnerPaymentsCard = async () => await paymentGetJSON('/payment/partners/users');\nexport const addPartnerPaymentCard = async (data) => await paymentPutJSON('/payment/partners/users/card', data);\nexport const createPartnerPaymentUser = async () => await paymentPostJSON('/payment/partners/users');\nexport const updatePartnerPaymentCard = async (data) => await paymentPutJSON('/payment/partners/users/card', data);\nexport const removePartnerPaymentCard = async () => await paymentDelJSON('/payment/partners/users/card');\nexport const updatePartnerBankInfo = async (data) => await paymentPostJSON('/payment/partners/stripe/connect', data);\nexport const addNewPartner = async (data) => await paymentPostJSON('/payment/partners/add', data);\nexport const findReferralLink = async () => await paymentGetJSON('/payment/partners/invitation-link');\nexport const getPayoutsInfo = async () => await paymentGetJSON('/payment/partners/payouts/v2');\nexport const findThirdPartyWeeklyBillingDetails = async () => await paymentGetJSON('/payment/third-party/weekly-billing');\nexport const findPartnerCompanyPlanUpgrade = async (data) => await paymentPutJSON('/payment/partner/customer/plan', data);\nexport const findStoreExtendedReport = async (id, date) => await reportGetJSON('/partner/company-specific-orders?companyId=' + id + \"&date=\" + date);\nexport const findMagicLink = async (data) => await postJSON('/partner/access/account', data);\n\nexport const fetchACHBankInfo = async () => await paymentGetJSON('/payment/partners/ach');\nexport const initACH = async () => await paymentPostJSON(\"payment/partners/init/ach\", {});\nexport const findPayoutBankInfo = async () => await paymentGetJSON(\"payment/partners/stripe/connect\");\n\nexport const initPaypalConnect = async () => await paymentPostJSON('/paypal/partner/account/connect');\nexport const findPaypalInfo = async () => await paymentGetJSON('/paypal/partner/account');\nexport const findPaypalIdentity = async () => await paymentGetJSON('/paypal/partner/identity');\nexport const initPaypalIdentityConnect = async (data) => await paymentPostJSON('/paypal/partner/identity/connect', data);\nexport const deletePaypalIdentity = async () => await paymentDelJSON('/paypal/partner/identity');\n\nexport const findLastMonthBilling = async () => await paymentGetJSON(\"/payment/partners/last-month-billing\");\nexport const clearPartnerDues = async (id) => await paymentPutJSON(`/admin/charge/partners/clear/${id}`)\n\nexport const createOtp = async (data) => await paymentPostJSON(\"/payment/partners/phone/send-otp\", data);\nexport const verifyOtp = async (data) => await paymentPostJSON(\"/payment/partners/phone/verify-otp\", data);\nexport const createPartnerV2 = async (data) => await paymentPostJSON(\"/payment/partners/add/v2\", data);\n","import {EMAIL_OR_PASS_MATCHED} from '../Components/Login/loginForm';\nimport { PARTNER_ACTIVE } from '../Reducers/partnerActiveReducer';\nimport {clearJwtToken, storeJwtToken} from \"../Util/localCache\";\nimport {findPartnerLoginInfo} from \"../Util/queries\";\n\n\nconst verifyEmailAndPass = (email, pass) =>\n async (dispatch) => {\n try {\n let response = await findPartnerLoginInfo({email: email, password: pass})\n if (response?.data?.accessToken) {\n storeJwtToken(response.data.accessToken);\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: true});\n dispatch({type: PARTNER_ACTIVE, payload: {active: response.data.partnerActive}});\n } else {\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: false});\n }\n } catch (e) {\n console.error(e)\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: false});\n }\n }\n\n\nconst logout = () => async dispatch => {\n clearJwtToken();\n dispatch({type: EMAIL_OR_PASS_MATCHED, payload: null});\n window.location.reload(false);\n}\n\nexport default verifyEmailAndPass;\nexport {logout};\n","import React from \"react\";\n\nconst TableHeader = ({tableHeaderArr, option}) => {\n const getHeaders = () => {\n return tableHeaderArr.map((key, ind) => {\n return {key}\n })\n }\n return (\n \n \n {getHeaders()}\n \n \n )\n}\n\nexport default TableHeader;\n","export const PLAN_DISPLAY_NAMES = {\n STARTER: \"Starter\",\n PROFESSIONAL_LITE: \"Professional\",\n PROFESSIONAL_WITHOUT_SMS: \"Professional (without sms)\",\n PROFESSIONAL: \"Professional\",\n PROFESSIONAL_PLUS: \"Professional\",\n PROFESSIONAL_PLUS_WITHOUT_SMS: \"Professional (without sms)\",\n DOORDASH_FLEX_FULFILMENT: \"Doordash Flex Fulfilment\",\n ENTERPRISE: \"Enterprise\",\n TRIAL_PROFESSIONAL: \"Trial (professional)\",\n BRANDED_PREMIUM: \"Branded Premium\",\n BRANDED_PREMIUM_WITHOUT_SMS: \"Branded Premium (without sms)\",\n BRANDED_PREMIUM_PLUS: \"Branded Premium\",\n BRANDED_PREMIUM_CUSTOM: \"Branded Premium\",\n BRANDED_PREMIUM_MARKETING: \"Branded Premium\",\n BRANDED_ELITE: \"Branded Elite\",\n BRANDED_ELITE_LITE: \"Branded Elite\",\n BRANDED_ELITE_PLUS: \"Branded Elite\",\n BRANDED_ELITE_UNLIMITED: \"Branded Elite\",\n BUSINESS_ADVANCED: \"Business Advanced\",\n BUSINESS_ADVANCED_PLUS: \"Business Advanced\",\n}\n\nexport const PLAN_PAID_MAPPING = {\n \"Enterprise\": true,\n \"Business Advanced\": true,\n \"Branded Elite\": true,\n \"Branded Premium\": true,\n \"Branded Premium (without sms)\": true,\n \"Doordash Flex Fulfilment\": true,\n \"Professional\": true,\n \"Professional (without sms)\": true,\n \"Trial (professional)\": false,\n \"Starter\": false,\n}\n\nexport const planOrder = [\n \"Enterprise\",\n \"Business Advanced\",\n \"Branded Elite\",\n \"Branded Premium\",\n \"Branded Premium (without sms)\",\n \"Doordash Flex Fulfilment\",\n \"Professional\",\n \"Professional (without sms)\",\n \"Trial (professional)\",\n \"Starter\",\n]\n\nexport const getDisplayName = (plan) => {\n if (plan in PLAN_DISPLAY_NAMES)\n return PLAN_DISPLAY_NAMES[plan];\n else \n return plan;\n}","import React from \"react\";\nimport \"../../Stylesheets/index.css\";\nimport { PLAN_PAID_MAPPING } from \"../../Util/planHelper\";\n\nconst TableBody = ({tableBodyArr, option, errorText = \"No Data available\"}) => {\n\n const getTableRowCol = (colsArr, rowIndex) => {\n return colsArr.map((col, colIndex) => {\n if (colIndex === 5 && typeof col === \"string\" && (col in PLAN_PAID_MAPPING)) {\n return
{col}
;\n }\n else {\n return {col};\n }\n });\n }\n\n const getTableBodyRows = () => {\n if (tableBodyArr === null || tableBodyArr.length === 0) {\n return (\n \n {errorText}\n \n );\n }\n\n return tableBodyArr.map((row, rowIndex) => {\n let classNames = \"border-top\";\n if (option?.firstChildHighlight && rowIndex === 0) {\n classNames += \" fw-bold\";\n }\n return (\n \n {getTableRowCol(row, rowIndex)}\n \n )\n });\n }\n\n return (\n \n {getTableBodyRows()}\n \n )\n}\n\nexport default TableBody;\n","import React from \"react\";\nimport TableHeader from \"./tableHeader\";\nimport TableBody from \"./tableBody\";\n\nconst TableWrapper = ({tableHeaderArr, tableBodyArr, errorText, option}) => {\n let minWidthClass = \"min-width-md\";\n if (!option?.minWidth) minWidthClass = \"\";\n\n if (tableHeaderArr.length === 0 || tableBodyArr.length === 0) {\n return (\n
\n \n \n \n
\n
\n )\n }\n\n return (\n
\n \n \n \n
\n
\n )\n}\n\nexport default TableWrapper;\n","const MAX_EPOCH_SECONDS = 1e10;\n\nexport const parseDate = (rawDate) => {\n if (\n typeof rawDate === \"number\" ||\n (typeof rawDate === \"string\" && /^\\d+$/.test(rawDate))\n ) {\n const timestamp =\n typeof rawDate === \"number\" ? rawDate : parseInt(rawDate, 10);\n if (timestamp < MAX_EPOCH_SECONDS) {\n return new Date(timestamp * 1000);\n } else {\n return new Date(timestamp);\n }\n } else if (typeof rawDate === \"string\") {\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(rawDate)) {\n console.log(\"new branch\", rawDate);\n const [year, month, day] = rawDate.split('-').map(Number);\n return new Date(year, month - 1, day);\n }\n return new Date(rawDate);\n } else if (rawDate instanceof Date) {\n return rawDate;\n }\n throw new Error(\"Unsupported date format\");\n};\n\nexport const DATE_FORMATS = {\n DD_MMMc_YYYY: \"DD_MMMc_YYYY\",\n}\n\nexport const formatDate = (date, format) => {\n date = parseDate(date);\n switch (format) {\n case DATE_FORMATS.DD_MMMc_YYYY:\n const day = date.getDate();\n const month = date.toLocaleString('default', { month: 'short' });\n const year = date.getFullYear();\n return `${day} ${month}, ${year}`;\n default:\n return date.toLocaleString();\n }\n}\n","import { parseDate } from \"./dateHelpers\";\n\nconst getDataByMonth = (targetMonth, targetYear, data) => {\n return data.filter((elem) => {\n return checkMonth(elem.startDate, targetMonth, targetYear);\n });\n}\n\nconst checkMonth = (date, targetMonth, targetYear) => {\n targetMonth = targetMonth + \"\";\n targetYear = targetYear + \"\";\n let elemDate = new Date(date);\n let elemMonth = elemDate.getMonth() + \"\";\n let elemYear = elemDate.getFullYear() + \"\";\n if (elemMonth == targetMonth && elemYear === targetYear)\n return true;\n return false\n}\n\nexport default getDataByMonth;\n\nexport function calculateAmountAfterDiscount(amount, discount) {\n let payableAmount = (amount - discount * amount / 100);\n return payableAmount.toFixed(2);\n}\n\nexport function getDiscountAmount(amount, discount) {\n let discountAmount = discount * amount / 100;\n return discountAmount.toFixed(2);\n}\n\nexport function getUniqueAccountsObj(arr) {\n let accountsObj = {};\n arr.forEach((a) => {\n let {companyId, companyName, companyAddress, email, phone, dispatcherId, ...billingInfo} = a;\n if (accountsObj[companyId] === undefined) {\n accountsObj[companyId] = {companyId, companyName, companyAddress, email, phone, dispatcherId};\n accountsObj[companyId].billingArr = [];\n }\n accountsObj[a.companyId].billingArr.push(billingInfo);\n });\n return accountsObj;\n}\n\nexport const sortTableByMonth = (prevCom, curCom) => {\n let prevDate = \"1 \" + prevCom[0];\n let curDate = \"1 \" + curCom[0]\n return sortByMonth(prevDate, curDate);\n}\n\nexport const sortByMonth = (prev, cur) => {\n let prevMonth = new Date(prev);\n let curMonth = new Date(cur);\n return curMonth.getTime() - prevMonth.getTime();\n}\n\nexport const isCurrentMonth = (date) => {\n const currentDate = new Date();\n const targetDate = new Date(date);\n return targetDate.getMonth() === currentDate.getMonth() && targetDate.getFullYear() === currentDate.getFullYear();\n}\n\nexport const isLastMonth = (date) => {\n const currentDate = new Date();\n const targetDate = parseDate(date);\n console.log(\"parsing date\", date, targetDate);\n if (targetDate.getFullYear() === currentDate.getFullYear())\n return targetDate.getMonth() === currentDate.getMonth() - 1;\n else \n return currentDate.getMonth() === 0 && targetDate.getMonth() === 11 && targetDate.getFullYear() === currentDate.getFullYear() - 1;\n}\n","export const getShortDate = (dateObj) => {\n dateObj = new Date(dateObj.getTime() - dateObj.getTimezoneOffset() * -60000);\n\n if (dateObj) {\n let options = {year: 'numeric', month: 'short'};\n return dateObj.toLocaleString(\"en-US\", options);\n }\n}\n\nexport const getFullDate = (dateObj) => {\n if (typeof dateObj === \"string\") dateObj = new Date(dateObj);\n if (isNaN(dateObj.getTime())) {\n return \"N/A\";\n }\n\n dateObj = new Date(dateObj.getTime() - dateObj.getTimezoneOffset() * -60000);\n\n if (dateObj) {\n let options = {year: 'numeric', month: 'short', day: \"numeric\"};\n return dateObj.toLocaleString(\"en-US\", options);\n }\n}\n\nexport const calculateDiscountAmount = (amount, discount) => {\n let discountAmount = (amount * discount) / 100;\n return discountAmount.toFixed(2)\n}\n\nexport const calculatePaidDiscountAmount = (data, discount) => {\n let totalDiscountAmount = 0.00;\n data.forEach((entry) => {\n if (entry.isPaid === true) {\n totalDiscountAmount += parseFloat(calculateDiscountAmount(parseFloat(entry.billableAmount), discount));\n }\n })\n return totalDiscountAmount.toFixed(2);\n}\n\nexport const createTableHeadersAndData = (data, columnConfigs) => {\n let tableHeaders = columnConfigs.map(config => config.name);\n let tableData = (data ?? []).map((entry, index) => columnConfigs.map(config => config.dataFunc(entry, index)));\n return {headers: tableHeaders, data: tableData};\n}","export default __webpack_public_path__ + \"static/media/sd-download.eb3c63b3.svg\";","//Date, Company name, delivery fees, tips, third party total, paid, unpaid for csv\n\nimport downloadIcon from \"../../Resources/Image/sd-download.svg\";\n\nconst csvRowHeader = [\"Date\", \"Company Name\", \"Delivery Fees($)\", \"Tips($)\", \"Third Party Total($)\", \"Paid Amount($)\", \"Outstanding Amount($)\"];\n\nexport const getThirdPartyUsageCSVDataLink = (fileName, date, weeklyBillingData, accountData) => {\n fileName += \".csv\";\n let blob = new Blob([createCSVRows(date, weeklyBillingData, accountData)], {type: \"text/csv\"});\n let url = window.URL.createObjectURL(blob);\n return ;\n}\n\nconst createCSVRows = (date, weeklyBillingData, accountData) => {\n let rowString = csvRowHeader.join(\",\");\n rowString += \"\\n\";\n weeklyBillingData.forEach((entry) => {\n let row = [];\n let companyName = sanitize(accountData[entry.companyId].companyName);\n let delivery = Number(entry.deliveryFeeAmount).toFixed(2);\n let tips = Number(entry.tipsAmount).toFixed(2);\n let total = Number(entry.totalAmount).toFixed(2);\n let paid = Number(entry.paidAmount).toFixed(2);\n let unpaid = Number(entry.unpaidAmount).toFixed(2);\n row.push(date, companyName, delivery, tips, total, paid, unpaid);\n let newRow = row.join(\",\");\n rowString += newRow + \"\\r\\n\";\n })\n return rowString;\n}\n\nexport const sanitize = (str) => {\n return str.replaceAll(\",\", \" \");\n}\n","import {calculateDiscountAmount} from \"./commonHelper\";\nimport {calculateAmountAfterDiscount} from \"../filter\";\nimport downloadIcon from \"../../Resources/Image/sd-download.svg\"\nimport {sanitize} from \"./thirdPartyUsageCSVDownloadHelper\";\n\nconst csvRowHeader = [\"Company Name\", \"Admin Name\", \"Admin Email\", \"Phone Number\", \"Country\", \"Current Plan\", \"Total Orders\", \"Total Paid Orders\", \"Total Amount($)\", \"Discount Amount($)\", \"Total Payable Amount($)\"];\n\nexport const getUsageCSVDataLink = (fileName, paymentData, accountData, discount) => {\n fileName += \".csv\";\n let blob = new Blob([createCSVRows(paymentData, accountData, discount)], {type: \"text/csv\"});\n let url = window.URL.createObjectURL(blob);\n return ;\n}\n\nconst createCSVRows = (paymentData, accountData, discount) => {\n let rowString = csvRowHeader.join(\",\");\n rowString += \"\\n\";\n paymentData.forEach((entry) => {\n let row = [];\n let accountDetails = accountData[entry.companyId];\n let discountAmount = calculateDiscountAmount(entry.billableAmount, discount);\n let paymentAfterDiscount = calculateAmountAfterDiscount(entry.billableAmount, discount);\n row.push(sanitize(accountDetails.companyName), accountDetails.adminName, accountDetails.email, accountDetails.phoneNumber, accountDetails.country, accountDetails.currentPlan, entry.numberOfOrders, entry.numberOfPaidOrders, entry.billableAmount, discountAmount, paymentAfterDiscount);\n let newRow = row.join(\",\");\n rowString += newRow + \"\\r\\n\";\n })\n return rowString;\n}\n\n\n\n","import {calculateAmountAfterDiscount, sortTableByMonth} from \"../filter\";\nimport {getUsageCSVDataLink} from \"./usageCsvDownloadHelper\";\nimport {calculateDiscountAmount, getShortDate} from \"./commonHelper\";\n\nexport const getUsageTable = (monthsBasedData, discount, accountData) => {\n let tableRowsArr = [];\n for (const month in monthsBasedData) {\n let tableCol = [];\n let dateObj = new Date(month);\n tableCol.push(getShortDate(dateObj));\n let totalNumberOfAccountsForTheMonth = countOfAccountForThatMonth(dateObj, accountData.getAccountsArray());\n tableCol.push(totalNumberOfAccountsForTheMonth);\n let totalNumberOfBilledAcc = monthsBasedData[month].billedAccountsCount;\n tableCol.push(totalNumberOfBilledAcc);\n let total = monthsBasedData[month].totalBillingAmount.toFixed(2);\n tableCol.push(total);\n let discountAmount = calculateDiscountAmount(total, discount);\n tableCol.push(discountAmount);\n let amountDue = calculateAmountAfterDiscount(total, discount);\n tableCol.push(amountDue);\n let downloadCSV = getUsageCSVDataLink(\"details_\" + month, monthsBasedData[month].billingInfos, accountData.getAccountsObj(), discount);\n tableCol.push(downloadCSV);\n tableRowsArr.push(tableCol);\n }\n return tableRowsArr.sort(sortTableByMonth);\n}\n\nconst countOfAccountForThatMonth = (month, accountData) => {\n let totalAccountCount = 0;\n let targetMonthDateObj = new Date(month);\n accountData.forEach((account) => {\n let accountMemberSinceDateObj = new Date(account.memberSince);\n if (isNaN(accountMemberSinceDateObj.getTime())) totalAccountCount++;\n else if (checkIfCreatedBefore(accountMemberSinceDateObj, targetMonthDateObj)) {\n totalAccountCount++;\n }\n });\n return totalAccountCount;\n}\n\nconst checkIfCreatedBefore = (toBeCheckedDateObj, targetDateObj) => {\n if (targetDateObj.getFullYear() > toBeCheckedDateObj.getFullYear()) return true;\n else if (targetDateObj.getFullYear() === toBeCheckedDateObj.getFullYear()) {\n if (targetDateObj.getMonth() >= toBeCheckedDateObj.getMonth()) return true;\n }\n return false;\n}\n","import React from \"react\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {useSelector} from \"react-redux\";\nimport {getUsageTable} from \"../../Util/TableHelpers/usageTableHelper\";\n\nconst UsageTableHeaders = [\"Service Period\", \"Total Number of Accounts\", \"Total Number of Billed Accounts\", \"Total Usage Cost($)\", \"Total Discount($)\", \"Amount Due($)\", \"Details\"]\n\nconst UsageTableSection = () => {\n const partnerDetails = useSelector(state => state.partnerDetails);\n const partnerAccountsObj = useSelector(state => state.partnerAccounts);\n const billingDataObj = useSelector(state => state.partnerBillingData);\n\n if (billingDataObj === null || partnerDetails == null || partnerAccountsObj == null)\n return (\n
\n \n
\n )\n\n const tableBodyArr = getUsageTable(billingDataObj.billingFormattedObj, partnerDetails.billingDiscountAmount, partnerAccountsObj);\n UsageTableHeaders[4] = \"Total Discount($)\" + ` (${partnerDetails.billingDiscountAmount}%)`;\n\n return (\n
\n \n
\n )\n}\n\nexport default UsageTableSection;\n\n","import React from \"react\";\n\nconst ComponentHeader = ({title, children}) => {\n return (\n
\n
{title}
\n {children}\n
\n )\n}\n\nexport default ComponentHeader;\n","import React, {useRef} from \"react\";\n\nconst SlidingTab = ({menuArr, selectedInd, setIndex, children, sibling}) => {\n const menuRef = useRef(null);\n\n const setMenuStyleProp = (ev) => {\n menuRef.current.style.setProperty('--underline-width', `${ev.target.offsetWidth}px`);\n menuRef.current.style.setProperty('--underline-offset-x', `${ev.target.offsetLeft - ev.target.parentNode.offsetLeft}px`);\n }\n\n const getMenus = () => {\n return menuArr.map((menu, ind) => {\n return ( {\n setIndex(ind);\n setMenuStyleProp(ev)\n }}>{menu});\n });\n }\n\n return (\n
\n
\n
\n
\n {getMenus()}\n
\n
\n
\n {sibling}\n
\n
\n {children}\n
\n
\n )\n}\n\nexport default SlidingTab;\n","export const getLast6Months = (monthList = []) => {\n let sorted = monthList.sort((a, b) => {\n let m1 = a.split(\"-\");\n let m2 = b.split(\"-\");\n\n if (Number(m1[0]) !== Number(m2[0])) return (Number(m2[0]) - Number(m1[0]));\n else return (Number(m2[1]) - Number(m1[1]));\n });\n\n return sorted.splice(0, 6);\n}\n\nexport const getCSVDownload = (orders) => {\n const headers = [\"Date\", \"Order No.\", \"Source\", \"Driver\", \"Distance\", \"Third Party Delivery Fee\", \"Third Party Tips\", \"Third Party Processing Fee\", \"Third Party Billable Amount\", \"Status\", \"Third Party Reference\"];\n let rowString = headers.join(\",\");\n rowString += \"\\n\";\n orders.forEach(order => {\n let row = [];\n let date = new Date(order.placementTime).toLocaleDateString('en', {\n day: 'numeric',\n month: 'short',\n year: 'numeric'\n });\n date = date.replace(\",\", \" \");\n row.push(date, order.orderNo, order.source, order.driver, order.distance, twoDigit(order.deliveryFee), twoDigit(order.tips), twoDigit(order.processingFee), twoDigit(order.totalBill), order.status, order.thirdPartyReference);\n let newRow = row.join(\",\");\n rowString += newRow + \"\\r\\n\";\n });\n return rowString;\n}\n\nconst twoDigit = (val) => {\n if (isNaN(Number(val))) {\n return val;\n }\n return Number(val).toFixed(2);\n}","export const STORE_USAGE_MONTH = \"STORE_USAGE_MONTH\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case STORE_USAGE_MONTH:\n return action.payload;\n default:\n return state;\n }\n}\n","import React, {useEffect} from \"react\";\nimport {getShortDate} from \"../../Util/TableHelpers/commonHelper\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {getLast6Months} from \"../../Util/TableHelpers/storeUsageHelper\";\nimport {STORE_USAGE_MONTH} from \"../../Reducers/storeUsageMonthReducer\";\n\nconst MonthSelector = () => {\n const billingDataObj = useSelector(state => state.partnerBillingData);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (billingDataObj !== null)\n dispatch({\n type: STORE_USAGE_MONTH,\n payload: getLast6Months(Object.keys(billingDataObj.billingFormattedObj))[0]\n });\n }, [billingDataObj]);\n\n const getOptions = () => {\n let monthList = getLast6Months(Object.keys(billingDataObj.billingFormattedObj));\n return monthList.map((month, ind) => {\n let dateObj = new Date(month);\n return ;\n })\n }\n\n const handleChange = (ev) => {\n dispatch({\n type: STORE_USAGE_MONTH,\n payload: ev.target.value\n });\n }\n\n if (billingDataObj === null) return <>;\n\n return (\n \n )\n}\n\nexport default MonthSelector;\n\n","import {getThirdPartyUsageCSVDataLink} from \"./thirdPartyUsageCSVDownloadHelper\";\n\nexport const getThirdPartyUsageTable = (weekBasedData, accountData) => {\n //Date, Company name, delivery fees, tips, third party total, paid, unpaid for csv\n // date, total billing, outstanding, details\n let tableRowArr = [];\n for (const week in weekBasedData) {\n let tableCol = [];\n let weekLastDate = getLastWeekDate(week);\n tableCol.push(weekLastDate);\n tableCol.push(weekBasedData[week].total);\n //tableCol.push(weekBasedData[week].totalPaid);\n tableCol.push(weekBasedData[week].outstandingAmount);\n let fileName = \"thirdParty_details_\" + weekLastDate;\n let downloadCSV = getThirdPartyUsageCSVDataLink(fileName, weekLastDate,\n weekBasedData[week].billingInfos, accountData);\n tableCol.push(downloadCSV);\n tableRowArr.push(tableCol);\n }\n return tableRowArr.sort(sortByWeek);\n}\n\nconst sortByWeek = (week1, week2) => {\n try {\n let w1 = new Date(week1[0]);\n let w2 = new Date(week2[0]);\n return w2.getTime() - w1.getTime();\n } catch (e) {\n return;\n }\n}\n\nconst getLastWeekDate = (weekStr) => {\n let lastWeekStr = weekStr.split(' - ')[1];\n let [year, month, date] = lastWeekStr.split('-');\n return date + \"/\" + month + \"/\" + year;\n}\n","import React from \"react\";\nimport {useSelector} from \"react-redux\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {getThirdPartyUsageTable} from \"../../Util/TableHelpers/thirdPartyUsageTable\";\n\nconst ThirdPartyTableHeaders = [\"Date\", \"Billing Amount($)\", \"Outstanding Balance($)\", \"Details\"];\n\nconst ThirdPartyTableSection = () => {\n const tableOption = {\n firstChildHighlight: true\n }\n\n const partnerDetails = useSelector(state => state.partnerDetails);\n const partnerAccountsObj = useSelector(state => state.partnerAccounts);\n const thirdPartyBillingDetails = useSelector(state => state.thirdPartyBillingDetails);\n\n if (thirdPartyBillingDetails == null || partnerDetails == null || partnerAccountsObj == null)\n return (\n
\n \n
\n )\n\n const tableBodyArr = getThirdPartyUsageTable(thirdPartyBillingDetails.weeklyBillingFormattedObj, partnerAccountsObj.getAccountsObj());\n\n return (\n
\n \n
\n )\n}\n\nexport default ThirdPartyTableSection;\n","import React, {useState} from \"react\";\nimport UsageTableSection from \"./usageTableSection\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport SlidingTab from \"../CommonComponents/slidingTab\";\nimport MonthSelector from \"../Usage/monthSelector\";\nimport ThirdPartyTableSection from \"./thirdPartyTableSection\";\n\nconst BILLING_COMPONENT = \"BILLING_COMPONENT\";\n\nconst BillingPageWrapper = () => {\n const [selectedInd, setSelectedInd] = useState(0);\n\n const getChildren = () => {\n switch (selectedInd) {\n case 0:\n return ;\n\n case 1:\n return ;\n\n default:\n return ;\n }\n }\n\n return (\n <>\n \n
\n }/>\n
\n \n )\n}\n\nexport default BillingPageWrapper;\nexport {BILLING_COMPONENT};\n","import {calculateDiscountAmount} from \"./TableHelpers/commonHelper\";\nimport { parseDate } from \"./dateHelpers\";\nimport {calculateAmountAfterDiscount} from \"./filter\";\nimport { getDisplayName } from \"./planHelper\";\n\nexport const getTotalsForTheMonth = monthBasedDataArr => {\n let totalOrders = 0;\n let totalPaidOrders = 0;\n let totalBillingAmount = 0;\n let billedAccountsCount = 0;\n monthBasedDataArr.forEach(billingData => {\n totalOrders += billingData.numberOfOrders;\n totalPaidOrders += billingData.numberOfPaidOrders;\n totalBillingAmount += billingData.billableAmount;\n })\n billedAccountsCount = monthBasedDataArr.reduce((count, item) => {\n return item.billableAmount !== 0 ? count + 1 : count;\n }, 0);\n return {\n totalOrders, totalPaidOrders, totalBillingAmount, billedAccountsCount\n }\n}\n\nexport const getTotalThirdPartyOrdersByWeek = weekBasedDataArr => {\n let total = 0;\n let totalPaid = 0;\n let outstandingAmount = 0;\n let billedAccountsCount = 0;\n\n weekBasedDataArr.forEach((data) => {\n total += data.totalAmount;\n totalPaid += data.paidAmount;\n outstandingAmount += data.unpaidAmount;\n });\n\n total = total.toFixed(2);\n totalPaid = totalPaid.toFixed(2);\n outstandingAmount = outstandingAmount.toFixed(2);\n billedAccountsCount = weekBasedDataArr.length;\n return {\n total, totalPaid, outstandingAmount, billedAccountsCount\n }\n}\n\nexport const getTotalDueAndSavingForCurrentMonth = (billingDetails, discount) => {\n let currentMonth = new Date();\n let targetDate;\n for (let date in billingDetails) {\n targetDate = parseDate(date);\n if (currentMonth.getMonth() === targetDate.getMonth()) {\n let afterDiscountAmount = calculateAmountAfterDiscount(billingDetails[date].totalBillingAmount, discount);\n let discountedAmount = calculateDiscountAmount(billingDetails[date].totalBillingAmount, discount);\n return {afterDiscountAmount, discountedAmount}\n }\n }\n return {afterDiscountAmount: \"0\", discountedAmount: \"0\"}\n}\n\nexport const getTotalSavingForCurrentYear = (billingDetails, discount) => {\n let currentMonth = new Date();\n let targetDate;\n let totalAmount = 0;\n for (let date in billingDetails) {\n targetDate = new Date(date);\n if (currentMonth.getFullYear() === targetDate.getFullYear()) {\n totalAmount += billingDetails[date].totalBillingAmount;\n }\n }\n return calculateDiscountAmount(totalAmount, discount);\n}\n\nexport const formatCurrentPlan = (currentPlan) => {\n return getDisplayName(currentPlan);\n}\n\nexport const onlyFirstLetterCapital = (str) => {\n if (str === null || str === \"\") return \"\";\n if (str === \"Branded Premium\" || str === \"BRANDED_PREMIUM\" || str === \"branded premium\") return \"Branded Premium\";\n if (str === \"Branded Premium Plus\" || str === \"BRANDED_PREMIUM_PLUS\" || str === \"branded premium plus\") return \"Branded Premium\";\n if (str === \"Business Advanced\" || str === \"BUSINESS_ADVANCED\" || str === \"business advanced\") return \"Business Advanced\";\n if (str === \"Branded Premium (without sms)\" || str === \"BRANDED_PREMIUM_WITHOUT_SMS\" || str === \"branded premium (without sms)\") return \"Branded Premium (without sms)\";\n if (str === \"Branded Elite\" || str === \"BRANDED_ELITE\") return \"Branded Elite\";\n if (str === \"Branded Premium Marketing\" || str === \"BRANDED_PREMIUM_MARKETING\") return \"Branded Premium Marketing\";\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n}\n\nexport const getSubscriptionType = (planText) => {\n switch (planText) {\n case \"Starter\":\n return \"STARTER\";\n case \"Professional\":\n return \"PROFESSIONAL_PLUS\";\n case \"Professional (without sms)\":\n return \"PROFESSIONAL_PLUS_WITHOUT_SMS\";\n case \"Branded Premium\":\n return \"BRANDED_PREMIUM_PLUS\";\n case \"Business Advanced\":\n return \"BUSINESS_ADVANCED\";\n case \"Branded Premium (without sms)\":\n return \"BRANDED_PREMIUM_WITHOUT_SMS\";\n case \"Branded Elite\":\n return \"BRANDED_ELITE_LITE\";\n case \"Trial (professional)\":\n return \"TRIAL_PROFESSIONAL\";\n default:\n return -1;\n }\n}\n\nexport const checkIfWithoutSMSAvailable = (country) => {\n let excludedList = [\"United States\", \"Canada\", \"Australia\", \"United Kingdom\"];\n return !excludedList.includes(country);\n}\n","import {formatCurrentPlan, getTotalsForTheMonth, getTotalThirdPartyOrdersByWeek} from \"../Util/dataHelper\";\n\nexport class CredentialsObj {\n constructor(email, pass) {\n this.email = email;\n this.pass = pass;\n }\n}\n\nexport class SelectedPageComponent {\n constructor(component) {\n this.component = component\n }\n}\n\nexport class PartnerDetailsObj {\n constructor(id, partnerType, address, billingAddress, billingDiscountAmount, companyName, contactPerson, contactPersonTitle, email, phoneNo, partnerCode) {\n this.id = id;\n this.partnerType = partnerType;\n this.address = address;\n this.billingAddress = billingAddress;\n this.billingDiscountAmount = billingDiscountAmount;\n this.companyName = companyName;\n this.contactPerson = contactPerson;\n this.contactPersonTitle = contactPersonTitle;\n this.email = email;\n this.phoneNo = phoneNo;\n this.partnerCode = partnerCode;\n }\n\n getDiscountAmount() {\n return this.billingDiscountAmount;\n }\n\n getAdminNameAndEmail() {\n return [this.contactPerson, this.email];\n }\n\n isPremiumPartner() {\n return this.partnerType === \"PREMIUM\";\n }\n\n isPremiumOrResellerPartner(){\n return this.partnerType === 'PREMIUM' || this.partnerType === 'RESELLER';\n }\n}\n\nexport class PartnerAccountsObject {\n constructor(arr) {\n this.accountsArrRaw = arr;\n this.accountsArrFormatted = [];\n this.accountsObj = {};\n this.totalPaidAccounts = 0;\n this.constructAccountObjects();\n }\n\n constructAccountObjects() {\n this.accountsArrRaw.forEach((account) => {\n account.memberSince = account.memberSince || \"N/A\";\n account.memberSince = account.memberSince.split(\" \")[0];\n account.currentPlan = formatCurrentPlan(account.currentPlan)\n let accountObj = new PartnerAccountObject(account.companyId, account.dispatcherId, account.companyName, account.dispatcherName, account.email, account.phone, account.country, account.currentPlan, account.memberSince, account.paidAccount)\n this.accountsObj[account.companyId] = accountObj;\n this.accountsArrFormatted.push(accountObj);\n if (accountObj.paidAccount) this.totalPaidAccounts++;\n })\n }\n\n getAccountsArray() {\n return this.accountsArrFormatted;\n }\n\n getAccountsObj() {\n return this.accountsObj;\n }\n\n getAccountDetailsByCompanyId(companyId) {\n return this.accountsObj[companyId];\n }\n\n getTotalCountOfActiveAccounts() {\n return this.accountsArrFormatted.length;\n }\n\n getTotalCountOfPaidAccounts() {\n return this.totalPaidAccounts;\n }\n}\n\nexport class PartnerAccountObject {\n constructor(companyId, dispatcherId, companyName, adminName, email, phoneNumber, country, currentPlan, memberSince, paidAccount) {\n this.companyId = companyId;\n this.dispatcherId = dispatcherId;\n this.companyName = companyName;\n this.adminName = adminName;\n this.email = email;\n this.phoneNumber = phoneNumber;\n this.country = country;\n this.currentPlan = currentPlan;\n this.memberSince = memberSince;\n this.paidAccount = paidAccount;\n }\n}\n\nexport class PartnerBillingDetailsObject {\n constructor(billingArr) {\n this.billingArr = billingArr;\n this.billingFormattedObj = {};\n this.constructBillingFormattedObj();\n }\n\n constructBillingFormattedObj() {\n this.billingArr.forEach((billingInfoByDate) => {\n let totalsInfo = getTotalsForTheMonth(billingInfoByDate.billingInfos);\n billingInfoByDate = Object.assign(billingInfoByDate, totalsInfo)\n this.billingFormattedObj[billingInfoByDate.date] = billingInfoByDate;\n })\n }\n\n getBillingInfoByDate(date) {\n return this.billingFormattedObj[date];\n }\n}\n\nclass PartnerSingleInvoiceObj {\n constructor(chargeId, customerId, totalAmountPaid, invoiceUrl, chargeTimeInSec, currency, isSuccessful) {\n this.chargeId = chargeId;\n this.customerId = customerId;\n this.totalAmountPaid = Number(Number(totalAmountPaid) / 100).toFixed(2);\n this.invoiceUrl = invoiceUrl;\n this.chargeTime = Number(chargeTimeInSec) * 1000;\n this.currency = currency;\n this.isSuccessful = isSuccessful;\n }\n}\n\nexport class PartnerInvoicesObject {\n constructor(invoicesArr) {\n this.partnerInvoicesArr = [];\n this.constructPartnerInvoicesArr(invoicesArr);\n }\n\n constructPartnerInvoicesArr(invoicesArr) {\n this.partnerInvoicesArr = invoicesArr.map((invoice) => {\n return new PartnerSingleInvoiceObj(invoice.chargeId, invoice.customerId, invoice.totalAmountPaid, invoice.invoiceUrl, invoice.chargeTime, invoice.currency, invoice.isSuccessful)\n })\n }\n\n getInvoicesArr() {\n return this.partnerInvoicesArr;\n }\n}\n\nexport class PartnerCreditCardDetailsObject {\n constructor(last4Digits, expireMonth, expireYear) {\n this.last4Digits = last4Digits;\n this.expireMonth = expireMonth;\n this.expireYear = expireYear;\n }\n}\n\nexport class PartnerBankInfo {\n constructor(name, routing, acc, firstName, lastName, email) {\n this.name = name;\n this.routing = routing;\n this.acc = acc;\n this.firstName = firstName;\n this.lastName = lastName;\n this.email = email;\n }\n}\n\nexport class PartnerThirdPartyBillingDetailsObject {\n constructor(weeklyBillingArr) {\n this.rawWeeklyBillingArr = weeklyBillingArr;\n this.weeklyBillingFormattedObj = {};\n this.constructWeeklyBillingFormattedObj();\n }\n\n constructWeeklyBillingFormattedObj() {\n this.rawWeeklyBillingArr.forEach((billingInfoByWeek) => {\n let totalsInfo = getTotalThirdPartyOrdersByWeek(billingInfoByWeek.billingInfos);\n billingInfoByWeek = Object.assign(billingInfoByWeek, totalsInfo)\n if (totalsInfo.billedAccountsCount != 0) {\n this.weeklyBillingFormattedObj[billingInfoByWeek.week] = billingInfoByWeek;\n }\n })\n }\n\n getBillingInfoByDate(date) {\n return this.weeklyBillingFormattedObj[date];\n }\n}\n\nexport class AccountMagicLink {\n constructor(magicLink) {\n this.magicLink = magicLink;\n }\n\n getMagicLink() {\n return this.magicLink;\n }\n}\n\nexport class ACHBankInfo {\n constructor(bankName, last4Digits, routingNo, email, customerId) {\n this.bankName = bankName;\n this.last4Digits = last4Digits;\n this.routingNo = routingNo;\n this.email = email;\n this.customerId = customerId;\n }\n}\n\nexport class ClientSecret {\n constructor(secret) {\n this.secret = secret;\n }\n\n getSecret() {\n return this.secret;\n }\n}\n\nexport class PayoutBankInfo {\n constructor(\n stripeAccountId,\n actorId,\n actorType,\n connectStatus,\n stripeEmail,\n accountNumber,\n routingNumber,\n accountHolder,\n ipAddress\n ) {\n this.stripeAccountId = stripeAccountId;\n this.actorId = actorId;\n this.actorType = actorType;\n this.connectStatus = connectStatus;\n this.stripeEmail = stripeEmail;\n this.accountNumber = accountNumber;\n this.routingNumber = routingNumber;\n this.accountHolder = accountHolder;\n this.ipAddress = ipAddress;\n }\n}\n\nexport class PaypalApprovalLink {\n constructor(link) {\n this.link = link;\n }\n\n getLink() {\n return this.link;\n }\n}\n\nexport class PaypalInfo {\n constructor(accId, email, customerId, confirmedAt) {\n this.accountId = accId;\n this.email = email;\n this.customerId = customerId;\n this.confirmedAt = confirmedAt;\n }\n\n getEmail() {\n return this.email;\n }\n}\n\nexport class PaypalIdentity {\n constructor(email, accId, name, confirmedAt, verified) {\n this.email = email;\n this.accountId = accId;\n this.name = name;\n this.confirmedAt = confirmedAt;\n this.verified = verified;\n }\n\n getMaskedEmail() {\n const atInd = this.email.indexOf('@');\n const prefix = this.email.substr(0, atInd);\n return prefix[0] + \"*****\" + prefix[prefix.length-1] + this.email.substr(atInd);\n }\n\n getName() {\n return this.name;\n }\n\n isVerified() {\n return this.verified;\n }\n}\n\nexport class LastMonthBilling {\n constructor(billingId, paid) {\n this.billingId = billingId;\n this.paid = paid;\n }\n\n isPaid() {\n return this.paid;\n }\n}","import {\n AccountMagicLink, ACHBankInfo, ClientSecret,\n CredentialsObj,\n PartnerAccountsObject,\n PartnerBankInfo,\n PartnerBillingDetailsObject,\n PartnerCreditCardDetailsObject,\n PartnerDetailsObj,\n PartnerInvoicesObject,\n PartnerThirdPartyBillingDetailsObject, PayoutBankInfo,\n SelectedPageComponent,\n PaypalApprovalLink,\n PaypalInfo,\n PaypalIdentity,\n LastMonthBilling\n} from \"../Model/businessObjects\";\nimport {DASHBOARD_COMPONENT} from \"../Components/Dashboard/dashboardWrapper\";\n\nexport const constructCredentialsObj = (email, pass) => {\n return new CredentialsObj(email, pass);\n}\n\nexport const constructSelectedComponent = (component = DASHBOARD_COMPONENT) => {\n return new SelectedPageComponent(component);\n}\n\nexport const constructPartnerDetails = (partnerId, partnerType, address, billingAddress, billingDiscountAmount, companyName, contactPerson, contactPersonTitle, email, phoneNo, partnerCode) => {\n return new PartnerDetailsObj(partnerId, partnerType, address, billingAddress, billingDiscountAmount, companyName, contactPerson, contactPersonTitle, email, phoneNo, partnerCode);\n}\n\nexport const constructPartnerAccounts = (accountsArray) => {\n return new PartnerAccountsObject(accountsArray);\n}\n\nexport const constructPartnerBillingDetails = (billingArray) => {\n return new PartnerBillingDetailsObject(billingArray);\n}\n\nexport const constructPartnerInvoice = (invoicesArr) => {\n return new PartnerInvoicesObject(invoicesArr);\n}\n\nexport const constructPartnerCardDetails = (last4Digits, expireMonth, expireYear) => {\n return new PartnerCreditCardDetailsObject(last4Digits, expireMonth, expireYear);\n}\n\nexport const constructPartnerBankInfo = (name, routing, acc, firstName, lastName, email) => {\n return new PartnerBankInfo(name, routing, acc, firstName, lastName, email);\n}\n\nexport const constructThirdPartyBillingDetails = (billingArr) => {\n return new PartnerThirdPartyBillingDetailsObject(billingArr);\n}\n\nexport const constructMagicLink = (link) => {\n return new AccountMagicLink(link);\n}\n\nexport const constructACHBankInfo = (bankName, last4Digits, routingNo, email, customerId) => {\n return new ACHBankInfo(bankName, last4Digits, routingNo, email, customerId);\n}\n\nexport const constructClientSecret = (secret) => {\n return new ClientSecret(secret);\n}\n\nexport const constructPayoutBankInfo = (stripeAccountId, actorId, actorType, connectStatus, stripeEmail, accountNumber, routingNumber, accountHolder, ipAddress) => {\n return new PayoutBankInfo(stripeAccountId, actorId, actorType, connectStatus, stripeEmail, accountNumber, routingNumber, accountHolder, ipAddress);\n}\n\n\nexport const contructPaypalApprovalLink = (link) => {\n return new PaypalApprovalLink(link);\n}\n\nexport const constructPaypalInfo = (accId, email, customerId, confirmedAt) => {\n return new PaypalInfo(accId, email, customerId, confirmedAt);\n}\n\nexport const constructPaypalIdentity = (email, accId, name, confirmedAt, verified) => {\n return new PaypalIdentity(email, accId, name, confirmedAt, verified)\n}\n\nexport const constructLastMonthBilling = (billingId, isPaid) => {\n return new LastMonthBilling(billingId, isPaid);\n}","import {calculateDiscountAmount} from \"./commonHelper\";\nimport downloadIcon from \"../../Resources/Image/sd-download.svg\"\nimport {sanitize} from \"./thirdPartyUsageCSVDownloadHelper\";\n\nconst csvRowHeader = [\"Company Name\", \"Admin Name\", \"Plan\",\"Total Usage Billed($)\", \"Has Paid\",\"Your Earning($)\"];\n\nexport const getEarningCSVDataLink = (fileName, paymentData, accountData, discount) => {\n fileName += \".csv\";\n let blob = new Blob([createCSVRows(paymentData, accountData, discount)], {type: \"text/csv\"});\n let url = window.URL.createObjectURL(blob);\n return (\n \n {\"CSV\n \n );\n}\n\nconst createCSVRows = (paymentData, accountData, discount) => {\n let rowString = csvRowHeader.join(\",\");\n rowString += \"\\n\";\n paymentData.forEach((entry) => {\n let row = [];\n let accountDetails = accountData[entry.companyId];\n let discountAmount = calculateDiscountAmount(entry.billableAmount, discount);\n let isPaidText = \"Yes\";\n if (entry.isPaid === false) {\n discountAmount = 0;\n isPaidText = \"No\";\n }\n row.push(sanitize(accountDetails.companyName), accountDetails.adminName, entry.subscriptionPlan, entry.billableAmount, isPaidText, discountAmount);\n let newRow = row.join(\",\");\n rowString += newRow + \"\\r\\n\";\n })\n return rowString;\n}\n\n","import React from \"react\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {useSelector} from \"react-redux\";\nimport {getEarningsTable} from \"../../Util/TableHelpers/earningsTableHelper\";\n\nconst EarningTableHeaders = [\"Service Period\", \"Total Number of Paid Accounts\", \"Total Usage Billing($)\", \"Total Bill Collected($)\", \"Your Earning($)\", \"Details\"];\n\nconst EarningsTableSection = () => {\n const tableOption = {\n firstChildHighlight: true\n }\n const partnerDetails = useSelector(state => state.partnerDetails);\n const partnerAccountsObj = useSelector(state => state.partnerAccounts);\n const billingDataObj = useSelector(state => state.partnerBillingData);\n if (partnerDetails === null || partnerAccountsObj === null || billingDataObj === null)\n return (\n
\n Earnings\n \n
\n )\n\n const tableBodyArr = getEarningsTable(billingDataObj.billingFormattedObj, partnerDetails.billingDiscountAmount, partnerAccountsObj, partnerDetails.email)\n EarningTableHeaders[4] = \"Your Earning($)\" + ` (${partnerDetails.billingDiscountAmount}%)`;\n\n return (\n
\n Earnings\n \n
\n )\n}\n\nexport default EarningsTableSection;\n","import {calculateDiscountAmount, getShortDate, calculatePaidDiscountAmount} from \"./commonHelper\";\nimport {getEarningCSVDataLink} from \"./earningCSVDownloadHelper\";\nimport {sortTableByMonth} from \"../filter\";\n\nexport const getEarningsTable = (monthsBasedData, discount, accountData, email) => {\n monthsBasedData = Object.fromEntries(Object.entries(monthsBasedData));\n let tableRowsArr = [];\n for (const month in monthsBasedData) {\n let tableCol = [];\n let dateObj = new Date(month);\n tableCol.push(getShortDate(dateObj));\n let totalNumberOfAcc = monthsBasedData[month].billingInfos.length;\n console.log(monthsBasedData[month]);\n let totalNumberOfActiveAcc = monthsBasedData[month].billedAccountsCount;\n tableCol.push(totalNumberOfActiveAcc.toString() + \" out of \" + totalNumberOfAcc.toString() + \" (\" + (totalNumberOfActiveAcc * 100 / totalNumberOfAcc).toFixed(2) + \"%)\");\n let total = monthsBasedData[month].totalBillingAmount.toFixed(2);\n tableCol.push(total);\n let totalDiscountAmount = calculatePaidDiscountAmount(monthsBasedData[month].billingInfos, 100);\n tableCol.push(totalDiscountAmount);\n let discountAmount = calculatePaidDiscountAmount(monthsBasedData[month].billingInfos, discount);\n if (email === \"sandy@menu2order.com\") {\n if (dateObj.getTime() <= 1664560800000) discountAmount += \" (paid)\";\n }\n\n if (email === \"info@orderspar.com.au\") {\n if (dateObj.getTime() <= 1682899200000) discountAmount += \" (paid)\";\n }\n\n tableCol.push(discountAmount);\n let detailsBtn = getEarningCSVDataLink(\"details_\" + month, monthsBasedData[month].billingInfos, accountData.getAccountsObj(), discount);\n tableCol.push(detailsBtn);\n tableRowsArr.push(tableCol);\n }\n return tableRowsArr.sort(sortTableByMonth).slice(0, 12);\n}\n","import React from \"react\";\nimport EarningsTableSection from \"./earningsTableSection\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\n\nconst EARNING_COMPONENT = \"EARNING_COMPONENT\";\n\n\nconst EarningPageWrapper = () => {\n return (\n <>\n \n
\n \n
\n \n )\n}\n\nexport default EarningPageWrapper;\nexport {EARNING_COMPONENT};","import React from \"react\";\nimport {BILLING_COMPONENT} from \"../Billing/billingPageWrapper\";\nimport {constructSelectedComponent} from \"../../Factory/factory\";\nimport {LEFT_SIDE_BAR_SELECTED, PARTNER_TYPE_AFFILIATE} from \"../PartnerPortal/leftNavbar\";\nimport {useDispatch} from \"react-redux\";\nimport {EARNING_COMPONENT} from \"../Earning/earningPageWrapper\";\n\nconst DashboardInfoCard = ({number, details, goToDetails, partnerType}) => {\n const dispatch = useDispatch();\n const onClick = () => {\n if (goToDetails) {\n if (partnerType === PARTNER_TYPE_AFFILIATE)\n dispatch({\n type: LEFT_SIDE_BAR_SELECTED,\n payload: constructSelectedComponent(EARNING_COMPONENT)\n })\n else\n dispatch({\n type: LEFT_SIDE_BAR_SELECTED,\n payload: constructSelectedComponent(BILLING_COMPONENT)\n })\n }\n }\n\n return (\n
\n
\n {details}\n {number}\n
\n
\n )\n}\n\nexport default DashboardInfoCard;\n\n","import React from \"react\";\nimport {useSelector} from \"react-redux\";\nimport DashboardInfoCard from \"./dashboardInfoCard\";\nimport {getTotalDueAndSavingForCurrentMonth, getTotalSavingForCurrentYear} from \"../../Util/dataHelper\";\nimport {PARTNER_TYPE_AFFILIATE} from \"../PartnerPortal/leftNavbar\";\n\nconst DashboardSummeryInfoSection = ({partnerInfo}) => {\n const billingDataObj = useSelector(state => state.partnerBillingData);\n const partnerAccountsObj = useSelector(state => state.partnerAccounts);\n let pairs, earningsPair, discountThisYear = 0;\n if (partnerInfo === null) {\n return <>\n }\n\n if (billingDataObj == null || partnerAccountsObj == null) {\n pairs = [[\"Total Accounts\", 0], [\"Paid Accounts\", 0], [\"Unpaid Accounts\", 0], [\"Current Month Due\", \"$\" + 0], [\"Discount This Month\", \"$\" + 0]];\n earningsPair = [[\"Total Accounts\", 0], [\"Paid Accounts\", 0], [\"Unpaid Accounts\", 0], [\"Earned This Month\", \"$\" + 0]];\n } else {\n const {\n afterDiscountAmount,\n discountedAmount\n } = getTotalDueAndSavingForCurrentMonth(billingDataObj.billingFormattedObj, partnerInfo.billingDiscountAmount);\n discountThisYear = getTotalSavingForCurrentYear(billingDataObj.billingFormattedObj, partnerInfo.billingDiscountAmount)\n pairs = [[\"Total Accounts\", partnerAccountsObj.getTotalCountOfActiveAccounts()], [\"Paid Accounts\", partnerAccountsObj.getTotalCountOfPaidAccounts()], [\"Unpaid Accounts\", partnerAccountsObj.getTotalCountOfActiveAccounts() - partnerAccountsObj.getTotalCountOfPaidAccounts()], [\"Current Month Due\", \"$\" + afterDiscountAmount], [\"Discount This Month\", \"$\" + discountedAmount]];\n earningsPair = [[\"Total Accounts\", partnerAccountsObj.getTotalCountOfActiveAccounts()], [\"Paid Accounts\", partnerAccountsObj.getTotalCountOfPaidAccounts()], [\"Unpaid Accounts\", partnerAccountsObj.getTotalCountOfActiveAccounts() - partnerAccountsObj.getTotalCountOfPaidAccounts()], [\"Earned This Month\", \"$\" + discountedAmount]];\n\n }\n\n let targetPair;\n targetPair = pairs;\n if (partnerInfo.partnerType === PARTNER_TYPE_AFFILIATE) targetPair = earningsPair;\n\n const getInfoCards = () => {\n return targetPair.map((pair, ind) => {\n let goToDetails = false;\n if (ind > 1) goToDetails = true;\n return (\n
\n \n
\n )\n })\n }\n\n return (\n
\n {getInfoCards()}\n
\n )\n}\n\nexport default DashboardSummeryInfoSection;\n","import React from 'react';\nimport {useSelector} from \"react-redux\";\nimport DashboardSummeryInfoSection from \"./dashboardSummeryInfoSection\";\n\nconst DashboardInfo = () => {\n const partnerInfo = useSelector(state => state.partnerDetails);\n if (partnerInfo === null) return <>;\n let showingName = \"\";\n if (partnerInfo.contactPerson) showingName = partnerInfo.contactPerson.split(\" \")[0];\n return (\n
\n {/*
*/}\n {/* Welcome, {showingName}*/}\n {/*
*/}\n \n
\n )\n}\n\nexport default DashboardInfo;","export default __webpack_public_path__ + \"static/media/sd_toggle_on.836e3487.svg\";","export default __webpack_public_path__ + \"static/media/sd_toggle_off.6f5b74b2.svg\";","import React, {useEffect, useState} from \"react\";\nimport toggleOnImg from \"../../Resources/Image/sd_toggle_on.svg\";\nimport toggleOffImg from \"../../Resources/Image/sd_toggle_off.svg\";\n\nconst PlanModalPlanSingle = ({planText, currentPlan = \"\", price, selectedPlan, setSelect, showWithSMSToggle = false}) => {\n const [toggleOn, setToggleOn] = useState(true);\n\n\n const matchCurrentPlan = () => {\n return planText === currentPlan;\n }\n\n const checkIfSelected = () => {\n return selectedPlan?.includes(planText);\n }\n\n const handleClick = (ev) => {\n let planTextWithToggle = planText;\n if (showWithSMSToggle && !toggleOn) {\n planTextWithToggle += \" (without sms)\";\n }\n setSelect(planTextWithToggle);\n }\n\n const handleToggleClick = (ev) => {\n ev.stopPropagation();\n setToggleOn(!toggleOn);\n let planTextWithToggle = planText;\n if (toggleOn) {\n planTextWithToggle += \" (without sms)\";\n }\n setSelect(planTextWithToggle);\n }\n\n return (\n
\n
\n {planText}\n {matchCurrentPlan() &&
(Current Plan)
}\n
\n {showWithSMSToggle &&
\n
\n {\"on-off\"}/\n
\n
with SMS
\n
}\n {\n !showWithSMSToggle &&
\n }\n
Starts at
\n
\n ${price}/mo\n
\n\n
\n )\n}\n\nexport default PlanModalPlanSingle;\n","import {constructPartnerAccounts} from \"../Factory/factory\";\nimport {findPartnerAccounts} from \"../Util/queries\";\n\nconst PARTNER_ACCOUNTS = \"PARTNER_ACCOUNTS\";\n\nexport const getAccountsDetails = () =>\n async (dispatch) => {\n try {\n let response = await findPartnerAccounts();\n if (response.data) {\n let partnerAccountsObj = constructPartnerAccounts(response.data);\n dispatch({\n type: PARTNER_ACCOUNTS,\n payload: partnerAccountsObj\n })\n } else {\n dispatch({\n type: PARTNER_ACCOUNTS,\n payload: null\n })\n }\n } catch (e) {\n console.error(e);\n dispatch({\n type: PARTNER_ACCOUNTS,\n payload: null\n })\n }\n }\n\nexport {PARTNER_ACCOUNTS}","import React, {useEffect, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport PlanModalPlanSingle from \"./planModalPlanSingle\";\nimport {updatePartnerPlan} from \"../../Actions/planUpgradeAction\";\nimport {checkIfWithoutSMSAvailable, getSubscriptionType} from \"../../Util/dataHelper\";\nimport {PARTNER_ACCOUNTS} from \"../../Actions/partnerAccountsAction\";\n\nconst PlanUpgradeModal = ({selectedCompanyId}) => {\n const partnerAccountObj = useSelector(state => state.partnerAccounts);\n const selectedCompanyDetails = partnerAccountObj?.getAccountDetailsByCompanyId(selectedCompanyId);\n const [selectedPlan, setSelectedPlan] = useState(\"\");\n const [showSMSToggle, setShowSMSToggle] = useState(false);\n const [planUpgradeText, setPlanUpgradeText] = useState(\"\");\n const dispatch = useDispatch();\n\n useEffect(() => {\n setSelectedPlan(selectedCompanyDetails?.currentPlan);\n setShowSMSToggle(checkIfWithoutSMSAvailable(selectedCompanyDetails?.country));\n }, [selectedCompanyDetails?.country, selectedCompanyDetails?.currentPlan, selectedCompanyId])\n\n useEffect(() => {\n setPlanUpgradeText(\"\");\n return () => setPlanUpgradeText(\"\");\n }, [selectedCompanyId]);\n\n if (partnerAccountObj === null) return <>\n\n const getCurrentPlan = () => {\n return selectedCompanyDetails?.currentPlan;\n }\n\n const handleUpdateClicked = () => {\n if (selectedPlan === selectedCompanyDetails?.currentPlan) return;\n\n // dispatch({\n // type: PARTNER_ACCOUNTS,\n // payload: null\n // });\n setPlanUpgradeText(\"To update plans, please reach out to your partner contact or contact Shipday support at support@shipday.com.\");\n // dispatch(updatePartnerPlan(selectedCompanyDetails.companyId, selectedCompanyDetails.dispatcherId, getSubscriptionType(selectedPlan)));\n }\n\n \n\n return (\n
\n
\n
\n
\n

Upgrade Company Plan

\n \n
\n
\n {planUpgradeText &&
{planUpgradeText}
}\n
\n \n \n \n \n \n
\n
\n
Cancel\n
\n
Upgrade\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default PlanUpgradeModal;\n\n","import React, {useEffect} from \"react\";\n\nconst LoadingSpinner = ({target = null}) => {\n useEffect(() => {\n if (target && document.getElementsByClassName(target).length !== 0) {\n document.getElementsByClassName(target)[0].style.pointerEvents = 'none';\n document.getElementsByClassName(target)[0].style.opacity = 0.5;\n }\n\n return () => {\n if (target && document.getElementsByClassName(target).length !== 0) {\n document.getElementsByClassName(target)[0].style.pointerEvents = '';\n document.getElementsByClassName(target)[0].style.opacity = 1;\n }\n }\n });\n\n return (\n
{ev.stopPropagation()}}>\n
\n
\n Loading...\n
\n
\n
\n )\n}\n\nexport default LoadingSpinner;\n","export const MAGIC_LINK = \"MAGIC_LINK\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case MAGIC_LINK:\n return action.payload;\n default:\n return state;\n }\n}\n","import {findMagicLink} from \"../Util/queries\";\nimport {constructMagicLink} from \"../Factory/factory\";\nimport {MAGIC_LINK} from \"../Reducers/magicLinkReducer\";\n\nconst getMagicLink = (adminId, companyId) => async dispatch => {\n try {\n let response = await findMagicLink({adminId, companyId});\n if (response.data) {\n let magicLinkObj = constructMagicLink(response.data.magicLink);\n dispatch({\n type: MAGIC_LINK,\n payload: magicLinkObj\n });\n } else {\n dispatch({\n type: MAGIC_LINK,\n payload: null\n });\n }\n } catch (e) {\n console.error(e);\n dispatch({\n type: MAGIC_LINK,\n payload: null\n });\n }\n}\n\nexport default getMagicLink;\n","import React, {useEffect, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport getMagicLink from \"../../Actions/magicLinkAction\";\nimport {MAGIC_LINK} from \"../../Reducers/magicLinkReducer\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\n\nlet linkTracker = \"\";\nconst MagicLink = ({selectedAdminId, selectedCompanyId}) => {\n const dispatch = useDispatch();\n const magicLinkObj = useSelector(state => state.magicLink);\n const [showLoading, setShowLoading] = useState(false);\n const [newLink, setNewLink] = useState(\"\");\n\n const handleClick = () => {\n setShowLoading(true);\n dispatch(getMagicLink(selectedAdminId, selectedCompanyId));\n }\n\n useEffect(() => {\n if (magicLinkObj !== null && linkTracker !== magicLinkObj.getMagicLink()) {\n linkTracker = magicLinkObj.getMagicLink();\n window.open(magicLinkObj.getMagicLink(), '_blank'); //'location=yes, height=570, width=520, scrollbars=yes, status=yes'\n }\n\n setShowLoading(false);\n\n return () => {\n dispatch({\n type: MAGIC_LINK,\n payload: null\n })\n }\n }, [magicLinkObj]);\n\n\n return (\n \n Access Dispatch Dashboard\n \n )\n}\n\nexport default MagicLink;\n","import React, {useEffect, useRef, useState} from 'react';\n\nconst Dropdown = ({dropdownArr}) => {\n const [isOpen, setIsOpen] = useState(false);\n const dropdownRef = useRef(null);\n\n\n const toggleMenu = () => {\n setIsOpen(!isOpen);\n };\n\n const handleClickOutside = (event) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n useEffect(() => {\n window.addEventListener('click', handleClickOutside);\n return () => {\n window.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n return (\n
\n \n {isOpen && (\n
    \n {dropdownArr}\n
\n )}\n
\n );\n};\n\nexport default Dropdown;\n","import React from \"react\";\nimport MagicLink from \"./magicLink\";\nimport Dropdown from \"../CommonComponents/dropDown\";\n\nconst DropdownMenuList = ({selectedAdminId, selectedCompanyId, handleUpgradeBtnClick}) => {\n\n const handleClick = () => {\n handleUpgradeBtnClick(selectedCompanyId);\n }\n const getList = () => (\n <>\n
  • \n Change Account Plan\n
  • \n
  • \n \n
  • \n \n );\n\n return ;\n}\n\nexport default DropdownMenuList;\n","import React, {useState} from \"react\";\nimport {useSelector} from \"react-redux\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport PlanUpgradeModal from \"./planUpgradeModal\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\nimport { createTableHeadersAndData, getFullDate } from \"../../Util/TableHelpers/commonHelper\";\nimport DropdownMenuList from \"./dropdownMenuList\";\nimport { sortArrayByCategory } from \"../../Util/TableHelpers/accountsTableHelper\";\nimport { isLastMonth } from \"../../Util/filter\";\nimport { PLAN_PAID_MAPPING } from \"../../Util/planHelper\";\n\nconst NoAccountsText = \"You do not have any accounts\";\n\nconst columnConfigs = [\n {\n id: \"index\",\n name: \"\",\n dataFunc: (_, index) => `${index + 1}.`\n },\n {\n id: \"companyName\",\n name: \"Business Name\",\n dataFunc: ({account}) => account.companyName || \"Unknown\"\n },\n {\n id: \"adminName\",\n name: \"Admin Name\",\n dataFunc: ({account}) => account.adminName || \"Unknown\"\n },\n {\n id: \"adminEmail\",\n name: \"Admin Email\",\n dataFunc: ({account}) => account.email || \"Unknown\"\n },\n {\n id: \"phoneNumber\",\n name: \"Phone Number\",\n dataFunc: ({account}) => account.phoneNumber || \"Unknown\"\n },\n {\n id: \"currentPlan\",\n name: \"Current Plan\",\n dataFunc: ({account}) => account.currentPlan || \"Unknown\"\n },\n {\n id: \"country\",\n name: \"Country\",\n dataFunc: ({account}) => account.country || \"Unknown\"\n },\n {\n id: \"lastMonthStatus\",\n name: \"Last Month Status\", \n dataFunc: ({account, lastMonthBilling}) => {\n if (!PLAN_PAID_MAPPING[account.currentPlan]) return \"N/A\";\n if (lastMonthBilling === null) return \"N/A\";\n return
    \n {lastMonthBilling?.isPaid ? \"Paid\" : \"Unpaid\"}\n
    ;\n }\n },\n {\n id: \"memberSince\",\n name: \"Member Since\",\n dataFunc: ({account}) => getFullDate(account.memberSince) || \"Unknown\"\n },\n {\n id: \"planMenu\",\n name: \"\",\n dataFunc: ({account, handleUpgradeBtnClick}) => \n \n }\n];\n\nconst getLastMonthBillingData = (billingDataObj) => {\n if (billingDataObj === null || billingDataObj === undefined) return null;\n\n const lastMonthBillingData = Object.entries(billingDataObj?.billingFormattedObj)\n .find(([key, value]) => isLastMonth(key))?.[1]?.billingInfos ?? null;\n\n if (lastMonthBillingData === null) return null;\n\n const lastMonthBillingMap = lastMonthBillingData?.reduce((acc, curr) => {\n acc[curr.companyId] = curr;\n return acc;\n }, {});\n\n return lastMonthBillingMap;\n}\n\nconst AccountsTableSection = () => {\n const partnerAccountObj = useSelector(state => state.partnerAccounts);\n const partnerDetails = useSelector(state => state.partnerDetails);\n const billingDataObj = useSelector(state => state.partnerBillingData);\n const [selectedCompanyId, setSelectedCompanyId] = useState(null);\n\n const lastMonthBillingMap = getLastMonthBillingData(billingDataObj);\n\n const handleUpgradeBtnClick = (companyId) => {\n setSelectedCompanyId(companyId);\n }\n\n if (partnerAccountObj === null || partnerDetails === null)\n return ;\n\n const tableInput = partnerAccountObj.getAccountsArray().map(account => ({\n account: account,\n lastMonthBilling: lastMonthBillingMap?.[account.companyId] ?? null,\n handleUpgradeBtnClick: handleUpgradeBtnClick\n }));\n\n let processedColumnConfigs = partnerDetails.isPremiumOrResellerPartner() ? \n columnConfigs : columnConfigs.filter(config => config.id !== \"planMenu\");\n if (lastMonthBillingMap === null) {\n processedColumnConfigs = processedColumnConfigs.filter(config => config.id !== \"lastMonthStatus\");\n }\n\n const {headers, data} = createTableHeadersAndData(tableInput, processedColumnConfigs);\n const sortedData = sortArrayByCategory(data, 5);\n\n return (\n
    \n \n {partnerDetails.isPremiumOrResellerPartner() && \n }\n
    \n )\n}\n\nexport default AccountsTableSection;\n","import React, {useEffect, useRef} from \"react\";\nimport {CardElement, useElements, useStripe} from \"@stripe/react-stripe-js\";\nimport \"../../Stylesheets/stripeCard.css\";\nimport {AddPartnerCard} from \"../../Actions/partnerCardAddAction\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {UpdatePartnerCard} from \"../../Actions/partnerCardUpdateAction\";\nimport {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Payments/creditCardInfoSection\";\nimport {GetPartnerCardDetails} from \"../../Actions/partnerCardInfoDetailsAction\";\n\nconst cardStyle = {\n base: {\n iconColor: '#666EE8',\n color: '#31325F',\n fontWeight: 300,\n fontFamily: 'Helvetica Neue',\n '::placeholder': {\n color: '#CFD7E0',\n },\n },\n}\nlet cardElementRef;\n\nexport const StripeCard = ({show, isUpdate}) => {\n const stripe = useStripe();\n const elements = useElements();\n const outcomeRef = useRef(null);\n const errorRef = useRef(null);\n const errorDetailsRef = useRef(null);\n const submitBtnRef = useRef(null);\n const successRef = useRef(null);\n const cardState = useSelector(state => state.partnerCreditCardUpdateState);\n const partnerDetails = useSelector(state => state.partnerDetails);\n const dispatch = useDispatch();\n let submitBtnText = \"Add Card\";\n if (isUpdate) submitBtnText = \"Update Card\";\n\n useEffect(() => {\n outcomeRef.current.style.display = \"none\";\n errorRef.current.style.display = \"none\";\n successRef.current.style.display = \"none\";\n errorDetailsRef.current.innerHTML = \"\";\n errorDetailsRef.current.style.display = \"none\";\n if (!cardElementRef?._destroyed) {\n cardElementRef?.clear();\n }\n }, [show]);\n\n useEffect(() => {\n if (cardState === CARD_UPDATE_STATES.failed) {\n showError(\"Please Check if the information is correct\");\n if (submitBtnRef.current !== null) submitBtnRef.current.disable = false;\n } else if (cardState === CARD_UPDATE_STATES.success) {\n showSuccess();\n setTimeout(() => {\n document.getElementById(\"partnerCreditCardModalCloseBtn\").click();\n dispatch(GetPartnerCardDetails());\n }, 2000);\n\n } else if (cardState === CARD_UPDATE_STATES.pending) {\n if (submitBtnRef.current !== null) submitBtnRef.current.disable = true;\n } else {\n outcomeRef.current.style.display = \"none\";\n successRef.current.style.display = \"none\";\n errorRef.current.style.display = \"none\";\n errorDetailsRef.current.style.display = \"none\";\n if (submitBtnRef.current !== null) submitBtnRef.current.disable = false;\n }\n }, [cardState])\n\n const showError = (errMsg) => {\n outcomeRef.current.style.display = \"block\";\n errorRef.current.style.display = \"block\";\n successRef.current.style.display = \"none\";\n errorDetailsRef.current.innerHTML = errMsg;\n errorDetailsRef.current.style.display = \"block\";\n }\n\n const showSuccess = () => {\n outcomeRef.current.style.display = \"block\";\n successRef.current.style.display = \"block\";\n errorRef.current.style.display = \"none\";\n errorDetailsRef.current.style.display = \"none\";\n }\n\n const handleSubmit = (ev) => {\n ev.preventDefault();\n\n const cardElement = elements.getElement(\"card\");\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.pending\n })\n stripe.createToken(cardElement)\n .then((payload) => {\n if (payload.error) {\n showError(payload.error.message);\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.failed\n })\n } else {\n if (isUpdate) dispatch(UpdatePartnerCard(partnerDetails.email, payload.token[\"id\"]));\n else dispatch(AddPartnerCard(partnerDetails.email, payload.token[\"id\"]));\n }\n });\n };\n\n return (\n
    \n
    \n \n
    \n
    \n \n\n
    \n \n
    \n
    Sorry! Could not add your card
    \n
    \n Success! Your Card is added.\n
    \n
    \n
    \n
    \n\n );\n}\n\nexport default StripeCard;\n","import { planOrder } from \"../planHelper\";\n\nexport function sortArrayByCategory(arr, index) {\n\n arr.sort((a, b) => {\n let categoryA = a[index];\n let categoryB = b[index];\n let indexA = planOrder.indexOf(categoryA);\n let indexB = planOrder.indexOf(categoryB);\n\n if (indexA !== -1 && indexB !== -1) {\n // Both categories are in the predefined order\n return indexA - indexB;\n } else {\n // At least one of the categories is not in the predefined order\n return categoryA.localeCompare(categoryB);\n }\n });\n arr.forEach((row, index) => {\n // Set the first element of each row to the current index (starting from 1)\n row[0] = (index + 1).toString() + '.'; // Convert index to string and add a dot (.)\n });\n\n return arr;\n}\n","import React from \"react\";\n\nconst GeneralModal = ({children, modalId, btnText, title, showFooterBtn, footerBtnText}) => {\n return (\n <>\n \n
    \n
    \n
    \n
    \n

    {title}

    \n \n
    \n
    \n {children}\n
    \n {showFooterBtn &&
    \n \n
    }\n
    \n
    \n
    \n \n )\n}\n\nexport default GeneralModal;\n","import React, { useRef, useState } from \"react\";\nimport GeneralModal from \"../CommonComponents/generalModal\";\nimport { useSelector } from \"react-redux\";\n\nconst ReferralLinkModal = () => {\n const clipBoardText = useRef(null);\n const referralLink = useSelector((state) => state.referralLink);\n const [isCopied, setIsCopied] = useState(false);\n\n if (referralLink == null) return <>;\n\n const copyToClipBoard = () => {\n navigator.clipboard.writeText(referralLink);\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n };\n\n return (\n
    \n \n
    \n
    \n Users that create a new Shipday account with this link will be automatically added to your partner dashboard.\n
    \n
    \n
    {referralLink}
    \n \n {!isCopied && \n \n }\n {isCopied &&\n \n \n \n }\n
    \n \n Create Account\n \n
    \n
    \n \n
    \n );\n};\n\nexport default ReferralLinkModal;\n","import React from \"react\";\nimport DashboardInfo from \"./dashboardInfo\";\nimport AccountsTableSection from \"./accountsTableSection\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport ReferralLinkModal from \"./referralLinkModal\";\n\nconst DASHBOARD_COMPONENT = \"DASHBOARD_COMPONENT\"\n\nconst DashboardWrapper = () => {\n return (\n <>\n \n \n \n \n \n \n )\n}\n\nexport default DashboardWrapper;\nexport {DASHBOARD_COMPONENT}\n\n","import {findPartnerPaymentsCard} from \"../Util/queries\"\nimport {PARTNER_CREDIT_CARD_INFO} from \"../Components/Payments/creditCardInfoSection\";\nimport {constructPartnerCardDetails} from \"../Factory/factory\";\n\nexport const GetPartnerCardDetails = () =>\n async (dispatch) => {\n try {\n let response = await findPartnerPaymentsCard();\n if (response.data?.cardInfo) {\n let cardInfo = response.data.cardInfo;\n dispatch({\n type: PARTNER_CREDIT_CARD_INFO,\n payload: constructPartnerCardDetails(cardInfo.last4Digit, cardInfo.expireMonth, cardInfo.expireYear)\n })\n } else {\n dispatch({\n type: PARTNER_CREDIT_CARD_INFO,\n payload: null\n })\n }\n } catch (e) {\n dispatch({\n type: PARTNER_CREDIT_CARD_INFO,\n payload: null\n })\n }\n }\n","import {updatePartnerPaymentCard} from \"../Util/queries\";\nimport {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Components/Payments/creditCardInfoSection\";\n\nexport const UpdatePartnerCard = (email, stripe_token) => async (dispatch) => {\n try {\n let data = {\n \"email\": email,\n \"stripeToken\": stripe_token\n }\n let request = await updatePartnerPaymentCard(data);\n if (request.status === 200 || request.status === 201 || request.status === 204) {\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.success\n })\n } else throw new Error(request.statusText);\n } catch (e) {\n console.error(e);\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.failed\n })\n }\n}\n","import {addPartnerPaymentCard} from \"../Util/queries\";\nimport {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Components/Payments/creditCardInfoSection\";\n\nexport const AddPartnerCard = (email, stripe_token) => async (dispatch) => {\n try {\n let data = {\n \"emailAddress\": email,\n \"stripeToken\": stripe_token\n }\n let cardAddingReq = await addPartnerPaymentCard(data);\n if (cardAddingReq.status === 200 || cardAddingReq.status === 201 || cardAddingReq.status === 204) {\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.success\n })\n } else throw new Error(cardAddingReq.statusText);\n } catch (e) {\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.failed\n })\n console.error(e);\n\n }\n}","import React from \"react\";\nimport {loadStripe} from \"@stripe/stripe-js\";\nimport {Elements} from \"@stripe/react-stripe-js\";\nimport StripeCard from \"./stripeCard\";\n\nconst stripePromise = loadStripe('pk_live_goDpxfRC7Z3f2CVPmuUsAX6Q00GAYHagBy');\n\nconst StripeCardWrapper = ({show, isUpdate}) => {\n return (\n \n \n \n )\n}\n\nexport default StripeCardWrapper;\n","import React from \"react\";\nimport 'react-responsive-modal/styles.css';\nimport StripeCardWrapper from \"../StripeWrapper/stripeCardWrapper\";\n\nconst AddCreditCardModal = ({isUpdate, show, setShow}) => {\n const onClose = (ev) => {\n document.getElementById(\"creditCardAddFrom\")?.reset();\n setShow(false);\n }\n let modalHeader = \"Add Credit Card\";\n if (isUpdate) {\n modalHeader = \"Update Credit Card\";\n }\n\n return (\n
    \n
    \n
    \n
    \n

    {modalHeader}

    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default AddCreditCardModal;\n","import React from \"react\";\n\nconst PaymentModalWrapper = ({modalId, title, children, showFooterBtn = false, footerBtnText}) => {\n return (\n
    \n
    \n
    \n
    \n

    {title}

    \n \n
    \n
    \n {children}\n
    \n {showFooterBtn &&
    \n \n
    }\n
    \n
    \n
    \n )\n}\n\nexport default PaymentModalWrapper;\n","import React, {useRef} from \"react\";\nimport {\n ACH_ERROR_MODAL_ID,\n ACH_MANDATE_CONFIRMATION_MODAL_ID,\n ACH_SUCCESS_CONFIRMATION_MODAL_ID\n} from \"./addBankDetails\";\nimport {useDispatch, useSelector} from \"react-redux\";\n\nconst BankInfoAddModalContent = ({stripe}) => {\n const nameRef = useRef(null);\n const emailRef = useRef(null);\n const mandateBtnRef = useRef(null);\n const successBtnRef = useRef(null);\n const errorBtnRef = useRef(null);\n const clientSecret = useSelector(state => state.clientSecret);\n\n const handleSubmit = (ev) => {\n //@TODO handle client secret is yet to be fetched state or had some issue state.\n ev.preventDefault();\n const name = nameRef.current.value;\n const email = emailRef.current.value;\n document.getElementById('achBankInfoModal-close-btn').click();\n ev.target.reset();\n console.log(\"Initiating Bank account setup with stripe \"+clientSecret.getSecret());\n //@TODO need to set the client secret\n //mandateBtnRef.current.click();\n stripe.collectBankAccountForSetup({\n clientSecret: clientSecret.getSecret(),\n params: {\n payment_method_type: 'us_bank_account',\n payment_method_data: {\n billing_details: {\n name: name,\n email: email,\n },\n },\n },\n expand: ['payment_method'],\n })\n .then(({setupIntent, error}) => {\n if (error) {\n console.error(error.message);\n document.getElementById(ACH_ERROR_MODAL_ID + \"-show-btn\").click();\n // PaymentMethod collection failed for some reason.\n } else if (setupIntent.status === 'requires_payment_method') {\n // Customer canceled the hosted verification modal. Present them with other\n // payment method type options.\n } else if (setupIntent.status === 'requires_confirmation') {\n // We collected an account - possibly instantly verified, but possibly\n // manually-entered. Display payment method details and mandate text\n // to the customer and confirm the intent once they accept\n // the mandate.\n //confirmationForm.show();\n mandateBtnRef.current.click();\n }\n });\n }\n\n return (\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n
    \n )\n}\n\nexport default BankInfoAddModalContent;\n","export const ACH_BANK_INFO_REDUCER = \"ACH_BANK_INFO_REDUCER\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case ACH_BANK_INFO_REDUCER:\n return action.payload;\n default:\n return state;\n }\n}\n","import {fetchACHBankInfo} from \"../Util/queries\";\nimport {constructACHBankInfo} from \"../Factory/factory\";\nimport {ACH_BANK_INFO_REDUCER} from \"../Reducers/achBankInfoReducer\";\n\nexport const getACHBankInfo = () => async dispatch =>{\n try {\n let response = await fetchACHBankInfo();\n\n if (response.data) {\n let achInfoBankObj = constructACHBankInfo(response.data.bankName, response.data.last4, response.data.routingNumber, response.data.email, response.data.stripeCustomerId);\n dispatch({\n type: ACH_BANK_INFO_REDUCER,\n payload: achInfoBankObj\n })\n } else {\n dispatch({\n type: ACH_BANK_INFO_REDUCER,\n payload: null\n })\n }\n } catch (e) {\n console.error(e);\n dispatch({\n type: ACH_BANK_INFO_REDUCER,\n payload: null\n })\n }\n}\n","import React from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {\n ACH_ERROR_MODAL_ID,\n ACH_MANDATE_CONFIRMATION_MODAL_ID,\n ACH_SUCCESS_CONFIRMATION_MODAL_ID\n} from \"./addBankDetails\";\nimport {getACHBankInfo} from \"../../Actions/achBankInfoAction\";\n\nconst MandateModalContent = ({stripe}) => {\n const clientSecret = useSelector(state => state.clientSecret);\n const dispatch = useDispatch();\n\n const handleMandateSubmit = (ev) => {\n ev.preventDefault();\n document.getElementById(ACH_MANDATE_CONFIRMATION_MODAL_ID + \"-close-btn\").click();\n stripe.confirmUsBankAccountSetup(clientSecret.getSecret())\n .then(({setupIntent, error}) => {\n if (error) {\n console.error(error.message);\n document.getElementById(ACH_ERROR_MODAL_ID).click();\n } else if (setupIntent.status === \"requires_payment_method\") {\n document.getElementById(ACH_ERROR_MODAL_ID + \"-show-btn\").click();\n } else if (setupIntent.status === \"succeeded\") {\n dispatch(getACHBankInfo());\n document.getElementById(ACH_SUCCESS_CONFIRMATION_MODAL_ID + \"-show-btn\").click()\n } else if (setupIntent.next_action?.type === \"verify_with_microdeposits\") {\n // The account needs to be verified via microdeposits.\n // Display a message to consumer with next steps (consumer waits for\n // microdeposits, then enters a statement descriptor code on a page sent to them via email).\n }\n });\n }\n\n return (\n
    \n
    \n
    \n By confirming this mandate, you authorize Shipday to initiate debits from the bank account specified\n above\n for\n any amount owed for charges arising from your use of Shipday's services and/or purchase of products,\n in\n accordance with Shipday's website and terms. This authorization will remain in effect until revoked.\n You\n may amend or cancel this authorization at any time by providing Shipday with a 30-day notice.\n

    \n If you use Shipday's services or make periodic purchases as per Shipday's terms, you authorize\n Shipday\n to periodically debit your bank account. Payments that fall outside the regular authorized debits\n will\n be processed only after obtaining your specific authorization.\n

    \n Please review the above authorization carefully. By proceeding with the ACH payment, you confirm\n that\n you have read, understood, and agreed to the terms and conditions outlined in this mandate modal.\n

    \n If you have any questions or need further assistance, please contact Shipday's customer support.\n
    \n
    \n \n \n
    \n
    \n
    \n )\n}\n\nexport default MandateModalContent;\n","export const CLIENT_SECRET = \"CLIENT_SECRET\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case CLIENT_SECRET:\n return action.payload;\n default:\n return state;\n }\n}\n","import React from \"react\";\n\nconst SuccessModalContent = () => {\n return (\n
    \n
    \n \n \n \n \n
    \n
    Bank Information Successfully Added
    \n
    Done
    \n
    \n )\n}\n\nexport default SuccessModalContent;\n","import React from \"react\";\n\nconst ErrorModalContent = () => {\n return (\n
    \n
    Ran into an error.
    \n
    Please check with your Stripe account, if any information was wrong and try again. If the issue persists, please contact support for further help.
    \n
    \n )\n}\n\nexport default ErrorModalContent;\n","import React from \"react\";\nimport PaymentModalWrapper from \"./paymentModalWrapper\";\nimport BankInfoAddModalContent from \"./bankInfoAddModalContent\";\nimport MandateModalContent from \"./mandateModalContent\";\nimport {useDispatch} from \"react-redux\";\nimport {getClientSecret} from \"../../Actions/clientSecretAction\";\nimport SuccessModalContent from \"./successModalContent\";\nimport ErrorModalContent from \"./errorModalContent\";\n\nexport const ACH_BANK_INFO_MODAL_ID = \"achBankInfoModal\";\nexport const ACH_MANDATE_CONFIRMATION_MODAL_ID = \"achMandateConfModal\";\nexport const ACH_SUCCESS_CONFIRMATION_MODAL_ID = \"achSuccessConfModal\";\nexport const ACH_ERROR_MODAL_ID = \"achErrorConfModal\";\n\nconst AddBankDetails = () => {\n const dispatch = useDispatch();\n const stripe = window.Stripe('pk_live_goDpxfRC7Z3f2CVPmuUsAX6Q00GAYHagBy');\n const handleClick = () => {\n dispatch(getClientSecret());\n }\n\n return (\n <>\n
    \n
    No bank information is currently available
    \n
    \n
    Add bank Information
    \n }/>\n }/>\n } showFooterBtn={false}/>\n } showFooterBtn={false}/>\n \n )\n}\n\nexport default AddBankDetails;\n","import {initACH} from \"../Util/queries\";\nimport {constructClientSecret} from \"../Factory/factory\";\nimport {CLIENT_SECRET} from \"../Reducers/clientSecretReducer\";\n\nexport const getClientSecret = () => async dispatch => {\n try {\n const response = await initACH();\n console.log(response);\n const clientSecretObj = constructClientSecret(response.data.clientSecret);\n dispatch({\n type: CLIENT_SECRET,\n payload: clientSecretObj\n });\n } catch (e) {\n console.error(e);\n }\n}\n","import React from \"react\";\nimport {useSelector} from \"react-redux\";\n\nconst BankDetails = () => {\n const bankInfo = useSelector(state => state.achBankInfo)\n\n return (\n <>\n
    \n
    \n \n \n \n
    \n
    \n
    {bankInfo.bankName}
    \n
    Account number ending with {bankInfo.last4Digits}
    \n
    Routing number {bankInfo.routingNo}
    \n
    \n
    \n {/*
    */}\n {/* Remove*/}\n {/*
    */}\n \n )\n}\n\nexport default BankDetails;\n","import React from \"react\";\nimport AddBankDetails from \"./addBankDetails\";\nimport BankDetails from \"./bankDetails\";\nimport {useSelector} from \"react-redux\";\n\nexport const PAYMENT_SETUP = \"PAYMENT_SETUP\";\n\nconst PaymentSetupWrapper = () => {\n const bankInfo = useSelector(state => state.achBankInfo)\n\n const getComponents = () => {\n if (bankInfo !== null) return \n return \n }\n\n\n return (\n <>\n
    \n ACH Payment\n {getComponents()}\n
    \n \n )\n}\n\nexport default PaymentSetupWrapper;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nconst PaypalDetails = () => {\n const paypalInfo = useSelector(state => state.paypalInfo);\n return (\n <>\n
    \n Email:{\" \"}\n {paypalInfo?.getEmail()}\n
    \n
    \n Connected\n
    \n \n );\n};\n\nexport default PaypalDetails;\n","export const PAYPAL_APPROVAL_LINK = \"PAYPAL_APPROVAL_LINK\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PAYPAL_APPROVAL_LINK:\n return action.payload;\n default:\n return state;\n }\n}\n","import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { createPaypalConnection } from \"../../Actions/paypalConnectAction\";\n\nconst ConnectPaypal = () => {\n const [connecting, setConnecting] = useState(false);\n const dispatch = useDispatch();\n const paypalApproval = useSelector(state => state.paypalApproval);\n\n const handleConnect = () => {\n if(connecting) return;\n setConnecting(true);\n dispatch(createPaypalConnection());\n };\n\n useEffect(() => {\n if(paypalApproval?.getLink() && connecting) {\n window.location.href = paypalApproval?.getLink();\n }\n }, [paypalApproval, connecting])\n\n return (\n <>\n
    \n No paypal account connected\n
    \n \n {connecting ? \"Connecting...\" : \"Connect\"}\n \n \n );\n};\n\nexport default ConnectPaypal;\n","import {initPaypalConnect} from \"../Util/queries\";\nimport {contructPaypalApprovalLink} from \"../Factory/factory\";\nimport { PAYPAL_APPROVAL_LINK } from \"../Reducers/paypalApprovalReducer\";\n\nexport const createPaypalConnection = () => async dispatch => {\n try {\n dispatch({\n type: PAYPAL_APPROVAL_LINK,\n payload: null,\n });\n const response = await initPaypalConnect();\n const paypalApprovalLink = contructPaypalApprovalLink(response.data);\n dispatch({\n type: PAYPAL_APPROVAL_LINK,\n payload: paypalApprovalLink\n });\n } catch (e) {\n console.error(e);\n }\n}\n","import React from \"react\";\nimport PaypalDetails from \"./paypalDetails\";\nimport ConnectPaypal from \"./connectPaypal\"\nimport { useSelector } from \"react-redux\";\n\nconst PaypalSetupWrapper = () => {\n const paypalInfo = useSelector(state => state.paypalInfo);\n\n const getComponent = () => {\n if(paypalInfo !== null) return \n return \n }\n\n return (\n
    \n Paypal\n {getComponent()}\n
    \n );\n};\n\nexport default PaypalSetupWrapper;\n","import React, {useEffect, useRef, useState} from \"react\";\nimport AddCreditCardModal from \"./addCreditCardModal\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {RemovePartnerCard} from \"../../Actions/partnerCardRemoveAction\";\nimport PaymentSetupWrapper from \"../PaymentSetup/paymentSetupWrapper\";\nimport PaypalSetupWrapper from \"../PaypalSetup/paypalSetupWrapper\";\n\nconst NoCreditCardText = \"No credit card information found\";\nconst PARTNER_CREDIT_CARD_INFO = \"PARTNER_CREDIT_CARD_INFO\";\nconst PARTNER_CREDIT_UPDATE_CARD_STATE = \"PARTNER_CREDIT_CARD_STATE\";\nconst CARD_UPDATE_STATES = {\n pending: \"PENDING\",\n none: \"NONE\",\n success: \"SUCCESSFUL\",\n failed: \"FAILED\"\n}\n\nconst CreditCardInfoSection = () => {\n const creditCardObj = useSelector(state => state.partnerCreditCardInfo);\n const partnerDetails = useSelector(state => state.partnerDetails);\n\n const dispatch = useDispatch();\n const updateRef = useRef(null);\n const removeRef = useRef(null);\n\n const [showModal, setShowModal] = useState(false);\n const [isUpdate, setIsUpdate] = useState(false);\n const [removing, setRemoving] = useState(false);\n const handleAddCreditCard = () => {\n setShowModal(!showModal);\n }\n\n const handleRemoveCard = () => {\n setRemoving(true);\n dispatch(RemovePartnerCard());\n }\n\n useEffect(() => {\n if (creditCardObj === null) {\n setRemoving(false);\n setIsUpdate(false);\n } else setIsUpdate(true);\n }, [creditCardObj])\n\n const getCreditCardInfo = () => {\n if (creditCardObj === null) return (\n <>\n
    \n {NoCreditCardText}\n
    \n Add card\n \n )\n else return (\n <>\n
    \n Ending in {creditCardObj.last4Digits}\n
    \n
    \n Expires in {creditCardObj.expireMonth}/{creditCardObj.expireYear}\n
    \n
    \n {!removing && <>\n Update\n Remove\n }\n {removing &&\n }\n
    \n \n )\n }\n\n const showACH = () => {\n if(partnerDetails === null) return false;\n\n if (partnerDetails.id === 76294) return true;\n\n let address = partnerDetails.billingAddress;\n const usAddressKeywords = [\n 'USA',\n 'United States',\n 'United States of America',\n 'US',\n 'America',\n 'U.S.',\n 'U.S.A.'\n ];\n\n const normalizedAddress = address.toLowerCase();\n\n return usAddressKeywords.some(keyword =>\n normalizedAddress.includes(keyword.toLowerCase())\n );\n }\n\n const showPaypal = () => {\n if(partnerDetails === null) return false;\n // moin@shipday.com\n if(partnerDetails.id === 75457) return true; \n return false;\n }\n\n return (\n
    \n
    \n
    \n
    \n Credit Card\n
    \n {getCreditCardInfo()}\n
    \n {showACH() && }\n {showPaypal() && }\n \n
    \n
    \n )\n}\n\nexport default CreditCardInfoSection;\nexport {PARTNER_CREDIT_CARD_INFO, PARTNER_CREDIT_UPDATE_CARD_STATE, CARD_UPDATE_STATES};\n\n","import {removePartnerPaymentCard} from \"../Util/queries\";\nimport {GetPartnerCardDetails} from \"./partnerCardInfoDetailsAction\";\n\nexport const RemovePartnerCard = () => async dispatch => {\n try {\n let request = await removePartnerPaymentCard();\n if (request.status === 200 || request.status === 201 || request.status === 204) {\n dispatch(GetPartnerCardDetails());\n } else throw Error(request.statusText);\n } catch (e) {\n console.error(e);\n }\n}","export const API_RESPONSE_MESSAGE = \"API_RESPONSE_MESSAGE\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case API_RESPONSE_MESSAGE:\n return action.payload;\n default:\n return state;\n }\n}\n","export const PAYOUT_BANK_INFO = \"PAYOUT_BANK_INFO\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PAYOUT_BANK_INFO:\n return action.payload;\n default:\n return state;\n }\n}\n","import {findPayoutBankInfo} from \"../Util/queries\";\nimport {constructPayoutBankInfo} from \"../Factory/factory\";\nimport {PAYOUT_BANK_INFO} from \"../Reducers/payoutBankInfoReducer\";\n\nexport const getPayoutInfo = () => async dispatch => {\n try {\n const response = await findPayoutBankInfo();\n\n const payoutBankInfoObj = constructPayoutBankInfo(response.data.stripeAccountId, response.data.actorId,\n response.data.actorType, response.data.connectStatus, response.data.stripeEmail,\n response.data.accountNumber, response.data.routingNumber, response.data.accountHolder,\n response.data.ipAddress\n );\n\n dispatch({\n type: PAYOUT_BANK_INFO,\n payload: payoutBankInfoObj\n });\n } catch (e) {\n console.error(e);\n dispatch({\n type: PAYOUT_BANK_INFO,\n payload: null\n });\n }\n}\n","import React, {useEffect, useRef, useState} from \"react\";\nimport {UpdatePartnerBankInfo} from \"../../Actions/partnerBankInfoUpdateAction\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Payments/creditCardInfoSection\";\nimport axios from \"axios\";\nimport {API_RESPONSE_MESSAGE} from \"../../Reducers/apiResponseMessagesReducer\";\nimport {getPayoutInfo} from \"../../Actions/payoutBankInfoAction\";\nimport GeneralModal from \"../CommonComponents/generalModal\";\n\nconst PARTNER_BANK_INFO = \"PARTNER_BANK_INFO\";\n\nconst BankInfoHolder = () => {\n const updateState = useSelector(state => state.partnerCreditCardUpdateState);\n const apiResponseMessage = useSelector(state => state.apiResponseMessages);\n const dispatch = useDispatch();\n const [updateSuccess, setUpdateSuccess] = useState(false);\n const [updateFailed, setUpdateFailed] = useState(false);\n const [ipData, setIpData] = useState(null);\n const nameRef = useRef(null);\n const routingRef = useRef(null);\n const accRef = useRef(null);\n const firstNameRef = useRef(null);\n const lastNameRef = useRef(null);\n const emailRef = useRef(null);\n\n const updateBankInfo = (ev) => {\n ev.preventDefault();\n let accHolderName = nameRef.current.value;\n let routingNumber = routingRef.current.value;\n let accNumber = accRef.current.value;\n let firstName = firstNameRef.current.value;\n let lastName = lastNameRef.current.value;\n let email = emailRef.current.value;\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.pending\n })\n dispatch(UpdatePartnerBankInfo(routingNumber, accHolderName, accNumber, firstName, lastName, email, ipData.ip));\n }\n\n useEffect(() => {\n axios.get('https://ipapi.co/jsonp/')\n .then((response) => {\n const data = JSON.parse(response.data.substring(9, response.data.length - 2)); // Removing \"callback(\" and \");\" to parse JSON\n setIpData(data);\n })\n .catch((error) => {\n console.error('Error fetching IP data:', error);\n });\n }, []);\n\n useEffect(() => {\n if (updateState === CARD_UPDATE_STATES.success) {\n document.getElementById('payout-bank-info-modal-close').click();\n setUpdateSuccess(true);\n setTimeout(() => {\n setUpdateSuccess(false);\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.none\n });\n\n dispatch({\n type: API_RESPONSE_MESSAGE,\n payload: null\n });\n }, 5000);\n dispatch(getPayoutInfo());\n } else if (updateState === CARD_UPDATE_STATES.failed) {\n document.getElementById('payout-bank-info-modal-close').click();\n setUpdateFailed(true);\n setTimeout(() => {\n setUpdateFailed(false);\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.none\n });\n\n dispatch({\n type: API_RESPONSE_MESSAGE,\n payload: null\n });\n }, 10000);\n }\n }, [updateState]);\n\n return (\n
    \n
    Shipday will use your bank details to send you your affiliate commissions\n directly to your bank account on a monthly basis.\n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n
    A unique set of digits designating your individual bank account.\n
    \n \n
    \n\n
    \n \n
    A nine-digit code identifying your bank for electronic transfers.\n
    \n \n
    \n
    \n \n
    \n
    \n
    \n {updateSuccess &&
    \n Bank Information Updated\n
    }\n {updateFailed &&
    \n Bank Information Update Failed. {apiResponseMessage}\n
    }\n
    \n\n )\n}\n\nexport default BankInfoHolder;\nexport {PARTNER_BANK_INFO};\n","import {updatePartnerBankInfo} from \"../Util/queries\";\nimport {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Components/Payments/creditCardInfoSection\";\nimport {PARTNER_BANK_INFO} from \"../Components/Payouts/bankInfoHolder\";\nimport {constructPartnerBankInfo} from \"../Factory/factory\";\nimport {API_RESPONSE_MESSAGE} from \"../Reducers/apiResponseMessagesReducer\";\nimport axios from \"axios\";\n\nexport const UpdatePartnerBankInfo = (routingNumber, accountHolderName, accountNumber, firstName, lastName, email, clientIP) => async (dispatch) => {\n try {\n let data = {\n \"individualInfo\": {\n \"firstName\": firstName,\n \"lastName\": lastName,\n \"email\": email,\n },\n \"bankAccountInfo\": {\n \"routingNumber\": routingNumber,\n \"accountHolderName\": accountHolderName,\n \"accountNumber\": accountNumber,\n },\n \"clientIpAddress\": clientIP\n }\n let request = await updatePartnerBankInfo(data);\n if (request.status === 200 || request.status === 201 || request.status === 202) {\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.success\n })\n dispatch({\n type: PARTNER_BANK_INFO,\n payload: constructPartnerBankInfo(accountHolderName, routingNumber, accountNumber, firstName, lastName, email)\n })\n } else {\n throw new Error(`Client-side error: ${request.statusText}`);\n }\n } catch (e) {\n if(axios.isAxiosError(e) && e.response) {\n dispatch({\n type: API_RESPONSE_MESSAGE,\n payload: e.response.data.errorMessage\n })\n }\n console.error(e);\n dispatch({\n type: PARTNER_CREDIT_UPDATE_CARD_STATE,\n payload: CARD_UPDATE_STATES.failed\n });\n\n }\n}\n","export const REFERRAL_LINK = \"REFERRAL_LINK\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case REFERRAL_LINK:\n return action.payload;\n default:\n return state;\n }\n}\n","import {constructPartnerBankInfo, constructPartnerDetails} from \"../Factory/factory\";\nimport {findPartnerDetails} from \"../Util/queries\";\nimport {PARTNER_BANK_INFO} from \"../Components/Payouts/bankInfoHolder\";\nimport {REFERRAL_LINK} from \"../Reducers/referralLinkReducer\";\nimport { PARTNER_ACTIVE } from \"../Reducers/partnerActiveReducer\";\n\nconst PARTNER_DETAILS = \"PARTNER_DETAILS\";\n\nexport const getPartnerDetails = () =>\n async (dispatch) => {\n try {\n let response = await findPartnerDetails();\n if (response.data) {\n let detailsData = response.data;\n let partnerDetailsObj = constructPartnerDetails(detailsData.partnerId, detailsData.partnerType, detailsData.address, detailsData.billingAddress, detailsData.billingDiscountPercent, detailsData.companyName, detailsData.contactPerson, detailsData.titleOfContactPerson, detailsData.email, detailsData.phoneNumber, detailsData.partnerCode);\n let partnerBankInfoObj = constructPartnerBankInfo(detailsData.accountHolderName, detailsData.routingNumber, detailsData.accountNumber, detailsData.paypal);\n dispatch({\n type: PARTNER_DETAILS,\n payload: partnerDetailsObj\n })\n dispatch({\n type: PARTNER_BANK_INFO,\n payload: partnerBankInfoObj\n })\n dispatch({\n type: REFERRAL_LINK,\n payload: detailsData.invitationLink\n })\n dispatch({\n type: PARTNER_ACTIVE,\n payload: {active: detailsData.active},\n })\n } else {\n dispatch({\n type: PARTNER_DETAILS,\n payload: null,\n })\n }\n } catch (e) {\n dispatch({\n type: PARTNER_DETAILS,\n payload: null,\n })\n }\n }\n\nexport {PARTNER_DETAILS}\n","import {updatePartnerPassword} from \"../Util/queries\";\nimport {constructPartnerDetails} from \"../Factory/factory\";\nimport {PARTNER_DETAILS} from \"./partnerDetailsAction\";\n\nconst PARTNER_PROFILE_UPDATE_STATE = \"PARTNER_PROFILE_UPDATE_STATE\";\nconst PROFILE_UPDATE_SUCCESSFUL = \"PROFILE_UPDATE_SUCCESSFUL\";\nconst PROFILE_UPDATE_FAILED = \"PROFILE_UPDATE_FAILED\";\n\nexport const updateProfileInfo = (data) => async (dispatch) => {\n try {\n dispatch({\n type: PARTNER_PROFILE_UPDATE_STATE,\n payload: null\n })\n let response = await updatePartnerPassword(data);\n if (response.data) {\n let detailsData = response.data;\n let partnerDetailsObj = constructPartnerDetails(detailsData.id, detailsData.partnerType, detailsData.address, detailsData.billingAddress, detailsData.billingDiscountPercent, detailsData.companyName, detailsData.contactPerson, detailsData.titleOfContactPerson, detailsData.email, detailsData.phoneNumber, detailsData.secret);\n dispatch({\n type: PARTNER_DETAILS,\n payload: partnerDetailsObj\n })\n dispatch({\n type: PARTNER_PROFILE_UPDATE_STATE,\n payload: PROFILE_UPDATE_SUCCESSFUL\n })\n } else {\n dispatch({\n type: PARTNER_PROFILE_UPDATE_STATE,\n payload: PROFILE_UPDATE_FAILED\n })\n }\n } catch (e) {\n console.error(e);\n dispatch({\n type: PARTNER_PROFILE_UPDATE_STATE,\n payload: PROFILE_UPDATE_FAILED\n })\n }\n}\n\nexport {PARTNER_PROFILE_UPDATE_STATE, PROFILE_UPDATE_SUCCESSFUL, PROFILE_UPDATE_FAILED}\n","import React, {useEffect, useRef, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {PROFILE_UPDATE_FAILED, PROFILE_UPDATE_SUCCESSFUL, updateProfileInfo} from \"../../Actions/passwordUpdateAction\";\n\nconst PasswordUpdateSection = ({ setLoading }) => {\n const newPassCompRef = useRef(null);\n const confirmPassCompRef = useRef(null);\n const [showSuccess, setShowSuccess] = useState(false);\n const [showFailed, setShowFailed] = useState(false);\n const [passMatched, setPassMatched] = useState(null);\n const partnerProfileUpdateState = useSelector(state => state.partnerProfileInfoUpdateState);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (partnerProfileUpdateState === PROFILE_UPDATE_SUCCESSFUL) {\n setLoading(false);\n setShowSuccess(true);\n setTimeout(() => {\n setShowSuccess(false);\n }, 5000)\n } else if (partnerProfileUpdateState === PROFILE_UPDATE_FAILED) {\n setLoading(false);\n setShowFailed(true);\n setTimeout(() => {\n setShowSuccess(false);\n }, 5000)\n }\n }, [partnerProfileUpdateState])\n\n const matchPass = () => {\n setShowSuccess(false);\n setShowFailed(false);\n let newPass = newPassCompRef.current.value;\n let confirmPass = confirmPassCompRef.current.value;\n if (newPass.length === 0) setPassMatched(false);\n else if (confirmPass.length === 0) setPassMatched(null);\n else if (newPass === confirmPass) setPassMatched(true);\n else setPassMatched(false);\n }\n\n const resetUI = () => {\n newPassCompRef.current.value = \"\";\n confirmPassCompRef.current.value = \"\";\n setPassMatched(null);\n }\n\n const handleUpdatePassword = () => {\n setLoading(true);\n let data = {\n \"password\": newPassCompRef.current.value\n }\n dispatch(updateProfileInfo(data));\n resetUI();\n }\n\n const scrollIntoView = () => {\n setTimeout(() => {\n document.getElementById(\"collapsePassUpdate\").scrollIntoView({behavior: \"smooth\", block: \"end\"});\n }, 300);\n }\n\n\n return (\n
    \n
    \n

    \n \n

    \n
    \n {showSuccess &&
    \n Password Updated.\n
    }\n {showFailed &&
    \n Password Update Failed!\n
    }\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n {passMatched != null && !passMatched &&\n
    Pass did not match
    }\n
    \n \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default PasswordUpdateSection;\n","import React, {useRef} from \"react\";\n\nconst SingleInfoSection = ({label, info, showCopyBtn, copyBtnText, showChangeBtn, onChange}) => {\n const clipboardRef = useRef(null);\n if (info === null || info === undefined) return <>\n\n const copyToClipBoard = () => {\n clipboardRef.current.textContent = \"Copied\";\n navigator.clipboard.writeText(info);\n setTimeout(() => {\n clipboardRef.current.textContent = copyBtnText;\n }, 2000)\n }\n\n return (\n
    \n
    {label}
    \n
    {info}
    \n
    \n {showCopyBtn && \n
    {copyBtnText}
    \n }\n {showChangeBtn && \n
    Change
    \n }\n
    \n
    \n )\n}\n\nexport default SingleInfoSection;\n","import { useDispatch, useSelector } from \"react-redux\";\nimport { PROFILE_UPDATE_FAILED, PROFILE_UPDATE_SUCCESSFUL, updateProfileInfo } from \"../../Actions/passwordUpdateAction\";\nimport { useEffect, useRef, useState } from \"react\";\n\nconst ProfileUpdateModal = ({\n fieldName,\n displayName,\n oldValue,\n setLoading,\n}) => {\n const dispatch = useDispatch();\n const infoRef = useRef(null);\n const [success, setSuccess] = useState(null);\n const partnerProfileUpdateState = useSelector(state => state.partnerProfileInfoUpdateState);\n\n useEffect(() => {\n if (partnerProfileUpdateState === PROFILE_UPDATE_SUCCESSFUL) {\n setLoading(false);\n setSuccess(true);\n } else if (partnerProfileUpdateState === PROFILE_UPDATE_FAILED) {\n setLoading(false);\n setSuccess(false);\n }\n }, [partnerProfileUpdateState]);\n\n useEffect(() => {\n infoRef.current.value = oldValue;\n }, [fieldName])\n\n useEffect(() => {\n if (success !== null) {\n const timer = setTimeout(() => {\n if (success) {\n const modal = document.getElementById(\"profileUpdateModal\");\n if (modal) {\n const modalInstance = window.bootstrap.Modal.getInstance(modal);\n if (modalInstance) {\n modalInstance.hide();\n }\n }\n }\n setSuccess(null);\n }, 2000);\n return () => {\n clearTimeout(timer);\n setSuccess(null);\n }\n }\n }, [success]);\n\n const handleUpdate = () => {\n setLoading(true); \n let data = {\n [fieldName]: infoRef.current.value\n }\n dispatch(updateProfileInfo(data));\n }\n\n return (\n \n
    \n
    \n
    \n
    \n Change {displayName}\n
    \n
    \n
    \n \n \n \n \n
    \n {success !== null &&
    \n {success ? `${displayName} Updated.` : `${displayName} Update Failed!`}\n
    }\n
    \n \n Cancel\n
    \n
    Update
    \n
    \n
    \n \n \n );\n};\nexport default ProfileUpdateModal;\n","import React, { useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport PasswordUpdateSection from \"./passwordUpdateSection\";\nimport SingleInfoSection from \"./singleInfoSection\";\nimport { onlyFirstLetterCapital } from \"../../Util/dataHelper\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\nimport ProfileUpdateModal from \"./profileUpdateModal\";\nconst PROFILE_COMPONENT = \"PROFILE_COMPONENT\";\n\nconst mapping = {\n \"contactPerson\": \"Name\",\n \"address\": \"Address\",\n \"email\": \"Email\",\n \"phoneNo\": \"Phone No.\",\n \"companyName\": \"Company Name\",\n \"contactPersonTitle\": \"Title\",\n \"billingAddress\": \"Billing Address\"\n}\n\nconst ProfilePageWrapper = () => {\n const partnerDetails = useSelector(state => state.partnerDetails);\n const [loading, setLoading] = useState(false);\n const [selectedProfileInfo, setSelectedProfileInfo] = useState(null);\n\n if (partnerDetails === null)\n return <>\n\n const setInfoForModal = (fieldName) => {\n setSelectedProfileInfo({\n \"fieldName\": fieldName,\n \"displayName\": mapping[fieldName],\n \"oldValue\": partnerDetails?.[fieldName] ?? \"\"\n })\n }\n\n return (\n <>\n \n
    \n
    \n Personal Information\n
    \n setInfoForModal(\"contactPerson\")} />\n setInfoForModal(\"address\")} />\n \n \n
    \n Business Info\n
    \n setInfoForModal(\"companyName\")} />\n setInfoForModal(\"contactPersonTitle\")} />\n setInfoForModal(\"billingAddress\")} />\n
    \n Partner Info\n
    \n \n
    \n \n
    \n {loading && }\n
    \n \n \n )\n}\n\nexport default ProfilePageWrapper;\nexport { PROFILE_COMPONENT };\n","export const getInvoicesTable = (invoiceDataArr = []) => {\n return invoiceDataArr.map((data) => {\n let chargeDate = new Date(data.chargeTime).toDateString();\n let status = \"Pending\";\n if (data.isSuccessful) status = \"Paid\";\n let tableCol = [status, chargeDate, data.totalAmountPaid, getInvoiceViewBtn(data.invoiceUrl)]\n return tableCol;\n })\n}\n\nconst getInvoiceViewBtn = (link) => {\n return view\n}\n","import React from \"react\";\nimport {getInvoicesTable} from \"../../Util/TableHelpers/invoiceTableHelper\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {useSelector} from \"react-redux\";\n\nconst InvoicesTableHeader = [\"Status\", \"Date\", \"Amount USD\", \" \"];\nconst NoInvoicesText = \"You do not have any invoices\"\n\nconst InvoicesTableSection = () => {\n const partnerInvoices = useSelector(state => state.partnerInvoices);\n const option = {\n minWidth: false\n }\n if (partnerInvoices === null) return <>\n\n const tableBodyArr = getInvoicesTable(partnerInvoices.getInvoicesArr());\n\n return (\n
    \n Invoices\n \n
    \n )\n}\n\nexport default InvoicesTableSection;\n","import React from \"react\";\nimport InvoicesTableSection from \"./invoicesTableSection\";\nimport CreditCardInfoSection from \"./creditCardInfoSection\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\n\nconst PAYMENT_COMPONENT = \"PAYMENT_COMPONENT\";\n\nconst PaymentsWrapper = () => {\n\n\n return (\n <>\n \n
    \n
    \n Payment method\n \n \n
    \n
    \n \n )\n}\n\nexport default PaymentsWrapper;\nexport {PAYMENT_COMPONENT};\n\n","export const PAYOUT_INFO = \"PAYOUT_INFO\";\n\n\nconst initialState = null; \n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case PAYOUT_INFO:\n return action.payload;\n default:\n return state;\n }\n}\n\nconst storeMapping = {partnerPayouts: reducer};\n\nexport const partnerPayoutsSelector = (state) => state.partnerPayouts;\n\nexport default storeMapping;","import { parseDate } from \"../Util/dateHelpers\";\n\nexport const PAYOUT_TYPES = {\n STRIPE: \"STRIPE\",\n MANUAL_PAYPAL: \"MANUAL_PAYPAL\",\n};\n\nexport class PartnerPayouts {\n constructor(payoutArr) {\n this.payouts = payoutArr.map((p) => {\n switch (p.type) {\n case PAYOUT_TYPES.STRIPE:\n return new StripePayout(p);\n case PAYOUT_TYPES.MANUAL_PAYPAL:\n return new PaypalManualPayout(p);\n default:\n return null;\n }\n }).filter(x => x !== null);\n }\n\n getPayoutsSortedByDateDecreasing() {\n return this.payouts.sort((a, b) => b.getInitiatedAt() - a.getInitiatedAt());\n }\n\n hasManualPaypal() {\n return this.payouts.some(p => p.getType() === PAYOUT_TYPES.MANUAL_PAYPAL);\n }\n}\n\nexport class StripePayout {\n static PAYOUT_SUCCESS_THRESHOLD = 432000000; // 5 days\n\n constructor(payout) {\n this.initiatedAt = payout.initiatedAt;\n this.transferId = payout.transferId;\n this.stripeAccountId = payout.stripeAccountId;\n this.amountInCents = payout.amount;\n this.description = payout.description;\n }\n\n getInitiatedAt() {\n return this.initiatedAt;\n }\n\n getType() {\n return PAYOUT_TYPES.STRIPE;\n }\n\n getAmountInUsd() {\n return this.amountInCents / 100;\n }\n\n getTransferId() {\n return this.transferId;\n }\n\n getDescription() {\n return this.description;\n }\n\n isComplete() {\n return new Date().getTime() - parseDate(this.initiatedAt).getTime() >= StripePayout.PAYOUT_SUCCESS_THRESHOLD\n }\n}\n\nexport class PaypalManualPayout {\n constructor(payout) {\n this.initiatedAt = payout.initiatedAt;\n this.dbId = payout.dbId;\n this.transactionId = payout.transactionId;\n this.amountInCents = payout.amount;\n this.description = payout.description;\n this.status = payout.status;\n this.recipientEmail = payout.recipientEmail;\n }\n\n getInitiatedAt() {\n return this.initiatedAt;\n }\n\n getType() {\n return PAYOUT_TYPES.MANUAL_PAYPAL;\n }\n\n getAmountInUsd() {\n return this.amountInCents / 100;\n }\n\n getTransferId() {\n return this.transactionId;\n }\n\n getDescription() {\n return this.description;\n }\n\n getRecipientEmail() {\n return this.recipientEmail;\n }\n\n isComplete() {\n return this.status === \"SUCCESS\";\n }\n}\n","import React from \"react\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {useSelector} from \"react-redux\";\nimport { createTableHeadersAndData } from \"../../Util/TableHelpers/commonHelper\";\nimport { DATE_FORMATS, formatDate } from \"../../Util/dateHelpers\";\nimport { partnerPayoutsSelector } from \"../../Reducers/payoutsReducer\";\nimport { PAYOUT_TYPES } from \"../../Model/payoutObjects\";\n\nconst NoPayoutsText = \"You do not have any payouts\";\n\nconst columnConfigs = [\n {\n id: \"transferId\",\n name: \"TransferID\",\n dataFunc: (payout) => payout.getTransferId(),\n },\n {\n id: \"recipientEmail\",\n name: \"Recipient Email\",\n dataFunc: (payout) => payout.getType() === PAYOUT_TYPES.MANUAL_PAYPAL ? payout.getRecipientEmail() : \"--\",\n },\n {\n id: \"initiatedAt\",\n name: \"Initiated At\",\n dataFunc: (payout) => formatDate(payout.getInitiatedAt(), DATE_FORMATS.DD_MMMc_YYYY),\n },\n {\n id: \"amount\",\n name: \"Amount($)\",\n dataFunc: (payout) => payout.getAmountInUsd().toFixed(2),\n },\n {\n id: \"description\",\n name: \"Description\",\n dataFunc: (payout) => payout.getDescription(),\n },\n {\n id: \"status\",\n name: \"Status\",\n dataFunc: (payout) => payout.isComplete() ? 'Completed' : 'Processing'\n }\n];\n\nconst PayoutsTableSection = () => {\n const option = {\n minWidth: false\n }\n const payoutsObj = useSelector(partnerPayoutsSelector);\n if (payoutsObj === null) return <>\n\n const payouts = payoutsObj.getPayoutsSortedByDateDecreasing();\n const processedColumnConfigs = columnConfigs.filter(c => {\n if (c.id === \"recipientEmail\" && !payoutsObj.hasManualPaypal()) {\n return false;\n }\n return true;\n })\n const {headers, data} = createTableHeadersAndData(payouts, processedColumnConfigs);\n\n return (\n
    \n Payouts\n \n
    \n )\n}\n\nexport default PayoutsTableSection;\n","import React from \"react\";\nimport {useSelector} from \"react-redux\";\n\nconst BankDetails = () => {\n const bankInfo = useSelector(state => state.payoutBankInfo);\n const last4Digi = bankInfo.accountNumber.slice(-4);\n\n return (\n <>\n
    \n
    \n \n \n \n
    \n
    \n
    {bankInfo.accountHolder}
    \n
    Account number ending with {last4Digi}
    \n
    Routing number {bankInfo.routingNumber}
    \n
    \n
    \n {/*
    */}\n {/* Remove*/}\n {/*
    */}\n \n )\n}\n\nexport default BankDetails;\n","import React from \"react\";\nimport BankInfoHolder from \"./bankInfoHolder\";\nimport {useSelector} from \"react-redux\";\nimport BankInfoDetails from \"./bankInfoDetails\";\n\nconst BankDepositSection = () => {\n const bankInfo = useSelector(state => state.payoutBankInfo);\n\n return (\n
    \n Bank Information\n {bankInfo === null && }\n {bankInfo !== null && }\n
    \n )\n}\n\nexport default BankDepositSection;","import React, { useEffect } from \"react\";\n\nconst ConnectPaypalIdentity = () => {\n useEffect(() => {\n window.paypal.use([\"login\"], function (login) {\n login.render({\n appid:\n \"AbY9ftMWZPSdO79PNQ5kYk34_L6HBIxhW1BnKtXSqHX_wdIOn33Ls2AnVoD7eKd-RuNlc-i0ksSfw0Hm\",\n scopes:\n \"profile email https://uri.paypal.com/services/paypalattributes\",\n containerid: \"paypal-login\",\n responseType: \"code\",\n locale: \"en-us\",\n buttonType: \"CWP\",\n buttonShape: \"pill\",\n buttonSize: \"sm\",\n fullPage: \"true\",\n returnurl: \"https://partner.shipday.com/partner-portal/paypal\",\n });\n });\n }, []);\n\n return (\n
    \n
    \n You will be redirect to paypal to login and allow Shipday to send you\n your affiliate commissions directly to your paypal account on a monthly\n basis.\n
    \n
    \n
    \n );\n};\n\nexport default ConnectPaypalIdentity;\n","export const PAYPAL_IDENTITY = \"PAYPAL_IDETITY\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PAYPAL_IDENTITY:\n return action.payload;\n default:\n return state;\n }\n}\n","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { deletePaypalIdentityAction } from \"../../Actions/paypalIdentityDeleteAction\";\n\nconst PaypalIdentityDetails = ({setLoading}) => {\n const identity = useSelector(state => state.paypalIdentity);\n const dispatch = useDispatch();\n\n const removeHandler = () =>{\n setLoading(true);\n dispatch(deletePaypalIdentityAction());\n };\n\n const verified = identity?.isVerified() ?? true;\n\n return (\n <>\n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n
    {identity?.getName()}
    \n
    \n {identity?.getMaskedEmail()}\n
    \n {!verified &&
    Not Verified
    }\n
    \n
    \n\n {!verified &&
    \n Remove\n
    }\n \n );\n};\n\nexport default PaypalIdentityDetails;\n","import { PAYPAL_IDENTITY } from \"../Reducers/paypalIdentityReducer\";\nimport { deletePaypalIdentity } from \"../Util/queries\";\n\nexport const deletePaypalIdentityAction = () => async (dispatch) => {\n try {\n\n await deletePaypalIdentity();\n\n dispatch({\n type: PAYPAL_IDENTITY,\n payload: null,\n });\n } catch (e) {\n console.error(e);\n }\n};","import React, { useEffect, useState } from \"react\";\nimport {useSelector} from \"react-redux\";\nimport ConnectPaypalIdentity from \"./connectPaypalIdentity\";\nimport PaypalIdentityDetails from \"./paypalIdentityDetails\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\n\nconst PaypalIdentitySection = () => {\n const identity = useSelector(state => state.paypalIdentity);\n\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(false);\n }, [identity]);\n\n return (\n
    \n Paypal Information\n {identity === null && }\n {identity !== null && }\n\n {loading && }\n
    \n )\n}\n\nexport default PaypalIdentitySection;","import React from \"react\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport PayoutsTableSection from \"./payoutsTableSection\";\nimport BankDepositSection from \"./bankDepositSection\";\nimport PaypalIdentitySection from \"./paypalIdentiySection\";\n\nconst PAYOUTS_COMPONENT = \"PAYOUTS_COMPONENT\";\nconst PayoutsWrapper = () => {\n return (\n <>\n \n
    \n \n \n \n
    \n \n )\n}\n\nexport default PayoutsWrapper;\nexport {PAYOUTS_COMPONENT};\n","import { useSelector } from \"react-redux\";\nimport { useEffect, useState } from \"react\";\n\nconst getEmailLink = (subject, body, url) => {\n return `mailto:?subject=${encodeURIComponent(\n subject\n )}&body=${encodeURIComponent(body + \"\\n\\n\" + url)}`;\n};\n\nconst getFacebookLink = (url, text) => {\n return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(\n url\n )}"e=${encodeURIComponent(text)}`; // NOTE quote no longer supported\n};\n\nconst getTwitterLink = (url, text) => {\n return `https://twitter.com/intent/tweet?url=${encodeURIComponent(\n url\n )}&text=${encodeURIComponent(text)}`;\n};\n\nconst getLinkedinLink = (url, text, title) => {\n return `https://linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(\n url\n )}&title=${encodeURIComponent(title)}&summary=${encodeURIComponent(text)}`; // No longer works\n};\n\nconst ShareLinks = () => {\n const referralLink = useSelector((state) => state.referralLink);\n const [copied, setCopied] = useState(false);\n\n const text = `🚀 Ready to streamline your delivery operations? Discover Shipday – the platform for real-time last-mile delivery management! Sign up with my custom link for seamless scheduling and tracking`;\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(text + \"\\n\" + referralLink);\n setCopied(true);\n };\n\n useEffect(() => {\n if (copied) {\n const timer = setTimeout(() => setCopied(false), 1500);\n return () => clearTimeout(timer);\n }\n }, [copied]);\n\n return (\n
    \n
    \n

    \n Share your signup link!\n

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n );\n};\n\nexport default ShareLinks;\n","import React from \"react\";\nimport {useSelector} from \"react-redux\";\nimport SingleInfoSection from \"../Profile/singleInfoSection\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport ShareLinks from \"./shareLinks\";\n\nconst PARTNER_CODE_AND_LINK_COMPONENT = \"PARTNER_CODE_AND_LINK_COMPONENT\";\n\nconst PartnerCodeAndLinksWrapper = () => {\n const partnerDetails = useSelector(state => state.partnerDetails);\n const referralLink = useSelector(state => state.referralLink);\n if (partnerDetails === null)\n return <>\n\n return (\n <>\n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n )\n}\n\nexport default PartnerCodeAndLinksWrapper;\nexport {PARTNER_CODE_AND_LINK_COMPONENT};\n","import React from \"react\";\nimport downloadIcon from \"../../Resources/Image/sd-download.svg\";\nimport {useDispatch} from \"react-redux\";\nimport {getStoreExtendedReport} from \"../../Actions/monthlyStoreExtendedReportAction\";\nimport {getCSVDownload} from \"../../Util/TableHelpers/storeUsageHelper\";\n\nconst StoreUsageCSVDownloader = ({date, accountDetails}) => {\n const dispatch = useDispatch();\n const handleClick = () => {\n dispatch(getStoreExtendedReport(date, accountDetails.companyId, (data) => {\n let csvContent = \"data:text/csv;charset=utf-8,\" + getCSVDownload(data);\n let encodedURI = encodeURI(csvContent)\n let link = document.createElement(\"a\");\n link.setAttribute(\"href\", encodedURI);\n link.setAttribute(\"download\", accountDetails.companyName + \"_\" + date + \".csv\");\n document.body.appendChild(link); // Required for FF\n\n link.click();\n link.remove();\n }))\n }\n\n return (\n
    \n );\n}\n\nexport default StoreUsageCSVDownloader;\n","import {findStoreExtendedReport} from \"../Util/queries\";\n\nexport const getStoreExtendedReport = (date, companyId, callBack) =>\n async (dispatch) => {\n try {\n let response = await findStoreExtendedReport(companyId, date);\n\n if (response.data) {\n callBack(response.data.orders);\n } else {\n callBack(false);\n }\n } catch (e) {\n\n }\n }","import React from \"react\";\nimport TableWrapper from \"../Table/tableWrapper\";\nimport {useSelector} from \"react-redux\";\nimport MonthSelector from \"./monthSelector\";\nimport { calculateDiscountAmount, createTableHeadersAndData } from \"../../Util/TableHelpers/commonHelper\";\nimport { calculateAmountAfterDiscount, isCurrentMonth } from \"../../Util/filter\";\nimport StoreUsageCSVDownloader from \"./storeUsageCSVDownloader\";\nimport { PLAN_PAID_MAPPING } from \"../../Util/planHelper\";\n\nconst columnConfigs = [\n {\n name: \"Company Name\",\n dataFunc: ({accountData}) => accountData.companyName\n },\n {\n name: \"Admin Name\", \n dataFunc: ({accountData}) => accountData.adminName\n },\n {\n name: \"Admin Email\",\n dataFunc: ({accountData}) => accountData.email\n },\n {\n name: \"Phone Number\",\n dataFunc: ({accountData}) => accountData.phoneNumber\n },\n {\n name: \"Country\",\n dataFunc: ({accountData}) => accountData.country\n },\n {\n name: \"Current Plan\",\n dataFunc: ({accountData}) => accountData.currentPlan\n },\n {\n name: \"Total Orders\",\n dataFunc: ({paymentDataEntry}) => paymentDataEntry.numberOfOrders\n },\n {\n name: \"Total Paid Orders\",\n dataFunc: ({paymentDataEntry}) => paymentDataEntry.numberOfPaidOrders\n },\n {\n name: \"Total Amount($)\",\n dataFunc: ({paymentDataEntry}) => paymentDataEntry.billableAmount\n },\n {\n name: \"Discount Amount($)\",\n dataFunc: ({paymentDataEntry, discount}) => calculateDiscountAmount(paymentDataEntry.billableAmount, discount)\n },\n {\n name: \"Total Payable Amount($)\",\n dataFunc: ({paymentDataEntry, discount}) => calculateAmountAfterDiscount(paymentDataEntry.billableAmount, discount)\n },\n {\n name: \"Payment Status\",\n dataFunc: ({paymentDataEntry, accountData}) => {\n if (!PLAN_PAID_MAPPING[accountData.currentPlan]) return \"N/A\";\n return
    \n {paymentDataEntry.isPaid ? \"Paid\" : \"Unpaid\"}\n
    ;\n }\n },\n {\n name: \"\",\n dataFunc: ({accountData, date}) => \n }\n];\n\nconst StoreUsageTableSection = () => {\n const billingDataObj = useSelector(state => state.partnerBillingData);\n const partnerAccountsObj = useSelector(state => state.partnerAccounts);\n const partnerDetails = useSelector(state => state.partnerDetails);\n const selectedMonth = useSelector(state => state.storeUsageMonth);\n\n if (billingDataObj === null || partnerDetails == null || partnerAccountsObj == null) {\n const {headers, data} = createTableHeadersAndData([], columnConfigs);\n return (\n
    \n Usage Breakdown\n \n
    \n );\n }\n\n\n const tableInput = billingDataObj.billingFormattedObj[selectedMonth]?.billingInfos?.map(entry => {\n return {\n paymentDataEntry: entry,\n accountData: partnerAccountsObj.accountsObj[entry.companyId],\n discount: partnerDetails.billingDiscountAmount,\n date: selectedMonth\n }\n })\n\n const processedColumnConfigs = isCurrentMonth(selectedMonth) ? \n columnConfigs.filter(config => config.name !== \"Payment Status\") : \n columnConfigs;\n\n const {headers, data} = createTableHeadersAndData(tableInput, processedColumnConfigs);\n\n return (\n
    \n
    \n Usage Breakdown\n \n
    \n \n
    \n )\n}\n\nexport default StoreUsageTableSection;\n","import React from \"react\";\nimport ComponentHeader from \"../CommonComponents/componentHeader\";\nimport ThirdPartyTableSection from \"../Billing/thirdPartyTableSection\";\nimport UsageTableSection from \"../Billing/usageTableSection\";\nimport StoreUsageTableSection from \"./storeUsageTableSection\";\n\nexport const USAGE_COMPONENT = \"USAGE_COMPONENT\";\n\nconst UsageWrapper = () => {\n return (\n <>\n \n
    \n \n
    \n \n )\n}\n\nexport default UsageWrapper;\n","import React, {useEffect, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {logout} from \"../../Actions/loginAction\";\nimport {BILLING_COMPONENT} from \"../Billing/billingPageWrapper\";\nimport {DASHBOARD_COMPONENT} from \"../Dashboard/dashboardWrapper\";\nimport {constructSelectedComponent} from \"../../Factory/factory\"\nimport {EARNING_COMPONENT} from \"../Earning/earningPageWrapper\";\nimport {PROFILE_COMPONENT} from \"../Profile/profilePageWrapper\";\nimport {PAYMENT_COMPONENT} from \"../Payments/paymentsWrapper\";\nimport {PAYOUTS_COMPONENT} from \"../Payouts/payoutsWrapper\";\nimport {PARTNER_CODE_AND_LINK_COMPONENT} from \"../partnerCodeAndLinks/partnerCodeAndLinksWrapper\";\nimport {USAGE_COMPONENT} from \"../Usage/usageWrapper\";\n\nconst LEFT_SIDE_BAR = \"LEFT_SIDE_BAR\";\nconst LEFT_SIDE_BAR_SELECTED = \"LEFT_SIDE_BAR_SELECTED\";\nconst PARTNER_TYPE_AFFILIATE = \"AFFILIATE\";\nconst PARTNER_TYPE_RESELLER = \"RESELLER\";\n\nconst LeftNavbar = () => {\n const sideBarActive = useSelector(state => state.leftSideBarActive);\n const partnerDetails = useSelector(state => state.partnerDetails);\n const globalSelectedComponent = useSelector(state => state.selectedComponent);\n const [selectedComponent, setSelectedComponent] = useState(DASHBOARD_COMPONENT);\n const dispatch = useDispatch();\n const closeNavBar = () => {\n dispatch({\n type: LEFT_SIDE_BAR,\n payload: false\n })\n }\n\n const setActiveComponent = (component) => {\n setSelectedComponent(component);\n dispatch({\n type: LEFT_SIDE_BAR_SELECTED,\n payload: constructSelectedComponent(component)\n })\n }\n\n const showEarning = () => {\n if (partnerDetails.partnerType === PARTNER_TYPE_AFFILIATE) return true;\n else return false;\n }\n\n useEffect(() => {\n if (globalSelectedComponent !== null && globalSelectedComponent?.component !== selectedComponent) {\n setSelectedComponent(globalSelectedComponent.component);\n }\n }, [globalSelectedComponent?.component])\n\n if (partnerDetails === null) return <>\n\n return (\n \n
      \n {/*
      */}\n {/*
      */}\n {/* {partnerDetails.companyName}*/}\n {/*
      */}\n {/*
      */}\n {/* {partnerDetails.email}*/}\n {/*
      */}\n
    • {\n setActiveComponent(DASHBOARD_COMPONENT)\n }}>\n Accounts\n
    • \n {!showEarning() &&\n
    • {\n setActiveComponent(BILLING_COMPONENT)\n }}>\n Billing\n
    • \n }\n {showEarning() &&\n
    • {\n setActiveComponent(EARNING_COMPONENT)\n }}>\n Earnings\n
    • }\n
    • {\n setActiveComponent(USAGE_COMPONENT)\n }}>\n Usage\n
    • \n {!showEarning() &&\n
    • {\n setActiveComponent(PAYMENT_COMPONENT)\n }}>\n Payments\n
    • \n }\n {showEarning() &&\n
    • {\n setActiveComponent(PAYOUTS_COMPONENT)\n }}>\n Payouts\n
    • }\n
    • {\n setActiveComponent(PARTNER_CODE_AND_LINK_COMPONENT)\n }}>\n Partner Code and Links\n
    • \n
    • {\n setActiveComponent(PROFILE_COMPONENT)\n }}>\n Profile\n
    • \n
    • dispatch(logout())}>\n Logout\n
    • \n
    \n \n )\n}\n\nexport default LeftNavbar;\nexport {LEFT_SIDE_BAR, LEFT_SIDE_BAR_SELECTED, PARTNER_TYPE_AFFILIATE, PARTNER_TYPE_RESELLER};\n","import React, {useEffect, useRef, useState} from \"react\";\nimport {LEFT_SIDE_BAR} from \"./leftNavbar\";\nimport {useDispatch, useSelector} from \"react-redux\";\n\nconst PartnerPortalHeaderWithBtn = () => {\n const [showBorder, setShowBorder] = useState(false);\n const btnRef = useRef(null);\n const iconRef = useRef(null)\n const dispatch = useDispatch();\n const sideBarActive = useSelector(state => state.leftSideBarActive);\n const partnerDetails = useSelector(state => state.partnerDetails);\n\n const menuBtnClicked = () => {\n // if (sideBarActive) {\n // iconRef.current.classList.add(\"collapsed\");\n // } else {\n // iconRef.current.classList.remove(\"collapsed\");\n // }\n // dispatch({\n // type: LEFT_SIDE_BAR,\n // payload: !sideBarActive,\n // })\n }\n\n useEffect(() => {\n const scrollHandler = () => {\n document.getElementsByClassName('mainContainer')[0].scrollTop < 30 ? setShowBorder(false) : setShowBorder(true);\n };\n document.getElementsByClassName('mainContainer')[0].addEventListener('scroll', scrollHandler);\n return () => window.removeEventListener('scroll', scrollHandler);\n }, [showBorder])\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    {partnerDetails?.companyName}
    \n
    \n
    \n\n
    \n )\n}\n\nexport default PartnerPortalHeaderWithBtn;\n","import {constructPartnerBillingDetails} from \"../Factory/factory\";\nimport {findPartnerBilling} from \"../Util/queries\";\n\nconst PARTNER_BILLING = \"PARTNER_BILLING\"\n\nexport const getPartnerBillingDetails = () =>\n async (dispatch) => {\n try {\n let response = await findPartnerBilling();\n if (response.data) {\n let partnerBillingDetailsObj = constructPartnerBillingDetails(response.data);\n dispatch({\n type: PARTNER_BILLING,\n payload: partnerBillingDetailsObj\n })\n } else {\n dispatch({\n type: PARTNER_BILLING,\n payload: null\n })\n }\n } catch (e) {\n console.error(e)\n dispatch({\n type: PARTNER_BILLING,\n payload: null\n })\n }\n }\n\nexport {PARTNER_BILLING}","import {constructPartnerInvoice} from \"../Factory/factory\"\nimport {findPartnerPayments} from \"../Util/queries\";\n\nconst PARTNER_INVOICES = \"PARTNER_INVOICES\";\n\nexport const getPartnerInvoices = () => async dispatch => {\n try {\n let response = await findPartnerPayments();\n if (response.data === null || response.data === \"\") {\n response.data = [];\n }\n dispatch({\n type: PARTNER_INVOICES,\n payload: constructPartnerInvoice(response.data)\n })\n } catch (e) {\n console.error(e);\n dispatch({\n type: PARTNER_INVOICES,\n payload: constructPartnerInvoice([])\n })\n }\n}\n\nexport {PARTNER_INVOICES}\n","export const THIRD_PARTY_BILLING_DETAILS = \"THIRD_PARTY_BILLING_DETAILS\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case THIRD_PARTY_BILLING_DETAILS:\n return action.payload;\n default:\n return state;\n }\n}\n","import {findThirdPartyWeeklyBillingDetails} from \"../Util/queries\";\nimport {constructThirdPartyBillingDetails} from \"../Factory/factory\";\nimport {THIRD_PARTY_BILLING_DETAILS} from \"../Reducers/thirdPartyBillingReducer\";\n\nconst getPartnerThirdPartyBillingDetails = () => async dispatch => {\n try {\n let response = await findThirdPartyWeeklyBillingDetails();\n if (response.data) {\n let thirdPartyBillingObj = constructThirdPartyBillingDetails(response.data);\n if (Object.keys(thirdPartyBillingObj.weeklyBillingFormattedObj).length > 0) {\n dispatch({\n type: THIRD_PARTY_BILLING_DETAILS,\n payload: thirdPartyBillingObj\n })\n } else {\n dispatch({\n type: THIRD_PARTY_BILLING_DETAILS,\n payload: null\n })\n }\n }\n } catch (e) {\n console.error(e);\n dispatch({\n type: THIRD_PARTY_BILLING_DETAILS,\n payload: null\n })\n }\n}\n\nexport default getPartnerThirdPartyBillingDetails;\n","import { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom\";\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom\";\nimport { LEFT_SIDE_BAR_SELECTED } from \"../PartnerPortal/leftNavbar\";\nimport { constructSelectedComponent } from \"../../Factory/factory\";\nimport { PAYMENT_COMPONENT } from \"../Payments/paymentsWrapper\";\n\nfunction useHandleQuerySource() {\n const dispatch = useDispatch();\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n const queryParams = new URLSearchParams(location.search);\n if (\n queryParams.has(\"source\") &&\n queryParams.get(\"source\") === \"paypal-connect\"\n ) {\n dispatch({\n type: LEFT_SIDE_BAR_SELECTED,\n payload: constructSelectedComponent(PAYMENT_COMPONENT),\n });\n queryParams.delete(\"source\");\n history.replace({\n search: queryParams.toString(),\n });\n }\n }, [location]);\n}\n\nexport default useHandleQuerySource;\n","export const PAYPAL_INFO = \"PAYPAL_INFO\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PAYPAL_INFO:\n return action.payload;\n default:\n return state;\n }\n}\n","import { findPaypalIdentity } from \"../Util/queries\";\nimport { constructPaypalIdentity } from \"../Factory/factory\";\nimport { PAYPAL_IDENTITY } from \"../Reducers/paypalIdentityReducer\";\n\nexport const getPaypalIdentity = () => async (dispatch) => {\n try {\n const response = await findPaypalIdentity();\n\n const paypalIdentity = constructPaypalIdentity(\n response.data.email,\n response.data.accountId,\n response.data.name,\n response.data.confirmedAt,\n response.data.verified\n );\n\n dispatch({\n type: PAYPAL_IDENTITY,\n payload: paypalIdentity,\n });\n } catch (e) {\n console.error(e);\n dispatch({\n type: PAYPAL_IDENTITY,\n payload: null,\n });\n }\n};\n","export const LAST_MONTH_BILLING = \"LAST_MONTH_BILLING\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case LAST_MONTH_BILLING:\n return action.payload;\n default:\n return state;\n }\n}\n","import { constructLastMonthBilling } from \"../Factory/factory\";\nimport { LAST_MONTH_BILLING } from \"../Reducers/lastMonthBillingReducer\";\nimport { findLastMonthBilling } from \"../Util/queries\";\n\nexport const getLastMonthBilling = () => async (dispatch) => {\n try {\n const response = await findLastMonthBilling();\n\n const billing = constructLastMonthBilling(\n response.data.partnerMonthlyBillingId,\n response.data.isPaid,\n );\n\n dispatch({\n type: LAST_MONTH_BILLING,\n payload: billing,\n });\n } catch (e) {\n console.error(e);\n dispatch({\n type: LAST_MONTH_BILLING,\n payload: null,\n });\n }\n};","import React, { useEffect, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux';\nimport LoadingSpinner from '../CommonComponents/loadingSpinner';\nimport { clearLastMonthBilling } from '../../Actions/clearLastMonthBillingAction';\nimport { PARTNER_TYPE_AFFILIATE } from '../PartnerPortal/leftNavbar';\n\nconst TopBanner = () => {\n const [showBanner, setShowBanner] = useState(false);\n const [loading, setLoading] = useState(false);\n const partnerDetails = useSelector(state => state.partnerDetails);\n const dispatch = useDispatch();\n\n const lastMonthBilling = useSelector(state => state.lastMonthBilling);\n\n const isAffiliate = partnerDetails?.partnerType === PARTNER_TYPE_AFFILIATE;\n\n useEffect(() => {\n if(lastMonthBilling !== null && !lastMonthBilling.isPaid()) {\n setShowBanner(true);\n }\n }, [lastMonthBilling])\n\n useEffect(() => {\n setLoading(false)\n }, [lastMonthBilling]);\n\n const closeBanner = () => {\n setShowBanner(false);\n }\n\n const chargeHandler = () => {\n setLoading(true);\n dispatch(clearLastMonthBilling(partnerDetails?.id));\n };\n\n if(isAffiliate || !showBanner)\n return <>;\n\n return (\n
    \n
    \n
    \n \n We were NOT able to charge you for last month's payment. Please pay now to avoid account disruptions.\n \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n clear\n
    \n\n {loading && }\n
    \n )\n}\n\nexport default TopBanner","\nimport { clearPartnerDues } from \"../Util/queries\";\nimport { getLastMonthBilling } from \"./lastMonthBillingAction\";\n\nexport const clearLastMonthBilling = (partnerId) => async (dispatch) => {\n try {\n await clearPartnerDues(partnerId);\n } catch (e) {\n console.error(e);\n }\n\n dispatch(getLastMonthBilling());\n};","import React, {useEffect} from \"react\";\nimport \"../../Stylesheets/index.css\";\nimport LeftNavbar from \"./leftNavbar\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport PartnerPortalHeaderWithBtn from \"./partnerPortalHeaderWithBtn\";\nimport DashboardWrapper, {DASHBOARD_COMPONENT} from \"../Dashboard/dashboardWrapper\";\nimport BillingPageWrapper, {BILLING_COMPONENT} from \"../Billing/billingPageWrapper\";\nimport EarningPageWrapper, {EARNING_COMPONENT} from \"../Earning/earningPageWrapper\";\nimport ProfilePageWrapper, {PROFILE_COMPONENT} from \"../Profile/profilePageWrapper\";\nimport PaymentsWrapper, {PAYMENT_COMPONENT} from \"../Payments/paymentsWrapper\";\nimport {getAccountsDetails} from \"../../Actions/partnerAccountsAction\";\nimport {getPartnerDetails} from \"../../Actions/partnerDetailsAction\";\nimport {getPartnerBillingDetails} from \"../../Actions/partnerBillingDetailsAction\";\nimport {getPartnerInvoices} from \"../../Actions/partnerInvoiceAction\";\nimport {GetPartnerCardDetails} from \"../../Actions/partnerCardInfoDetailsAction\";\nimport PayoutsWrapper, {PAYOUTS_COMPONENT} from \"../Payouts/payoutsWrapper\";\nimport PartnerCodeAndLinksWrapper, {PARTNER_CODE_AND_LINK_COMPONENT} from \"../partnerCodeAndLinks/partnerCodeAndLinksWrapper\";\nimport UsageWrapper, {USAGE_COMPONENT} from \"../Usage/usageWrapper\";\nimport getPartnerThirdPartyBillingDetails from \"../../Actions/partnerThirdPartyBillingDetailsAction\";\nimport {getACHBankInfo} from \"../../Actions/achBankInfoAction\";\nimport {getPayoutInfo} from \"../../Actions/payoutBankInfoAction\";\nimport {getPartnerPayoutInfo} from \"../../Actions/partnerPayoutsAction\";\nimport useHandleQuerySource from \"../Hook/useHandleQuerySource\";\nimport { getPaypalInfo } from \"../../Actions/paypalInfoAction\";\nimport { getPaypalIdentity } from \"../../Actions/paypalIdentityAction\";\nimport TopBanner from \"../TopBanner/topBanner\";\nimport { getLastMonthBilling } from \"../../Actions/lastMonthBillingAction\";\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\nimport { partnerActiveSelector } from \"../../Reducers/partnerActiveReducer\";\n\nconst PartnerPortalWrapper = () => {\n const sideBarActive = useSelector(state => state.leftSideBarActive);\n const selectedComponent = useSelector(state => state.selectedComponent);\n const partnerActive = useSelector(partnerActiveSelector)\n const history = useHistory();\n \n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(getPartnerDetails());\n dispatch(getAccountsDetails());\n dispatch(getPartnerBillingDetails());\n dispatch(getPartnerInvoices());\n dispatch(GetPartnerCardDetails());\n dispatch(getPartnerThirdPartyBillingDetails());\n dispatch(getACHBankInfo());\n dispatch(getPayoutInfo());\n dispatch(getPartnerPayoutInfo());\n dispatch(getPaypalInfo());\n dispatch(getPaypalIdentity());\n dispatch(getLastMonthBilling());\n }, []);\n\n useEffect(() => {\n if (partnerActive !== null) {\n if (!partnerActive.active)\n history.push(\"/partner-portal/welcome\");\n }\n }, [partnerActive, history])\n\n const getSelectedComponent = () => {\n switch (selectedComponent.component) {\n case DASHBOARD_COMPONENT:\n return \n case BILLING_COMPONENT:\n return \n case EARNING_COMPONENT:\n return \n case USAGE_COMPONENT:\n return \n case PAYMENT_COMPONENT:\n return \n case PROFILE_COMPONENT:\n return \n case PARTNER_CODE_AND_LINK_COMPONENT:\n return \n case PAYOUTS_COMPONENT:\n return \n default:\n return \n }\n }\n\n useHandleQuerySource();\n\n return (\n
    \n \n
    \n \n
    \n \n
    \n {getSelectedComponent()}\n
    \n
    \n
    \n
    \n )\n}\n\nexport default PartnerPortalWrapper;\n","import {getPayoutsInfo} from \"../Util/queries\";\nimport { PartnerPayouts } from \"../Model/payoutObjects\";\nimport { PAYOUT_INFO } from \"../Reducers/payoutsReducer\";\n\nexport const getPartnerPayoutInfo = () => async dispatch => {\n try {\n let response = await getPayoutsInfo();\n if (response.data === null || response.data === \"\" || response.status === 400) {\n response.data = [];\n }\n dispatch({\n type: PAYOUT_INFO,\n payload: new PartnerPayouts(response.data),\n })\n } catch (e) {\n console.error(e);\n dispatch({\n type: PAYOUT_INFO,\n payload: new PartnerPayouts([]),\n })\n }\n}\n","import { findPaypalInfo } from \"../Util/queries\";\nimport { constructPaypalInfo } from \"../Factory/factory\";\nimport { PAYPAL_INFO } from \"../Reducers/paypalInfoReducer\";\n\nexport const getPaypalInfo = () => async (dispatch) => {\n try {\n const response = await findPaypalInfo();\n\n const paypalInfo = constructPaypalInfo(\n response.data.paypalAccountId,\n response.data.paypalEmail,\n response.data.paypalCustomerId,\n response.data.confirmedAt\n );\n\n dispatch({\n type: PAYPAL_INFO,\n payload: paypalInfo,\n });\n } catch (e) {\n console.error(e);\n dispatch({\n type: PAYPAL_INFO,\n payload: null,\n });\n }\n};\n","import React from \"react\";\nimport {Redirect, Route} from \"react-router-dom\";\nimport {getJwtToken} from \"./Util/localCache\";\n\nconst ProtectedRoute = ({component: Component, ...otherProps}) => {\n return (\n {\n let storedToken = getJwtToken();\n if (storedToken !== \"\" && storedToken !== null && storedToken.length > 0) return \n return ()\n }\n }/>\n )\n}\n\nexport default ProtectedRoute;\n","export default __webpack_public_path__ + \"static/media/logo.1d675d81.png\";","import React from \"react\";\nimport logo from \"../../Resources/Image/logo.png\";\n\nconst LogoSection = () => {\n return (\n
    \n
    \n {\"Shipday\"}\n \n \n
    \n
    \n );\n}\n\nexport default LogoSection;\n","import React from \"react\";\nimport LoginForm from \"./loginForm\";\nimport LogoSection from \"./logoSection\";\nimport \"../../Stylesheets/login.css\";\n\nconst LoginPageWrapper = () => {\n\n return (\n
    \n \n \n
    \n )\n}\n\nexport default LoginPageWrapper;\n","import React from \"react\";\n\nconst StateLines = ({totalLineCount, greenLineCount}) => {\n const getLines = () => {\n let lines = []\n for (let i = 0; i < totalLineCount; i++) {\n lines.push(
    );\n }\n return lines;\n }\n return (\n
    \n {getLines()}\n
    \n )\n}\n\nexport default StateLines;\n","import React from \"react\";\nimport StateLines from \"../CommonComponents/stateLines\";\n\nconst TopBanner = ({progress, total}) => {\n \n return (\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n )\n}\n\nexport default TopBanner;\n","import React from \"react\";\n\nconst BecomePartner = ({handleNext}) => {\n \n return (\n
    \n
    Become a Shipday Partner today.
    \n
    Our Partner Program is for web designers, developers, digital marketers,\n agencies, and freelancers that help merchants set up their e-commerce businesses.\n

    \n Get new clients and and earn 20% or more in monthly revenue share—it's free to join. Here’s how to get started:\n
    \n
    \n
    \n \n \n \n \n
    Sign up as a partner for free
    \n
    \n
    \n \n \n \n \n
    Create accounts with your referral link
    \n
    \n
    \n \n \n \n \n
    Set up customers and earn money!
    \n
    \n
    \n
    \n {/*
    Skip
    */}\n
    Become a Partner
    \n
    \n
    \n )\n}\n\nexport default BecomePartner;","import React, {useRef} from \"react\";\n\nconst BasicInfo = ({setState, basicInfoObj, setBasicInfo}) => {\n const businessRef = useRef(null);\n const billingRef = useRef(null);\n const companyNameRef = useRef(null);\n const nameRef = useRef(null);\n const titleRef = useRef(null);\n\n const handleNext = () => {\n setState(\"MORE_DETAILS\");\n }\n\n const handleBack = () => {\n setState(\"INIT\");\n }\n\n const handleSubmit = (ev) => {\n let businessAddress = businessRef.current.value;\n let billingAddress = billingRef.current.value;\n let companyName = companyNameRef.current.value;\n let contactName = nameRef.current.value;\n let contactTitle = titleRef.current.value;\n\n let detailsObj = {\n businessAddress, billingAddress, companyName, contactName, contactTitle\n }\n\n setBasicInfo(detailsObj);\n handleNext();\n }\n\n return (\n
    \n
    Tell us more about your business
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    Back
    \n \n
    \n
    \n )\n}\n\nexport default BasicInfo;\n","export const OTP = \"OTP\";\n\nconst initialState = {\n phoneNumber: null,\n otp: null,\n generated: null,\n attemptsLeft: null,\n verified: false,\n genError: false,\n verifEror: false,\n}\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case OTP:\n return {...state, ...action.payload};\n default:\n return state;\n }\n}\n","import { OTP } from \"../Reducers/otpReducer\";\nimport {addNewPartner, createOtp, createPartnerV2, verifyOtp} from \"../Util/queries\";\nimport verifyEmailAndPass from \"./loginAction\";\n\nexport const SIGN_UP_STATE = \"SIGN_UP_STATE\";\n\nconst newUserSignUp = (companyName, phoneNumber, emailAddress,\n address, contactPerson,\n contactPersonTitle, billingAddress,\n password, countryCode) => async dispatch => {\n try {\n let response = await addNewPartner({\n companyName: companyName, address: address,\n phoneNumber: phoneNumber, email: emailAddress, contactPerson: contactPerson,\n titleOfContactPerson: contactPersonTitle, billingAddress: billingAddress,\n partnerType: \"AFFILIATE\", password: password, countryCode: countryCode\n })\n\n if (response.status === 200 || response.status === 201) {\n dispatch(verifyEmailAndPass(emailAddress, password))\n } else {\n dispatch({\n type: SIGN_UP_STATE,\n payload: false\n })\n }\n } catch (e) {\n dispatch({\n type: SIGN_UP_STATE,\n payload: false\n })\n }\n}\n\nconst fixPhone = (phone) => {\n if (phone?.[0] === '+') return phone;\n else return '+' + phone;\n}\n\nexport const generateOtp = (phoneNumber) => async dispatch => {\n dispatch({\n type: OTP,\n payload: {phoneNumber: phoneNumber, generated: null, verified: false, genError: false, verifError: false}\n })\n try {\n let response = await createOtp({phoneNumber: fixPhone(phoneNumber)});\n if (response.data.success) {\n dispatch({\n type: OTP,\n payload: {phoneNumber: phoneNumber, generated: true, attemptsLeft: 3, verified: null, genError: false, verifError: false}\n })\n } else {\n dispatch({\n type: OTP,\n payload: {phoneNumber: phoneNumber, generated: false, genError: false, verifError: false}\n })\n }\n\n } catch (e) {\n dispatch({\n type: OTP,\n payload: {phoneNumber: phoneNumber, generated: null, genError: true}\n })\n }\n}\n\nexport const verifyOtpAndCreatePartner = (data, otp) => async dispatch => {\n const payload = {\n contactPerson: data.firstName + \" \" + data.lastName,\n email: data.email,\n phoneNumber: fixPhone(data.phoneNumber),\n countryCode: data.country,\n password: data.password,\n otp: otp,\n }\n dispatch({\n type: OTP,\n payload: {phoneNumber: data.phoneNumber, verified: null, genError: false, verifError: false}\n })\n try {\n let response = await verifyOtp({phoneNumber: payload.phoneNumber, otp: otp});\n if (response.data.success) {\n dispatch({\n type: OTP,\n payload: {phoneNumber: data.phoneNumber, verified: true, attemptsLeft: 0, genError: false, verifError: false}\n });\n } else {\n dispatch({\n type: OTP,\n payload: {phoneNumber: data.phoneNumber, verified: false, attemptsLeft: response.data.remainingAttempts, genError: false, \n verifError: response.data.remainingAttempts === 0}\n });\n return;\n }\n } catch (e) {\n dispatch({\n type: OTP,\n payload: {phoneNumber: data.phoneNumber, verified: false, verifError: true}\n })\n return;\n }\n \n dispatch({\n type: SIGN_UP_STATE,\n payload: null\n })\n try {\n let response = await createPartnerV2(payload)\n\n if (response.status === 200 || response.status === 201) {\n dispatch(verifyEmailAndPass(payload.email, payload.password))\n } else {\n dispatch({\n type: SIGN_UP_STATE,\n payload: false\n })\n }\n } catch (e) {\n dispatch({\n type: SIGN_UP_STATE,\n payload: false\n })\n }\n}\n\nexport default newUserSignUp;\n","import React, {useRef} from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport newUserSignUp, {SIGN_UP_STATE} from \"../../Actions/signupAction\";\n\nconst MoreDetails = ({setState, basicInfo}) => {\n const setPassRef = useRef(null);\n const confirmPassRef = useRef(null);\n const phoneRef = useRef(null);\n const emailRef = useRef(null);\n const signupRef = useRef(null);\n const dispatch = useDispatch();\n\n const handleNext = () => {\n setState(\"LOGGING_IN\");\n }\n\n const handleBack = () => {\n setState(\"BASIC_INFO\");\n }\n\n const handleSubmit = (ev) => {\n let phoneNumber = phoneRef.current.value;\n let email = emailRef.current.value;\n let password = setPassRef.current.value;\n\n console.log(phoneNumber, email, password, basicInfo);\n dispatch({\n type: SIGN_UP_STATE,\n payload: null\n })\n dispatch(newUserSignUp(basicInfo.companyName, phoneNumber, email, basicInfo.businessAddress, basicInfo.contactName, basicInfo.contactTitle, basicInfo.billingAddress, password, \"\"))\n handleNext();\n }\n\n const handlePassMatch = () => {\n if (confirmPassRef.current.value !== \"\" && setPassRef.current.value !== confirmPassRef.current.value) {\n console.log(\"Did not match\");\n signupRef.current.disabled = true;\n confirmPassRef.current.style.border = \"1px solid red\";\n } else if (confirmPassRef.current.value === \"\") {\n confirmPassRef.current.style.border = \"\";\n } else {\n signupRef.current.disabled = false;\n confirmPassRef.current.style.border = \"\";\n }\n\n }\n\n return (\n
    \n
    A few more details
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    Back
    \n \n
    \n
    \n )\n}\n\nexport default MoreDetails;\n","import React from \"react\";\n\nconst LoggingIn = () => {\n return (\n
    \n
    \n Loading...\n
    \n
    Creating your Partner account
    \n
    \n )\n}\n\nexport default LoggingIn;","import React, {useEffect, useState} from \"react\";\nimport TopBanner from \"./topBanner\";\nimport BecomePartner from \"./becomePartner\";\nimport BasicInfo from \"./basicInfo\";\nimport MoreDetails from \"./moreDetails\";\nimport LoggingIn from \"./loggingIn\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {SIGN_UP_STATE} from \"../../Actions/signupAction\";\n\nconst stateGreenLineMap = {\n \"INIT\": 1,\n \"BASIC_INFO\": 2,\n \"MORE_DETAILS\": 3,\n \"LOGGING_IN\": 4\n}\n\nconst SignupWrapper = () => {\n const [state, setState] = useState(\"INIT\");\n const [basicInfo, setBasicInfo] = useState({});\n const signupState = useSelector(state => state.signingUpState);\n const dispatch = useDispatch();\n const getStateWiseForm = () => {\n switch (state) {\n case \"BASIC_INFO\":\n return \n break;\n\n case \"MORE_DETAILS\":\n return \n break;\n\n case \"INIT\":\n default:\n return setState(\"BASIC_INFO\")}/>\n }\n }\n\n useEffect(() => {\n if (signupState === false) {\n setState(\"MORE_DETAILS\");\n setTimeout(() => {\n dispatch({\n type: SIGN_UP_STATE,\n payload: null\n });\n }, 10000);\n }\n }, [signupState])\n\n if (state === \"LOGGING_IN\")\n return (\n
    \n \n \n
    \n );\n\n return (\n
    \n \n
    \n
    {getStateWiseForm()}
    \n {signupState === false &&\n
    \n Sign up failed. User already exists. Please try with a\n different email.
    }\n
    \n
    \n )\n}\n\nexport default SignupWrapper;\n","export const countryList = [\n { countryName: \"Afghanistan\", countryCode: \"AF\", },\n { countryName: \"Albania\", countryCode: \"AL\", },\n { countryName: \"Algeria\", countryCode: \"DZ\", },\n { countryName: \"American Samoa\", countryCode: \"AS\", },\n { countryName: \"Andorra\", countryCode: \"AD\", },\n { countryName: \"Angola\", countryCode: \"AO\", },\n { countryName: \"Anguilla\", countryCode: \"AI\", },\n { countryName: \"Antigua and Barbuda\", countryCode: \"AG\", },\n { countryName: \"Argentina\", countryCode: \"AR\", },\n { countryName: \"Armenia\", countryCode: \"AM\", },\n { countryName: \"Aruba\", countryCode: \"AW\", },\n { countryName: \"Ascension\", countryCode: \"AC\", },\n { countryName: \"Australia\", countryCode: \"AU\", },\n { countryName: \"Australian External Territories\", countryCode: \"AX\", },\n { countryName: \"Austria\", countryCode: \"AT\", },\n { countryName: \"Azerbaijan\", countryCode: \"AZ\", },\n { countryName: \"Bahamas\", countryCode: \"BS\", },\n { countryName: \"Bahrain\", countryCode: \"BH\", },\n { countryName: \"Barbados\", countryCode: \"BB\", },\n { countryName: \"Belarus\", countryCode: \"BY\", },\n { countryName: \"Belgium\", countryCode: \"BE\", },\n { countryName: \"Belize\", countryCode: \"BZ\", },\n { countryName: \"Benin\", countryCode: \"BJ\", },\n { countryName: \"Bermuda\", countryCode: \"BM\", },\n { countryName: \"Bhutan\", countryCode: \"BT\", },\n { countryName: \"Bolivia\", countryCode: \"BO\", },\n { countryName: \"Bosnia and Herzegovina\", countryCode: \"BA\", },\n { countryName: \"Botswana\", countryCode: \"BW\", },\n { countryName: \"Brazil\", countryCode: \"BR\", },\n { countryName: \"British Virgin Islands\", countryCode: \"VG\", },\n { countryName: \"Brunei Darussalam\", countryCode: \"BN\", },\n { countryName: \"Bulgaria\", countryCode: \"BG\", },\n { countryName: \"Burkina Faso\", countryCode: \"BF\", },\n { countryName: \"Burundi\", countryCode: \"BI\", },\n { countryName: \"Cambodia\", countryCode: \"KH\", },\n { countryName: \"Cameroon\", countryCode: \"CM\", },\n { countryName: \"Canada\", countryCode: \"CA\", },\n { countryName: \"Cape Verde\", countryCode: \"CV\", },\n { countryName: \"Cayman Islands\", countryCode: \"KY\", },\n { countryName: \"Central African Republic\", countryCode: \"CF\", },\n { countryName: \"Chad\", countryCode: \"TD\", },\n { countryName: \"Chile\", countryCode: \"CL\", },\n { countryName: \"China\", countryCode: \"CN\", },\n { countryName: \"Colombia\", countryCode: \"CO\", },\n { countryName: \"Comoros\", countryCode: \"KM\", },\n { countryName: \"Congo\", countryCode: \"CG\", },\n { countryName: \"Cook Islands\", countryCode: \"CK\", },\n { countryName: \"Costa Rica\", countryCode: \"CR\", },\n { countryName: \"Cote d'Ivoire\", countryCode: \"CI\", },\n { countryName: \"Croatia\", countryCode: \"HR\", },\n { countryName: \"Cuba\", countryCode: \"CU\", },\n { countryName: \"Curacao\", countryCode: \"CW\", },\n { countryName: \"Cyprus\", countryCode: \"CY\", },\n { countryName: \"Czech Republic\", countryCode: \"CZ\", },\n { countryName: \"Democratic Republic of the Congo\", countryCode: \"CD\", },\n { countryName: \"Denmark\", countryCode: \"DK\", },\n { countryName: \"Diego Garcia\", countryCode: \"DG\", },\n { countryName: \"Djibouti\", countryCode: \"DJ\", },\n { countryName: \"Dominica\", countryCode: \"DM\", },\n { countryName: \"Dominican Republic\", countryCode: \"DO\", },\n { countryName: \"East Timor\", countryCode: \"TL\", },\n { countryName: \"Ecuador\", countryCode: \"EC\", },\n { countryName: \"Egypt\", countryCode: \"EG\", },\n { countryName: \"El Salvador\", countryCode: \"SV\", },\n { countryName: \"Equatorial Guinea\", countryCode: \"GQ\", },\n { countryName: \"Eritrea\", countryCode: \"ER\", },\n { countryName: \"Estonia\", countryCode: \"EE\", },\n { countryName: \"Ethiopia\", countryCode: \"ET\", },\n { countryName: \"Falkland Islands\", countryCode: \"FK\", },\n { countryName: \"Faroe Islands\", countryCode: \"FO\", },\n { countryName: \"Fiji\", countryCode: \"FJ\", },\n { countryName: \"Finland\", countryCode: \"FI\", },\n { countryName: \"France\", countryCode: \"FR\", },\n { countryName: \"French Guiana\", countryCode: \"GF\", },\n { countryName: \"French Polynesia\", countryCode: \"PF\", },\n { countryName: \"Gabon\", countryCode: \"GA\", },\n { countryName: \"Gambia\", countryCode: \"GM\", },\n { countryName: \"Georgia\", countryCode: \"GE\", },\n { countryName: \"Germany\", countryCode: \"DE\", },\n { countryName: \"Ghana\", countryCode: \"GH\", },\n { countryName: \"Gibraltar\", countryCode: \"GI\", },\n { countryName: \"Greece\", countryCode: \"GR\", },\n { countryName: \"Greenland\", countryCode: \"GL\", },\n { countryName: \"Grenada\", countryCode: \"GD\", },\n { countryName: \"Guadeloupe\", countryCode: \"GP\", },\n { countryName: \"Guam\", countryCode: \"GU\", },\n { countryName: \"Guatemala\", countryCode: \"GT\", },\n { countryName: \"Guinea\", countryCode: \"GN\", },\n { countryName: \"Guinea-Bissau\", countryCode: \"GW\", },\n { countryName: \"Guyana\", countryCode: \"GY\", },\n { countryName: \"Haiti\", countryCode: \"HT\", },\n { countryName: \"Honduras\", countryCode: \"HN\", },\n { countryName: \"Hong Kong\", countryCode: \"HK\", },\n { countryName: \"Hungary\", countryCode: \"HU\", },\n { countryName: \"Iceland\", countryCode: \"IS\", },\n { countryName: \"India\", countryCode: \"IN\", },\n { countryName: \"Indonesia\", countryCode: \"ID\", },\n { countryName: \"Iran\", countryCode: \"IR\", },\n { countryName: \"Iraq\", countryCode: \"IQ\", },\n { countryName: \"Ireland\", countryCode: \"IE\", },\n { countryName: \"Israel\", countryCode: \"IL\", },\n { countryName: \"Italy\", countryCode: \"IT\", },\n { countryName: \"Jamaica\", countryCode: \"JM\", },\n { countryName: \"Japan\", countryCode: \"JP\", },\n { countryName: \"Jordan\", countryCode: \"JO\", },\n { countryName: \"Kazakhstan\", countryCode: \"KZ\", },\n { countryName: \"Kenya\", countryCode: \"KE\", },\n { countryName: \"Kiribati\", countryCode: \"KI\", },\n { countryName: \"Kosovo\", countryCode: \"XK\", },\n { countryName: \"Kuwait\", countryCode: \"KW\", },\n { countryName: \"Kyrgyzstan\", countryCode: \"KG\", },\n { countryName: \"Laos\", countryCode: \"LA\", },\n { countryName: \"Latvia\", countryCode: \"LV\", },\n { countryName: \"Lebanon\", countryCode: \"LB\", },\n { countryName: \"Lesotho\", countryCode: \"LS\", },\n { countryName: \"Liberia\", countryCode: \"LR\", },\n { countryName: \"Libya\", countryCode: \"LY\", },\n { countryName: \"Liechtenstein\", countryCode: \"LI\", },\n { countryName: \"Lithuania\", countryCode: \"LT\", },\n { countryName: \"Luxembourg\", countryCode: \"LU\", },\n { countryName: \"Macao\", countryCode: \"MO\", },\n { countryName: \"Macedonia\", countryCode: \"MK\", },\n { countryName: \"Madagascar\", countryCode: \"MG\", },\n { countryName: \"Malawi\", countryCode: \"MW\", },\n { countryName: \"Malaysia\", countryCode: \"MY\", },\n { countryName: \"Maldives\", countryCode: \"MV\", },\n { countryName: \"Mali\", countryCode: \"ML\", },\n { countryName: \"Malta\", countryCode: \"MT\", },\n { countryName: \"Marshall Islands\", countryCode: \"MH\", },\n { countryName: \"Martinique\", countryCode: \"MQ\", },\n { countryName: \"Mauritania\", countryCode: \"MR\", },\n { countryName: \"Mauritius\", countryCode: \"MU\", },\n { countryName: \"Mexico\", countryCode: \"MX\", },\n { countryName: \"Micronesia\", countryCode: \"FM\", },\n { countryName: \"Moldova\", countryCode: \"MD\", },\n { countryName: \"Monaco\", countryCode: \"MC\", },\n { countryName: \"Mongolia\", countryCode: \"MN\", },\n { countryName: \"Montenegro\", countryCode: \"ME\", },\n { countryName: \"Montserrat\", countryCode: \"MS\", },\n { countryName: \"Morocco\", countryCode: \"MA\", },\n { countryName: \"Mozambique\", countryCode: \"MZ\", },\n { countryName: \"Myanmar\", countryCode: \"MM\", },\n { countryName: \"Namibia\", countryCode: \"NA\", },\n { countryName: \"Nauru\", countryCode: \"NR\", },\n { countryName: \"Nepal\", countryCode: \"NP\", },\n { countryName: \"Netherlands\", countryCode: \"NL\", },\n { countryName: \"Netherlands Antilles\", countryCode: \"AN\", },\n { countryName: \"New Caledonia\", countryCode: \"NC\", },\n { countryName: \"New Zealand\", countryCode: \"NZ\", },\n { countryName: \"Nicaragua\", countryCode: \"NI\", },\n { countryName: \"Niger\", countryCode: \"NE\", },\n { countryName: \"Nigeria\", countryCode: \"NG\", },\n { countryName: \"Niue\", countryCode: \"NU\", },\n { countryName: \"North Korea\", countryCode: \"KP\", },\n { countryName: \"Northern Mariana Islands\", countryCode: \"MP\", },\n { countryName: \"Norway\", countryCode: \"NO\", },\n { countryName: \"Oman\", countryCode: \"OM\", },\n { countryName: \"Pakistan\", countryCode: \"PK\", },\n { countryName: \"Palau\", countryCode: \"PW\", },\n { countryName: \"Palestine\", countryCode: \"PS\", },\n { countryName: \"Panama\", countryCode: \"PA\", },\n { countryName: \"Papua New Guinea\", countryCode: \"PG\", },\n { countryName: \"Paraguay\", countryCode: \"PY\", },\n { countryName: \"Peru\", countryCode: \"PE\", },\n { countryName: \"Philippines\", countryCode: \"PH\", },\n { countryName: \"Poland\", countryCode: \"PL\", },\n { countryName: \"Portugal\", countryCode: \"PT\", },\n { countryName: \"Puerto Rico\", countryCode: \"PR\", },\n { countryName: \"Qatar\", countryCode: \"QA\", },\n { countryName: \"Reunion\", countryCode: \"RE\", },\n { countryName: \"Romania\", countryCode: \"RO\", },\n { countryName: \"Russia\", countryCode: \"RU\", },\n { countryName: \"Rwanda\", countryCode: \"RW\", },\n { countryName: \"Saint Helena\", countryCode: \"SH\", },\n { countryName: \"Saint Kitts and Nevis\", countryCode: \"KN\", },\n { countryName: \"Saint Lucia\", countryCode: \"LC\", },\n { countryName: \"Saint Pierre and Miquelon\", countryCode: \"PM\", },\n { countryName: \"Saint Vincent and Grenadines\", countryCode: \"VC\", },\n { countryName: \"Samoa\", countryCode: \"WS\", },\n { countryName: \"San Marino\", countryCode: \"SM\", },\n { countryName: \"Sao Tome and Principe\", countryCode: \"ST\", },\n { countryName: \"Saudi Arabia\", countryCode: \"SA\", },\n { countryName: \"Senegal\", countryCode: \"SN\", },\n { countryName: \"Serbia\", countryCode: \"RS\", },\n { countryName: \"Seychelles\", countryCode: \"SC\", },\n { countryName: \"Sierra Leone\", countryCode: \"SL\", },\n { countryName: \"Singapore\", countryCode: \"SG\", },\n { countryName: \"Slovakia\", countryCode: \"SK\", },\n { countryName: \"Slovenia\", countryCode: \"SI\", },\n { countryName: \"Solomon Islands\", countryCode: \"SB\", },\n { countryName: \"Somalia\", countryCode: \"SO\", },\n { countryName: \"South Africa\", countryCode: \"ZA\", },\n { countryName: \"South Korea\", countryCode: \"KR\", },\n { countryName: \"South Sudan\", countryCode: \"SS\", },\n { countryName: \"Spain\", countryCode: \"ES\", },\n { countryName: \"Sri Lanka\", countryCode: \"LK\", },\n { countryName: \"Sudan\", countryCode: \"SD\", },\n { countryName: \"Suriname\", countryCode: \"SR\", },\n { countryName: \"Swaziland\", countryCode: \"SZ\", },\n { countryName: \"Sweden\", countryCode: \"SE\", },\n { countryName: \"Switzerland\", countryCode: \"CH\", },\n { countryName: \"Syria\", countryCode: \"SY\", },\n { countryName: \"Taiwan\", countryCode: \"TW\", },\n { countryName: \"Tajikistan\", countryCode: \"TJ\", },\n { countryName: \"Tanzania\", countryCode: \"TZ\", },\n { countryName: \"Thailand\", countryCode: \"TH\", },\n { countryName: \"Togo\", countryCode: \"TG\", },\n { countryName: \"Tokelau\", countryCode: \"TK\", },\n { countryName: \"Tonga\", countryCode: \"TO\", },\n { countryName: \"Trinidad and Tobago\", countryCode: \"TT\", },\n { countryName: \"Tunisia\", countryCode: \"TN\", },\n { countryName: \"Turkey\", countryCode: \"TR\", },\n { countryName: \"Turkmenistan\", countryCode: \"TM\", },\n { countryName: \"Turks and Caicos Islands\", countryCode: \"TC\", },\n { countryName: \"Tuvalu\", countryCode: \"TV\", },\n { countryName: \"Uganda\", countryCode: \"UG\", },\n { countryName: \"Ukraine\", countryCode: \"UA\", },\n { countryName: \"United Arab Emirates\", countryCode: \"AE\", },\n { countryName: \"United Kingdom\", countryCode: \"GB\", },\n { countryName: \"United States\", countryCode: \"US\", },\n { countryName: \"Uruguay\", countryCode: \"UY\", },\n { countryName: \"US Virgin Islands\", countryCode: \"VI\", },\n { countryName: \"Uzbekistan\", countryCode: \"UZ\", },\n { countryName: \"Vanuatu\", countryCode: \"VU\", },\n { countryName: \"Vatican City\", countryCode: \"VA\", },\n { countryName: \"Venezuela\", countryCode: \"VE\", },\n { countryName: \"Vietnam\", countryCode: \"VN\", },\n { countryName: \"Wallis and Futuna\", countryCode: \"WF\", },\n { countryName: \"Yemen\", countryCode: \"YE\", },\n { countryName: \"Zambia\", countryCode: \"ZM\", },\n { countryName: \"Zimbabwe\", countryCode: \"ZW\", },\n { countryName: \"Canary Islands\", countryCode: \"CaI\", },\n { countryName: \"Antarctica\", countryCode: \"AQ\", },\n { countryName: \"Sint Maarten (Dutch part)\", countryCode: \"SX\", },\n];\n","import React from \"react\";\nimport {countryList} from \"../../Util/countryListHelper\";\n\nconst CountryList = () => {\n const getAllCountryOptions = () => {\n return countryList.map((country) => {\n return ;\n })\n }\n return (\n <>\n {getAllCountryOptions()}\n \n );\n}\n\nexport default CountryList;\n\n","import React, {useEffect, useRef, useState} from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { generateOtp, SIGN_UP_STATE } from \"../../Actions/signupAction\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\nimport CountryList from \"../SignUp/countryList\";\nimport PhoneInput from \"react-phone-input-2\";\nimport 'react-phone-input-2/lib/style.css'\n\n\n\nconst BasicInfoV2 = ({setFormdata, formdata, handleNext, handleBack}) => {\n const otpInfo = useSelector(state => state.otp);\n const signupState = useSelector(state => state.signingUpState);\n const dispatch = useDispatch();\n\n const [loading, setLoading] = useState(false);\n const firstNameRef = useRef(null);\n const lastNameRef = useRef(null);\n const emailRef = useRef(null);\n \n const passwordRef = useRef(null);\n const confirmPasswordRef = useRef(null);\n const nextRef = useRef(null);\n\n const [country, setCountry] = useState(formdata?.country ?? 'US');\n const [phone, setPhone] = useState(formdata?.phoneNumber);\n\n const handlePhoneChange = (value) => {\n setPhone(value);\n };\n\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (error) {\n let timer = setTimeout(() => setError(null), 10 * 1000);\n return () => clearTimeout(timer);\n }\n }, [error])\n\n useEffect(() => {\n firstNameRef.current.value = formdata?.firstName ?? '';\n lastNameRef.current.value = formdata?.lastName ?? '';\n emailRef.current.value = formdata?.email ?? '';\n passwordRef.current.value = formdata?.password ?? '';\n confirmPasswordRef.current.value = formdata?.password ?? '';\n }, [formdata]);\n\n useEffect(() => {\n if (loading && otpInfo.generated !== null) {\n handleNext();\n return;\n }\n\n if(loading && otpInfo.genError) {\n setError(\"Cannot initiate phone number verification, please try later\");\n setLoading(false);\n return;\n }\n\n if (otpInfo.verifError) {\n setError(\"Wrong OTP provided or OTP expired\");\n setLoading(false);\n return;\n }\n }, [otpInfo, loading]);\n\n useEffect(() => {\n if (signupState === false) {\n setTimeout(() => {\n dispatch({type: SIGN_UP_STATE,payload: null});\n }, 10000);\n setError(\"Partner with email or phone number already exists\");\n }\n }, [signupState]);\n \n\n const handleSubmit = (ev) => {\n ev.preventDefault();\n\n setFormdata({\n ...formdata,\n firstName: firstNameRef.current.value,\n lastName: lastNameRef.current.value,\n email: emailRef.current.value,\n country: country,\n phoneNumber: phone,\n password: passwordRef.current.value,\n })\n\n setLoading(true);\n dispatch(generateOtp(phone));\n }\n\n const handlePassMatch = () => {\n if (confirmPasswordRef.current.value !== \"\" && passwordRef.current.value !== confirmPasswordRef.current.value) {\n nextRef.current.disabled = true;\n confirmPasswordRef.current.style.border = \"1px solid red\";\n } else if (confirmPasswordRef.current.value === \"\") {\n confirmPasswordRef.current.style.border = \"\";\n } else {\n nextRef.current.disabled = false;\n confirmPasswordRef.current.style.border = \"\";\n }\n\n }\n\n return (\n
    \n
    Tell us about you
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n { \n error &&
    \n {error}\n
    \n }\n
    \n
    Back
    \n \n
    \n {loading && }\n \n )\n}\n\nexport default BasicInfoV2;\n","import { useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { verifyOtpAndCreatePartner } from \"../../Actions/signupAction\";\nimport LoadingSpinner from \"../CommonComponents/loadingSpinner\";\n\nconst PhoneVerification = ({setFormdata,formdata,handleNext,handleBack,}) => {\n const otpInfo = useSelector(state => state.otp);\n const dispatch = useDispatch();\n\n const codeRef = useRef(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n\n const handleSubmit = (ev) => {\n ev.preventDefault();\n\n setLoading(true);\n dispatch(verifyOtpAndCreatePartner(formdata, codeRef.current.value));\n };\n\n useEffect(() => {\n if (loading && otpInfo.verified) {\n handleNext();\n return;\n }\n\n if (otpInfo.verifError) {\n handleBack();\n return;\n }\n\n if (loading && otpInfo.verified !== null && !otpInfo.verified) {\n setLoading(false);\n setError(\"Wrong code\");\n }\n }, [otpInfo, loading])\n\n useEffect(() => {\n if (error) {\n let timer = setTimeout(() => setError(null), 4 * 1000);\n return () => clearTimeout(timer);\n }\n }, [error]);\n\n return (\n
    \n
    Verify your phone number
    \n
    \n \n \n
    {otpInfo.attemptsLeft} attempt(s) left
    \n
    \n \n
    \n { \n error &&
    \n {error}\n
    \n }\n
    \n \n Cancel\n
    \n \n
    \n \n \n {loading && }\n \n );\n};\nexport default PhoneVerification;\n","import React, {useEffect, useState} from \"react\";\nimport TopBanner from \"./topBanner\";\nimport BecomePartner from \"./becomePartner\";\nimport LoggingIn from \"./loggingIn\";\nimport BasicInfoV2 from \"./basicInfoV2\";\nimport PhoneVerification from \"./phoneVerification\";\nimport { useSelector } from \"react-redux\";\n\nconst states = {\n INIT: \"INIT\",\n BASIC_INFO: \"BASIC_INFO\",\n PHONE_VERIFICATION: \"PHONE_VERIFICATION\",\n LOGGING_IN: \"LOGGIN_IN\",\n}\n\nconst stateSequence = [states.INIT, states.BASIC_INFO, states.PHONE_VERIFICATION, states.LOGGING_IN];\n\nconst SignupV2Wrapper = () => {\n const signupState = useSelector(state => state.signingUpState);\n const [state, setState] = useState(states.INIT); \n const [formdata, setFormdata] = useState({});\n\n\n const getStateWiseForm = () => {\n switch (state) {\n case states.BASIC_INFO:\n return setState(states.PHONE_VERIFICATION)} handleBack={() => setState(states.INIT)}/>\n\n case states.PHONE_VERIFICATION:\n return {setState(states.LOGGING_IN)}} handleBack={() => setState(states.BASIC_INFO)}/>\n\n case states.INIT:\n default:\n return setState(states.BASIC_INFO)}/>\n }\n }\n\n useEffect(() => {\n if (signupState === false) {\n setState(states.BASIC_INFO);\n }\n }, [signupState]);\n\n if (state === states.LOGGING_IN)\n return (\n
    \n \n \n
    \n );\n\n return (\n
    \n \n
    \n
    {getStateWiseForm()}
    \n
    \n
    \n )\n}\n\nexport default SignupV2Wrapper","import SignupWrapper from \"../MultiSectionSignup/signupWrapper\";\nimport SignupV2Wrapper from \"../MultiSectionSignup/signupV2Wrapper\";\nimport { useLoginSuccess } from \"../Hook/useLoginSuccess\";\n\nconst SignUpPageWrapper = ({version = 1}) => {\n useLoginSuccess();\n\n if (version === 1) {\n return ;\n } else {\n return \n }\n}\n\nexport default SignUpPageWrapper;\n","export const PAYPAL_IDENTITY_CONNECTED = \"PAYPAL_IDENTITY_CONNECTED\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PAYPAL_IDENTITY_CONNECTED:\n return action.payload;\n default:\n return state;\n }\n}\n","import React, { useEffect } from 'react'\nimport LoadingSpinner from '../CommonComponents/loadingSpinner'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { useHistory, useLocation } from 'react-router-dom/cjs/react-router-dom';\nimport { LEFT_SIDE_BAR_SELECTED } from '../PartnerPortal/leftNavbar';\nimport { constructSelectedComponent } from '../../Factory/factory';\nimport { PAYOUTS_COMPONENT } from '../Payouts/payoutsWrapper';\nimport { getPartnerDetails } from '../../Actions/partnerDetailsAction';\nimport { getPaypalIdentity } from '../../Actions/paypalIdentityAction';\nimport { connectPaypalIdentity } from '../../Actions/paypalConnectIdentityAction';\n\nconst PaypalLoginReturnWrapper = () => {\n const identity = useSelector(state => state.paypalIdentity);\n const identityConnected = useSelector(state => state.paypalIdentityConnected);\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n useEffect(() => {\n dispatch(getPartnerDetails());\n dispatch(getPaypalIdentity());\n connect();\n }, [])\n\n\n useEffect(() => {\n if(identity !== null) {\n redirect();\n }\n }, [identity])\n\n useEffect(() => {\n if(identityConnected !== null) {\n redirect();\n }\n }, [identityConnected]);\n\n const redirect = () => {\n dispatch({\n type: LEFT_SIDE_BAR_SELECTED,\n payload: constructSelectedComponent(PAYOUTS_COMPONENT),\n });\n history.replace({pathname: \"/partner-portal\"});\n };\n\n const connect = () => {\n const queryParams = new URLSearchParams(location.search);\n if (\n queryParams.has(\"code\") \n ) {\n dispatch(connectPaypalIdentity(queryParams.get(\"code\")));\n history.replace({\n search: \"\",\n });\n } else {\n redirect();\n }\n }\n\n return (\n
    \n ;\n
    \n )\n}\n\nexport default PaypalLoginReturnWrapper","import {constructPaypalIdentity } from \"../Factory/factory\";\nimport { PAYPAL_IDENTITY } from \"../Reducers/paypalIdentityReducer\";\nimport { PAYPAL_IDENTITY_CONNECTED } from \"../Reducers/paypalIdentityConnectReducer\";\nimport { initPaypalIdentityConnect } from \"../Util/queries\";\n\nexport const connectPaypalIdentity = (code) => async dispatch => {\n try {\n const response = await initPaypalIdentityConnect({\n authorizationCode: code\n });\n const paypalIdentity = constructPaypalIdentity(\n response.data.email,\n response.data.accountId,\n response.data.name,\n response.data.confirmedAt,\n response.data.verified\n );\n\n dispatch({\n type: PAYPAL_IDENTITY,\n payload: paypalIdentity,\n });\n dispatch({\n type: PAYPAL_IDENTITY_CONNECTED,\n payload: true,\n })\n } catch (e) {\n console.error(e);\n dispatch({\n type: PAYPAL_IDENTITY_CONNECTED,\n payload: false,\n })\n }\n}\n","import { useDispatch, useSelector } from \"react-redux\";\nimport { partnerActiveSelector } from \"../../Reducers/partnerActiveReducer\";\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\nimport { useEffect } from \"react\";\nimport { logout } from \"../../Actions/loginAction\";\n\nconst PartnerWelcomeWrapper = () => {\n const partnerActive = useSelector(partnerActiveSelector)\n const history = useHistory();\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (partnerActive !== null) {\n if (!partnerActive.active)\n history.push(\"/partner-portal/welcome\");\n }\n }, [partnerActive, history])\n\n return (\n
    \n
    \n

    \n Thanks for signing up! We will call and/or email you to verify your account. Hang tight!\n

    \n dispatch(logout())}\n className=\"btn login-btn login-primary-btn\"\n >\n Go back\n \n
    \n
    \n );\n}\nexport default PartnerWelcomeWrapper","import {BrowserRouter, Redirect, Route, Switch} from 'react-router-dom';\nimport PartnerPortalWrapper from \"./Components/PartnerPortal/partnerPortalWrapper\";\nimport ProtectedRoute from \"./protectedRoute\";\nimport LoginPageWrapper from \"./Components/Login/loginPageWrapper\";\nimport \"./Stylesheets/fonts.css\";\nimport \"./Stylesheets/style.css\";\nimport \"./Stylesheets/common.css\";\nimport SignUpPageWrapper from \"./Components/SignUp/signUpPageWrapper\";\nimport PaypalLoginReturnWrapper from './Components/Paypal/paypalLoginReturnWrapper';\nimport PartnerWelcomeWrapper from './Components/Welcome/partnerWelcomeWrapper';\n\nfunction App() {\n return (\n <>\n \n \n \n \n \n \n }>\n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import {combineReducers} from \"redux\";\nimport leftSideBarReducer from \"./leftSideBarReducer\";\nimport partnerBillingDataReducer from \"./partnerBillingDataReducer\";\nimport passMatchedReducer from \"./passMatchedReducer\";\nimport selectedComponentReducer from \"./selectedComponentReducer\";\nimport partnerAccountsReducer from \"./partnerAccountsReducer\";\nimport partnerDetailsReducer from \"./partnerDetailsReducer\";\nimport partnerInvoicesReducer from \"./partnerInvoicesReducer\";\nimport partnerProfileInfoUpdateStateReducer from \"./partnerProfileInfoUpadateStateReducer\";\nimport partnerCreditCardInfoReducer from \"./partnerCreditCardInfoReducer\";\nimport partnerCreditCardUpdateStateReducer from \"./partnerCreditCardUpdateStateReducer\";\nimport partnerBankInfoReducer from \"./partnerBankInfoReducer\";\nimport signingUpStateReducer from \"./signingUpStateReducer\";\nimport referralLinkReducer from \"./referralLinkReducer\";\nimport thirdPartyBillingReducer from \"./thirdPartyBillingReducer\";\nimport storeUsageMonthReducer from \"./storeUsageMonthReducer\";\nimport magicLinkReducer from \"./magicLinkReducer\";\nimport achBankInfoReducer from \"./achBankInfoReducer\";\nimport clientSecretReducer from \"./clientSecretReducer\";\nimport apiResponseMessagesReducer from \"./apiResponseMessagesReducer\";\nimport payoutBankInfoReducer from \"./payoutBankInfoReducer\";\nimport paypalApprovalReducer from \"./paypalApprovalReducer\";\nimport paypalInfoReducer from \"./paypalInfoReducer\";\nimport paypalIdentityReducer from \"./paypalIdentityReducer\";\nimport paypalIdentityConnectReducer from \"./paypalIdentityConnectReducer\";\nimport lastMonthBillingReducer from \"./lastMonthBillingReducer\";\nimport otpReducer from \"./otpReducer\";\nimport partnerActiveStoreMapping from \"./partnerActiveReducer\";\nimport partnerPayoutsStoreMapping from \"./payoutsReducer\";\n\nexport default combineReducers({\n leftSideBarActive: leftSideBarReducer,\n partnerBillingData: partnerBillingDataReducer,\n passMatched: passMatchedReducer,\n selectedComponent: selectedComponentReducer,\n partnerAccounts: partnerAccountsReducer,\n partnerDetails: partnerDetailsReducer,\n partnerInvoices: partnerInvoicesReducer,\n partnerProfileInfoUpdateState: partnerProfileInfoUpdateStateReducer,\n partnerCreditCardInfo: partnerCreditCardInfoReducer,\n partnerCreditCardUpdateState: partnerCreditCardUpdateStateReducer,\n partnerBankInfo: partnerBankInfoReducer,\n signingUpState: signingUpStateReducer,\n referralLink: referralLinkReducer,\n thirdPartyBillingDetails: thirdPartyBillingReducer,\n storeUsageMonth: storeUsageMonthReducer,\n magicLink: magicLinkReducer,\n achBankInfo: achBankInfoReducer,\n clientSecret: clientSecretReducer,\n apiResponseMessages: apiResponseMessagesReducer,\n payoutBankInfo: payoutBankInfoReducer,\n paypalApproval: paypalApprovalReducer,\n paypalInfo: paypalInfoReducer,\n paypalIdentity: paypalIdentityReducer,\n paypalIdentityConnected: paypalIdentityConnectReducer,\n lastMonthBilling: lastMonthBillingReducer,\n otp: otpReducer,\n ...partnerActiveStoreMapping,\n ...partnerPayoutsStoreMapping\n});\n","import {LEFT_SIDE_BAR} from \"../Components/PartnerPortal/leftNavbar\";\n\nexport default (state = true, action) => {\n switch (action.type) {\n case LEFT_SIDE_BAR:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_BILLING} from \"../Actions/partnerBillingDetailsAction\";\n\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_BILLING:\n return action.payload;\n default:\n return state;\n }\n}\n","import {EMAIL_OR_PASS_MATCHED} from \"../Components/Login/loginForm\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case EMAIL_OR_PASS_MATCHED:\n return action.payload;\n default:\n return state;\n }\n}\n","import {LEFT_SIDE_BAR_SELECTED} from \"../Components/PartnerPortal/leftNavbar\";\nimport {constructSelectedComponent} from \"../Factory/factory\"\n\nexport default (state = constructSelectedComponent(), action) => {\n switch (action.type) {\n case LEFT_SIDE_BAR_SELECTED:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_ACCOUNTS} from \"../Actions/partnerAccountsAction\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_ACCOUNTS:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_DETAILS} from \"../Actions/partnerDetailsAction\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_DETAILS:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_INVOICES} from \"../Actions/partnerInvoiceAction\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_INVOICES:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_PROFILE_UPDATE_STATE} from \"../Actions/passwordUpdateAction\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_PROFILE_UPDATE_STATE:\n return action.payload;\n default:\n return state;\n }\n}\n","import {PARTNER_CREDIT_CARD_INFO} from \"../Components/Payments/creditCardInfoSection\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_CREDIT_CARD_INFO:\n return action.payload;\n default:\n return state\n }\n}\n","import {CARD_UPDATE_STATES, PARTNER_CREDIT_UPDATE_CARD_STATE} from \"../Components/Payments/creditCardInfoSection\";\n\nexport default (state = CARD_UPDATE_STATES.none, action) => {\n switch (action.type) {\n case PARTNER_CREDIT_UPDATE_CARD_STATE:\n return action.payload\n default:\n return state\n }\n}\n","import {PARTNER_BANK_INFO} from \"../Components/Payouts/bankInfoHolder\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case PARTNER_BANK_INFO:\n return action.payload;\n default:\n return state;\n }\n}","import {SIGN_UP_STATE} from \"../Actions/signupAction\";\n\nexport default (state = null, action) => {\n switch (action.type) {\n case SIGN_UP_STATE:\n return action.payload;\n default:\n return state;\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport {Provider} from \"react-redux\";\nimport {applyMiddleware, createStore} from \"redux\";\nimport thunk from \"redux-thunk\";\nimport reducers from './Reducers/index';\n\nconst store = createStore(reducers, applyMiddleware(thunk));\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}