{"version":3,"sources":["fonts/gilroy-regular-3-webfont.woff2","fonts/gilroy-medium-2-webfont.woff2","fonts/gilroy-bold-4-webfont.woff2","Defs/interviewdefs.js","Defs/loinput.js","State.js","Reducers/application.js","Defs/progressdefs.js","Reducers/progress.js","Reducers/common.js","Defs/statusdefs.js","Reducers/status.js","Defs/accountinfodefs.js","Reducers/accountinfo.js","Reducers/index.js","Common.js","Store/actions.js","Store/index.js","Auth.js","newContent/api/service.js","newContent/api/api.js","AppEvents.js","Tools/String.js","Tools/Loan.js","newContent/page/newSideBarApplication.js","Landing/LandingMenu.js","Landing/LandingCopyright.js","Landing/HomeButton.js","LandingPage.js","Landing/LandingAbout.js","Calculator/HardMoneyLoanCalculator/LoanRateTitle.js","Calculator/HardMoneyLoanCalculator/LoanRateCalculator.js","Common/components/CodeVerification.js","Common/components/CheckGroup.js","Store/progress.js","statsig/statsigMethod.js","Application/EmailVerification.js","Calculator/HardMoneyLoanCalculator/LoanRateResult.js","Calculator/HardMoneyLoanCalculator/LoanRate.js","Copyright.js","Error404.js","Common/components/ScrollBar.js","PreApp/PreApp.js","FaqPage.js","Notifications.js","Glossary.js","LogoutPage.js","newContent/constants/sidebar.js","newContent/page/stepApplication.js","Documents/DocumentManager.js","Documents/PreviewModal.js","Documents/DocumentChecklist.js","Documents/DocumentSidebar.js","Documents/Dropzone.js","Documents/Progress.js","Documents/Upload.js","Documents/Documents.js","Application/PDFPreview.js","Tasks.js","DateOfBirth.js","Store/accountinfo.js","Common/Tooltip.js","Common/InputGroup.js","Common/AddressAutocomplete.js","Bus.js","Tools/Address.js","Application/Applicant.js","Application/Declarations.js","Application/Email.js","NumericalInput.js","Common/components/DollarInput.js","Application/Finances.js","Autocomplete.js","occupations.js","Application/Income.js","Application/Expenses.js","Application/Liabilities.js","Application/MyRates/MyRates.js","Application/Prequal/PDFViewer.tsx","Application/Prequal/utils.ts","Application/Prequal/ClickablePrequalLetterDisplay.tsx","Application/Prequal/PrequalLetterHeader.tsx","Application/Prequal/NoPrequalLetters.tsx","Application/Prequal/SharePreQualLetterModal.tsx","Application/Prequal/PrequalLetterHistory.tsx","Common/HorizontalSlider.js","UpDown.js","Common/Multiselect.js","Application/Details.js","Application/Comparison.js","Application/ProductPicker.js","Application/PrequalLetter.js","Application/tables.js","Common/components/tables.js","Application/PrequalProperty.js","Application/Property.js","Application/Overview.js","Application/SSN.js","Application/Closing.js","Application/ApplicationInterview.js","Application/HardMoneyLoan/Overview.js","Common/GoogleAutocomplete/GoogleAutocomplete.js","Application/HardMoneyLoan/constants.js","Application/HardMoneyLoan/Borrower.js","Application/HardMoneyLoan/PropertyAndLoan.js","Application/HardMoneyLoan/Declarations.js","Common/components/SmallModal.js","Common/components/Alerts/StatusBanner.js","Application/HardMoneyLoan/Experience.js","SidebarHardMoneyLoan/constants.js","SidebarHardMoneyLoan/SidebarHardMoneyLoan.js","Application/HardMoneyLoan/utils.js","Application/HardMoneyLoan/MyTasks.js","Application/HardMoneyLoan/HardMoneyLoanDocManager.js","Application/HardMoneyLoan/DocumentsReceived.js","Application/HardMoneyLoan/DocumentsUploaded.js","Application/HardMoneyLoan/Submitted.js","Application/HardMoneyLoan/PDFPreview.js","Application/HardMoneyLoanInterView.js","YourLoans.js","Status.js","Profile.js","HardMoneyLoanDashboard.js","ContactUs.js","ccutils.js","CreditCard.js","Howitworks.js","Common/Signature.js","Common/SignHere.svg","Interview/Form1003.js","Common/Sign.js","HomePageApplication.js","newContent/page/TopNavbar.js","newContent/page/loans.js","newContent/page/setUpPassword.js","newContent/page/changePassword.js","AuthenticatedApplication.js","Common/components/DividerLineWithText.js","newContent/page/LoginPage.js","Recaptcha.js","Common/components/FloatingLabelInput.js","Login.js","LoginPage.js","ForgotPassword.js","Terms.js","Privacy.js","JoinTeam.js","Validation.js","Tools.js","ResourcePage.js","WaitlistPage.js","RecoverPassword.js","SendRevalidate.js","Invitation.js","CoborrowerCreated.js","CoborrowerExists.js","ActionRequest.js","Validate.js","Reset.js","HistoricalChart/ButtonBase.jsx","HistoricalChart/Button.jsx","HistoricalChart/ButtonGroup.jsx","HistoricalChart/Loading.jsx","HistoricalChart/Rates.tsx","HistoricalChart/HistoricalChart.tsx","HistoricalChart/Hooks.jsx","SampleRates/SampleRates.js","Calculator/BreakdownChart.js","Calculator/AmortizationChart.js","Calculator/MortgageCalculator.js","Common/icon/arrow.svg","Common/components/HeaderFixed/HeaderFixed.js","Affordability/Affordability.js","Common/HorizontalSliderV2.js","PurchaseCalc/Preview.js","PurchaseCalc/PurchaseCalc.js","SpecialRateDNA/programs.ts","SpecialRateDNA/Questionnaire.tsx","SpecialRateDNA/EligibilityVOE.tsx","SpecialRateDNA/EligibilityBankStatement12Month.tsx","SpecialRateDNA/EligibilityPNLNOBank.tsx","SpecialRateDNA/EligibilityDSCRNoRatio.tsx","SpecialRateDNA/EligibilityDSCREasy.tsx","SpecialRateDNA/EligibilityForeignNational1NoIncome.tsx","SpecialRateDNA/EligibilityForeignNational2ForeignIncome.tsx","SpecialRateDNA/SingleProgram.tsx","SpecialRateDNA/SpecialRateDNA.tsx","Affordability/Refinance.js","BorrowerInterviewForLO.js","Application/HardMoneyLoan/CoborrowerSignature.js","NonQM/NonQMBorrowerQualifier/NonQMResult.js","NonQM/NonQMBorrowerQualifier/ContactInformation.js","NonQM/NonQMBorrowerQualifier/NonQMBorrowerQualifier.js","config/theme.js","usePageTracking.js","AgentBorrowerSignUpPage.js","Affordability/AffordabilityPage.js","PurchaseCalc/PurchaseCalcPage.js","CalHFA/Utils.js","CalHFA/Disclaimer.js","CalHFA/CalHFA.js","GoogainCalculator/GoogainCalculator.js","statsig/statsigWrapper.js","App.js","serviceWorker.js","msalConfig.js","index.js"],"names":["CHANGE_APPLICATION","CHANGE_APPLICATION_BY_PATH","CHANGE_HAS_COBORROWER","CHANGE_COHABITING","CHANGE_APPLICATION_ATTRIBUTE","CHANGE_BORROWER_ATTRIBUTE","CHANGE_HARDMONEYLOAN_ATTRIBUTE","CHANGE_FINANCING_SAMEPROPERTY","CHANGE_CHOSENLOAN_ATTRIBUTE","CHANGE_NONQM_INFO","CHANGE_OCCUPATION_INFO","CHANGE_PAST_OCCUPATION_INFO","ADD_ADDITIONAL_OCCUPATION","REMOVE_ADDITIONAL_OCCUPATION","CLEAR_ADDITIONAL_OCCUPATIONS","CHANGE_PREVIOUS_ADDRESS","ADD_PREVIOUS_ADDRESS","REMOVE_PREVIOUS_ADDRESS","CLEAR_PREVIOUS_ADDRESS","CHANGE_INCOME_MONTHLY","CHANGE_INCOME_ATTRIBUTE","CLEAR_ADDITIONAL_INCOME","ADD_ADDITIONAL_INCOME","REMOVE_ADDITIONAL_INCOME","HAS_ADDITIONAL_INCOME","CHANGE_ADDITIONAL_INCOME","CHANGE_EXPENSES","CHANGE_JOINTLY","CHANGE_FINANCES","ADD_BORROWER_BANKACCOUNT","BULKADD_BORROWER_BANKACCOUNTS","REMOVE_BORROWER_BANKACCOUNT","CHANGE_BORROWER_BANKNAME","CHANGE_BORROWER_BANKACCOUNT","CHANGE_BORROWER_BANKBALANCE","CHANGE_BORROWER_BANKATTRIBUTION","CHANGE_BORROWER_BANKACCOUNTTYPE","CLEAR_BORROWER_BANKACCOUNTS","ADD_BORROWER_BROKERACCOUNT","CLEAR_BORROWER_BROKERACCOUNTS","REMOVE_BORROWER_BROKERACCOUNT","CHANGE_BORROWER_BROKERNAME","CHANGE_BORROWER_BROKERACCOUNT","CHANGE_BORROWER_BROKERBALANCE","CHANGE_BORROWER_BROKERATTRIBUTION","CHANGE_BORROWER_BROKERTAXSTATUS","CHANGE_BORROWER_BROKERALLOCATION","CHANGE_BROKER_INFO","ADD_BORROWER_AUTO","REMOVE_BORROWER_AUTO","CLEAR_BORROWER_AUTOS","CHANGE_BORROWER_AUTO_MAKE","CHANGE_BORROWER_AUTO_YEAR","CHANGE_BORROWER_AUTO_VALUE","ADD_BORROWER_OTHER_ASSET","BULKADD_BORROWER_OTHER_ASSETS","REMOVE_BORROWER_OTHER_ASSET","CLEAR_BORROWER_OTHER_ASSETS","CHANGE_BORROWER_OTHER_ASSET_NAME","CHANGE_BORROWER_OTHER_ASSET_VALUE","CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION","CHANGE_BORROWER_OTHER_ASSET","ADD_BORROWER_LOAN","BULKADD_BORROWER_LOANS","REMOVE_BORROWER_LOAN","CLEAR_BORROWER_LOANS","COPY_BORROWER_LOAN","CHANGE_BORROWER_LOAN_COMPANY","CHANGE_BORROWER_LOAN_ADDRESS","CHANGE_BORROWER_LOAN_ACCOUNT","CHANGE_BORROWER_LOAN_MONTHLY","CHANGE_BORROWER_LOAN_REMAINING","CHANGE_BORROWER_LOAN_SATISFIEDUPON","CHANGE_BORROWER_LOAN_FORSUBJECT","CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY","CHANGE_BORROWER_LOAN_RATE","CHANGE_BORROWER_LOAN","CHANGE_BORROWER_LOAN_CORRECTION","CHANGE_BORROWER_LOAN_EXPLANATION","BULKADD_BORROWER_OWNED_PROPERTIES","ADD_OWNED_PROPERTY","ADD_BORROWER_OWNED_PROPERTY","ADD_COBORROWER_OWNED_PROPERTY","PREPEND_OWNED_PROPERTY","PREPEND_BORROWER_OWNED_PROPERTY","PREPEND_COBORROWER_OWNED_PROPERTY","REMOVE_OWNED_PROPERTY","REMOVE_BORROWER_OWNED_PROPERTY","REMOVE_COBORROWER_OWNED_PROPERTY","CLEAR_OWNED_PROPERTY","CLEAR_BORROWER_OWNED_PROPERTY","CLEAR_COBORROWER_OWNED_PROPERTY","CHANGE_BORROWER_OWNED_PROPERTY","CHANGE_OWNED_PROPERTY","CHANGE_COBORROWER_OWNED_PROPERTY","ADD_BORROWER_ADDITIONAL_PROPERTY","REMOVE_BORROWER_ADDITIONAL_PROPERTY","CLEAR_BORROWER_ADDITIONAL_PROPERTY","CHANGE_ADDITIONAL_PROPERTY","CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS","CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS","CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE","CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE","CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS","CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME","CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT","CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES","CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME","CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION","CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE","ADD_BORROWER_ADDITIONAL_CREDITS","REMOVE_BORROWER_ADDITIONAL_CREDITS","CLEAR_BORROWER_ADDITIONAL_CREDITS","CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME","CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR","CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT","CHANGE_BORROWER_FREEANDCLEAR","CHANGE_REVIEWED_LOANS","CHANGE_SELECTION_FIELD","CHANGE_SELECTEDLOAN_FIELD","CHANGE_SELECTEDLOAN_PRODUCT_FIELD","ADD_SELECTEDLOAN_SERVICE","REMOVE_SELECTEDLOAN_SERVICE","ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS","ADD_SELECTEDLOAN_CHARGE","REMOVE_SELECTEDLOAN_CHARGE","CHANGE_PROPERTY_ADDRESS","CHANGE_PROPERTY_DESCRIPTION","CHANGE_PROPERTY_OCCUPANCY","CHANGE_PROPERTY_PURPOSE","CHANGE_PROPERTY_APPRAISAL","CHANGE_PROPERTY_SALESPRICE","CHANGE_PROPERTY_ATTRIBUTE","CHANGE_PROPERTY_UNITS","CHANGE_PROPERTY_YEARBUILT","CHANGE_PROPERTY_INWHATNAME","CHANGE_PROPERTY_INWHATMANNER","CHANGE_PROPERTY_ESTATEHELDIN","CHANGE_PROPERTY_SOURCES","CHANGE_PROPERTY_REFINANCE_YEARACQUIRED","CHANGE_PROPERTY_REFINANCE_ORIGINALCOST","CHANGE_PROPERTY_REFINANCE_PURPOSE","CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC","CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS","CHANGE_PROPERTY_REFINANCE_COST","CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER","CHANGE_PROPERTY_REFINANCE_ATTRIBUTE","CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED","CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST","CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS","CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS","CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE","CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS","CHANGE_DECLARATIONS","CHANGE_BORROWER_INFO","CHANGE_MAINPROPERTY_EXPIRATION","CHANGE_EQUAL_OPPORTUNITY","CHANGE_EQUAL_OPPORTUNITY_SUB","CHANGE_MAINPROPERTY_PROPERTYTYPE","CHANGE_MAINPROPERTY","CHANGE_MOBILE_HOME_INFO","ADD_BORROWER_ALIMONY","BULKADD_BORROWER_ALIMONYS","REMOVE_BORROWER_ALIMONY","CLEAR_BORROWER_ALIMONY","CHANGE_BORROWER_ALIMONY_AMOUNT","CHANGE_BORROWER_ALIMONY_OWEDTO","CHANGE_BORROWER_ALIMONY_TYPE","CHANGE_BORROWER_ALIMONY","CHANGE_BORROWER_CLEAR_INSURANCE","CHANGE_BORROWER_DELETE_INSURANCE","CHANGE_BORROWER_ADD_INSURANCE","CHANGE_BORROWER_CHANGE_INSURANCE","ADD_REMOTE_COBORROWER","REMOVE_REMOTE_COBORROWER","CLEAR_REMOTE_COBORROWER","CHANGE_REMOTE_COBORROWER_FIRSTNAME","CHANGE_REMOTE_COBORROWER_LASTNAME","CHANGE_REMOTE_COBORROWER_EMAIL","CHANGE_REMOTE_COBORROWER_STATUS","CHANGE_REMOTE_COBORROWER_USE","CHANGE_SOLAR_PANELS","ADD_BORROWER_OTHER_LIEN","REMOVE_BORROWER_OTHER_LIEN","CLEAR_BORROWER_OTHER_LIENS","CHANGE_BORROWER_OTHER_LIEN_VALUE","ADD_BORROWER_OTHER_OCCUPATION","REMOVE_BORROWER_OTHER_OCCUPATION","CLEAR_BORROWER_OTHER_OCCUPATIONS","CHANGE_BORROWER_OTHER_OCCUPATION_VALUE","CHANGE_BORROWER_OTHER_OCCUPATION_INCOME","ADD_BORROWER_PREVIOUS_OCCUPATION","REMOVE_BORROWER_PREVIOUS_OCCUPATION","CLEAR_BORROWER_PREVIOUS_OCCUPATIONS","CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE","CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME","UPDATE_FICO","UPDATE_CR_ERRORS","CLEAR_CR_ERRORS","UPDATE_CANNOTSHOPSERVICES","UPDATE_CANSHOPSERVICES","UPDATE_FEES","UPDATE_ORIGINALCOSTS","UPDATE_OTHERCOSTS","UPDATE_PAYMENT_PERIOD","UPDATE_PAYMENT_AMOUNT","UPDATE_PREPAID_DEFAULT","ADD_SELECTEDLOAN_PREPAID","REMOVE_SELECTEDLOAN_PREPAID","ADD_BORROWER_GIFT","BULKADD_BORROWER_GIFTS","REMOVE_BORROWER_GIFT","CLEAR_BORROWER_GIFT","CHANGE_BORROWER_GIFT","ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT","ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES","BULKADD_NEW_MORTGAGE_LOAN","ADD_NEW_MORTGAGE_LOAN","REMOVE_NEW_MORTGAGE_LOAN","CLEAR_NEW_MORTGAGE_LOANS","UPDATE_NEW_MORTGAGE_ATTRIBUTE","UPDATE_ESCROW_INFO","UPDATE_APPRAISAL_INFO","CHANGE_PRODUCT","CHANGE_TRANSACTION","dirtyFlag","doAlert","s","console","log","E_Donttell","E_Hispanic","E_Nonhispanic","HC_Alone","HC_Withcoborrower","MS_Married","O_Own","O_Rent","POL_Refinance","POL_Purchase","POL_Purchaserehab","POL_Cashoutrefinance","TOM_Hardmoneyloan","VT_H_4","VT_L_2","VT_O_3","VT_P_4","AUSreport","constructor","this","recommendation","__a__","__v__","enumReader","_","isEqual","setDirtyFlag","AUSengine","id","stringReader","lpadocclass","requireddfundtoclose","DollarSReader","verifiedassets","sourceoffunds","nomonthsofreserves","intReader","toJson","JSON","stringify","split","join","fromJson","disableDF","cls","concat","enableDF","Asian","asianindian","boolReader","chinese","filipino","japanese","korean","vietnamese","otherasian","otherdesctiption","ChosenLoan","productfeatures","hash","APR","floatReader","Arm","amortization","Mtype","Term","base_rate","closing_cost","features","high_cost_mortgage","lender_credit","lender_fee","lockDay","min_months_reserves","monthly_payment","prepaid_interest","points","loansize","downpayment","paydown","cashout","pmi","FHAMIP","matchingproducts","lockstatus","lockdate","DateSReader","purpose","estimatedclosingcosts","ourfee","prepaiddays","productname","DTI","maxcashout","payout","armterms","array1Reader","LoanProduct","fees","upfrontMIP","monthlyMIP","FutureExpenses","otherfinancing","otherfinancingperiod","homeownersinsurance","homeownersinsuranceperiod","realestatetaxes","realestatetaxesperiod","hoa","hoaperiod","floodinsurance","floodinsuranceperiod","estimatedmonthlytotal","HardMoneyLoan","rehabdetails","refinancedetails","serialnumber","estimatedfico","coborrowerestimatedfico","targetclosingdate","initialloanamount","mortgagetermmonths","rehabloan","rehabloanamount","timesofflippingaproperty","timesofpurchasingarentalproperty","refinanceloanamount","constructiontype","constructionbudget","projectedafterrepairvalue","constructionloanamount","borrowertype","entityinfo","loantype","propertyflippingexperiences","rentalpropertyexperiences","initialadvancerequested","assignmentfee","liquidity","exitstrategy","HardMoneyLoanEntityInfo","propertyflippingexperience","rentalpropertyexperience","entityname","tin","percentageown","streetline1","streetline2","city","state","zip","phone","email","contactfirstname","contactlastname","contactposition","Hispanic","mexican","puertorican","cuban","other","LienPosition","firstlien","firstlienowner","issecondlien","Lender","Name","lenderinfo","aus","lender","MilitaryService","currentlyserving","projectedexpirationdate","currentlyretired","nonactive","survivingspouse","MobileHomeDebtToBePaid","amount","description","MobileHomeInfo","mobilehomeparkfullname","leasedSpaceRentAmount","year","lengthft","lengthinch","widthft","widthinch","space","mobilehometype","mobilehomedescription","mobilehomelocation","originalpurchaseprice","debtsToBePaid","cashOutRequested","parkAddress","manufacturerMake","manufacturerModel","OwnedProperty","address","unit","county","zipcode","ownedfreeandclear","loans","status","occupancy","propertytype","marketvalue","liens","grossrentalincome","insurancemaintenancetaxes","netrentalincome","attribution","key","loan","Pacific","hawaian","guamanian","samoan","otherdetails","ProjectReview","projectclassification","projectname","cpmprojectid","Race","notfurnished","asian","asiandetails","pacific","pacificdetails","black","americanindian","indiantribe","white","Selection","mincashout","financeClosingCosts","sortby","loanamortizations","loanterms","maxupfrontcost","selectedloan","loSelectedLoans","SolarPanels","havesolarpanels","remainonproperty","takeoverthelease","monthlypayment","areleased","State","application","progress","Underwriting","company","underwritername","appraisername","appraiserlicense","appraisalcompanyname","levelofpropertyreview","appraisalformnumber","ismannualunderwriting","underwritercomments","account","bankname","accounttype","balance","isretirement","street","years","IntSReader","months","ownership","rent","rentperiod","alimony","owedto","alimonyorsupport","lessthan10","monthstopay","allocation","stocks","bonds","cash","assetsandliabilities","borrower","subjectproperty","product","transaction","broker","currentStage","currentStatus","visitedMenus","hascoborrower","cohabiting","married","firsttimebuyer","qualifiesforassistance","askedforassistance","loanbalance","keepinghousefor","financingsameproperty","hascreditfreeze","otherliens","coborrower","remotecoborrowers","scre","property","assetsofotherpersonused","liabilitiesofotherpersonrequired","selection","lienposition","underwriting","escrowti","issueddate","closingdate","isAHI","isCommunityLending","IPCs","deposit","brokerinfo","aloneMarriedWantsFHA","loanid","hardmoneyloan","escrowInfo","appraisalInfo","otherlien","remotecoborrower","escrowinfo","appraisalinfo","appraisaldetails","orderdate","datecompleted","appraisalvalue","appraisalname","appraisalopened","index","margin","fixedperiod","adjustmentperiod","initialcap","periodiccap","lifetimecap","lifetimefloor","accounts","brokerages","ownedproperties","properties","propertiesfrompull","gifts","newloans","otherassets","lifeinsurance","propertyownedfreeandclear","loansreviewed","warnings","brokerageaccount","gift","newmortgage","otherasset","insurance","automobile","make","YearSReader","value","occupation","income","expenses","finances","declarations","equalopportunity","borrowercreditreport","nonqm","completedsteps","firstname","middlename","lastname","suffix","presentaddressstreet","presentaddressunit","presentaddresscity","presentaddresscounty","presentaddressstate","presentaddresszip","presentaddressyears","presentaddressmonths","presentaddressownership","mortgagepayment","isrented","previousaddresses","samemailingaddress","mailingaddressstreet","mailingaddressunit","mailingaddresscounty","mailingaddresscity","mailingaddressstate","mailingaddresszip","dateofbirth","maritalstatus","haspartner","relationship","relationshiptype","stateofrelationship","socialsecurity","homephone","PhoneSReader","mobilephone","workphone","yearsofschool","stateid","citizenship","visa","visaexpiration","numberofdependents","dependentsages","otheroccupations","previousoccupations","creditreport","hashomebuyereducationcertificate","driverlicense","driverlicenseexpiration","otheroccupation","previousoccupation","errorMessages","creditscore","personswithresidencies","liabilities","publicrecords","personwithresidencies","publicrecordwithattribution","name","licenseid","nmls","loanofficername","loanofficerlicenseid","loanofficernmls","charge","chargename","estimateamount","yourinfo","residence","employment","otherincome","assets","creditcheck","propertymoney","construction","yearacquired","originalcost","existingliens","presentvalue","costofimprovements","creditunderothername","altname","creditor","judgements","bancrupt","chapter7","chapter11","chapter12","chapter13","propertyforeclosure","lawsuit","familyrelationship","conveyedtitle","delinquentondebt","applyingonanother","applyingnewcredit","cleanenergylien","loanforeclosure","downpaymentborrowed","moneyborrowed","comakeronnote","occupyasprimary","ownershipinterest","servearmedforces","militaryservice","propertyowned","titleheld","loansinforebearance","employmentincome","basemonthly","basehoursperweek","base","FloatSReader","overtimemonthly","overtime","bonusesmonthly","bonuses","commissionsmonthly","commissions","militarymonthly","military","othermonthly","ethnicity","hispanic","race","sex","escrowopened","opendate","estimatedsettlementstatementreceived","titlecompany","escrowofficer","escrownumberrelatedcurrentfile","datetitlesearchordered","titlecompanyaddress1","titlecompanyaddress2","titlecompanycity","titlecompanystate","titlecompanyzip","earnestmoneydepositamount","earnestmoneydepositdate","currentrent","currentrentperiod","currentfirstmortgage","currentfirstmortgageperiod","currentotherfinancing","currentotherfinancingperiod","currenthazardinsurance","currenthazardinsuranceperiod","currentrealestatetaxes","currentrealestatetaxesperiod","currentdues","currentduesperiod","currentmortgageinsurance","currentmortgageinsuranceperiod","currentother","currentotherperiod","cannotshopservices","canshopservices","recordingandgovernmentfees","transfertax","othercosts","prepaids","initialescrowpaymentsatclosing","closingcostsfinanced","fundsforborrower","sellerscredits","adjustmentsothercredits","service","payment","assettype","deposited","sourcedescription","source","hasdividends","dividendsmonthly","dividends","netrentalmonthly","netrental","otherincomemonthly","issuer","netvalue","facevalue","interviewstep","step","max","interviewstarted","productselectionstarted","interviewfinished","openeddate","accountnumber","monthlydefinedbycustomer","remainingbalance","highbalance","monthslefttopay","mannerofpaymentcode","currentratingtype","creditloantype","creditliabilityaccounttype","creditliabilityaccountownershiptype","creditliabilityaccountstatustype","detailcreditbusinesstype","creditliabilityhighestadverserating","reportedby","deferredpaymentamount","deferredpaymentdate","comment","forsubjectproperty","forprimaryresidence","includesmi","isprimary","satisfiedupon","rate","correction","explanation","propertyaddress","partoforiginalpurchase","paidoffatclosing","creditlimit","lientype","monthlyamount","loanamount","nonqmincometype","nonqmincomeperiod","nonqmincomeamount","hasoccupation","employername","employeraddress","from","positiontitle","typeofbusiness","yearsatlineofwork","monthsatlineofwork","selfemployed","employedbyagent","percentownership","incomeorloss","incomeorlossperiod","selfincomedoc","incometype","period","monthly","owner","isHELOC","paymentname","prepaidperiods","yearstilltermination","inescrow","initialescrowpaymentmonths","person","residencies","to","incomeperiod","lendername","mortgageapplied","othermortgage","agencycasenumber","lendercasenumber","interestrate","mortgageterm","otheramortization","hasprepaymentpenalty","prepaymentpenaltyamount","prepaymentpenaltyterm","hasballoonpayment","balloonpaymentamount","baloonpaymentterm","tasks","stage","interview","loinput","lasttouch","purchaseprice","purchasedate","ownershipontitle","rehabbudget","salesprice","datesold","profitorloss","publicrecord","accountownershiptype","courtname","dispositiondate","dispositiontype","dispositiontypeotherdescription","fileddate","plaintiffname","recordtype","recordtypeotherdescription","purchase","expectedgrossmonthlyrentalincome","expectednetmonthlyrentalincome","refinance","currentrate","currentprogram","improvementsdesc","improvementsstatus","cost","estimatedpayoffsandpayments","explainotherpurpose","originalPurchasePrice","dateOfPurchase","estimatedCurrentValue","existingLoanAmount","existingLender","existingLoanRate","existingLoanMaturityDate","subordinateDebt","midConstruction","rehabremaining","rehabcostspenttodate","addingsqft","sqftadded","addingunits","invitationsent","usetoqualify","tenantoccupied","monthlyrent","servicename","identifiedprovider","contactinfo","hascontract","units","yearbuilt","lookupsuccessful","inwhatname","inwhatmanner","estateheldin","expirationdate","sources","appraisal","projectreview","solarpanels","qualifiesForFHAsecondary","isManufacturedHome","isMixedUse","mobilehomeinfo","lastvisited","alterationsimprovements","landifacquiredseparately","refinanceincldebts","estimatedprepaiditems","pmifundingfee","discountifborrowerpays","totalcosts","subordinatefinancing","borrowerclosingcostspaidbyseller","othercredits","othercreditsexplanation","loanamountexcludefees","pmifundingfeefinanced","loanamoount","cashfromtoborrower","cashdepositedby","depositamount","helocbalance","helocamount","r","RegExp","__dflt__","isString","test","isInteger","toString","isFinite","isBoolean","v","parseInt","parseFloat","__r__","isArray","map","includes","n","cloneDeep","require","applicationInitialState","applicationInitialStateJSON","parse","applicationReducer","arguments","length","undefined","action","type","payload","paths","path","obj","i","verb","who","assetsliabilitiesjointly","add","Math","random","push","splice","hasotherincome","a","automobiles","unshift","creditsunderothername","secs","section","forEach","sec","found","newfee","feename","originalcosts","entry","CHANGE_PROGRESS","CHANGE_PROGRESS_TYPE","CHANGE_PROGRESS_VISITED","CHANGE_PROGRESS_LASTVISITED","CHANGE_PROGRESS_LASTTOUCH","CHANGE_PROGRESS_STEP","initialProgress","initialProgressJSON","initState","currentInfo","initialState","updateStatusReducer","IS_HARD_MONEY_LOAN","UPDATE_LEAD_SOURCE","accountInfoReducer","isHardMoneyLoan","leadSource","rootReducer","combineReducers","updateStatus","accountInfo","common","data","getUserId","token","sessionStorage","getItem","jes","atob","getUserToken","customerid","getCustomerId","sp","j","getCustomerEmail","hex2ascii","hex","arr","substr","TextDecoder","decode","Uint8Array","ascii2hex","str","TextEncoder","encode","fixPhoneInput","input","size","cleanedValue","replace","substring","mapAbbrFullName","mapFullNameAbbr","removeCountySuffix","strInput","trim","endsWith","convertStateToAbbr","upStrInput","toUpperCase","strStateToFind","toLowerCase","documents","rentalhistory","assetstatements","bankstatements","businesstaxreturns","businesstaxreturns1","copyoflease","dd214","divorcedecree","propertyinsurance","taxreturns","taxreturns1","finalclosingstatements","hoastatement","ytdpnl","homeownersinsuranceinfo","k1","k11","leaseagreements","mortgagestatements","paystubs","pentionstatement","privatemoneyloan","socialsecurityaward","socialsecuritycard","w2","greencard","i94","purchaseagreement","form1040","form1065","form1120s","form1120","yeeleecommon","yeeleespouse","yeeleeentityborrower","yeeleerehabloan","yeeleerefinance","yeeleecashoutrefinance","yeeleemultifamily","yeeleeloanwithbroker","getSubaddress","typ","types","streetTypeAbbreviations","streetsuffixes","Object","keys","prefixes","commaize","output","right","left","error","commaizeFloat","minus","charAt","parts","capitalize","newparts","slice","unCamelCase","out","digit","code","charCodeAt","loadPasswordCheck","callback","existingScript","document","getElementById","script","createElement","src","body","appendChild","onload","timeGoToJS","dat","match","group1","group2","group3","group4","group5","group6","othersouresofincome","bankaccounttypes","otherassetsandcredits","fundssourcetype","downpaymentsources","mannerthetitleheld","stageToNumberApplication","start","applicant","overview","rates","prequalletter","closing","getClosedInterestPaid","termyears","spanyears","termmonths","spanmonths","monthlyrate","expn","pow","round","CurrentStage","Application","Processing","Closing","Archived","CurrentStatus","ApplicationStarted","ApplicationFinished","PrequalSent","InContract","OpenEscrow","ConditionsRequested","ConditionsReviewed","OrderAppraisal","TitleSearch","PreApproved","SubmittedToUnderwriting","ConditionalApproval","ClearToClose","DocsOut","DocsSigned","LoanFunded","ApplicationAbandoned","ApplicationRejected","PreApprovalDenied","FileClosedForIncompleteness","ApplicationWithdrawn","ApplicationDenied","ApprovedButNotAccepted","Other","fromEntries","entries","_ref","loanStatusMap","safeParseInt","b","isNaN","safeParseFloat","getMonthlyValue","returnURLs","publicSite","redirectPublicWebsite","website","landingurl","js","localStorage","getCompanyName","getReturnURLs","fetch","method","headers","Authorization","Cache","then","response","json","setItem","catch","err","touch","window","dispatchEvent","Event","upfrontMI","counties","getOccupancy","alert","getPropertyType","condominiumdetached","condominium","pudattached","puddetached","singlefamilyattached","singlefamilydetached","twotofourfamily","manufacturedhome","getPropertyTypeName","mobilehome","Purpose2Calculator","p","formatAddress","isHomeloan","indexOf","logo","companyName","getPrimaryAddress","_who","st","apt","updateApplication","t","UpdateHasCoborrower","UpdateApplicationAttribute","UpdateHardMoneyLoanAttribute","UpdateCohabiting","UpdateCurrentResidence","UpdateSameProperty","UpdateIncomeMonthly","UpdateExpenses","UpdateJointly","UpdateFinances","AddBorrowerBankAccount","ClearBorrowerBankAccounts","ClearBorrowerInsurance","CopyBorrowerLoan","ClearBorrowerLoans","ChangeBorrowerLoan","AddBorrowerOwnedProperty","PrependBorrowerOwnedProperty","RemoveOwnedProperty","RemoveBorrowerOwnedProperty","RemoveCoborrowerOwnedProperty","ClearBorrowerOwnedProperty","ChangeOwnedProperty","ChangeBorrowerOwnedProperty","ChangeCoborrowerOwnedProperty","ChangeReviewedLoans","ChangeMainPropertyDescription","ChangeMainPropertyAddress","ChangeMainPropertyOccupancy","ChangeMainPropertyPurpose","ChangeMainPropertyAppraisal","ChangeMainPropertySalesPrice","ChangeMainPropertyAttribute","ChangeMainPropertyUnits","ChangeMainPropertyYearBuilt","ChangeMainPropertyInWhatName","ChangeMainPropertyEstateHeldIn","ChangeMainPropertyInWhatManner","ChangeMainPropertySources","ChangeMainPropertyRefinanceYearAcquired","ChangeMainPropertyRefinanceOriginalCost","ChangeMainPropertyRefinancePurpose","ChangeMainPropertyRefinanceImprovementsDesc","ChangeMainPropertyRefinanceImprovementsStatus","ChangeMainPropertyRefinanceCost","ChangeMainPropertyRefinanceAttribute","ChangeMainPropertyConstructionYearAcquired","ChangeMainPropertyConstructionOriginalCost","ChangeMainPropertyConstructionExistingLiens","ChangeMainPropertyRefinanceExistingLiens","ChangeMainPropertyConstructionPresentValue","ChangeMainPropertyConstructionCostOfImprovements","ChangeDeclaration","ChangeBorrowerInfo","ChangeNonQMInfo","ChangeOccupationInfo","ChangePastOccupationInfo","ChangeMainPropertyExpirationDate","ChangeMainPropertyPropertyType","ChangeMainProperty","UpdateEqualOpportunity","UpdateEqualOpportunitySub","UpdateSelectField","UpdateProduct","UpdatePreviousAddress","AddPreviousAddress","RemovePreviousAddress","ClearPreviousAddress","AddAlimony","RemoveAlimony","ClearAlimonies","ChangeAlimony","ChangeAlimonyField","ChangePaymentType","AddRemoteCoborrower","UpdateFico","score","UpdateCRErrors","ar","UpdatePaymentPeriod","UpdatePaymentAmount","UpdatePrepaidDefault","AddSelectedLoanEstimatedClosingCosts","AddSelectedLoanPrepaid","ClearBorrowerGift","AddBorrowerAdditionalPropertiesFromCredit","AddNewMortgageLoan","RemoveNewMortgageLoan","ClearNewMortgageLoans","UpdateNewMortgageLoanAttribute","md5","merge","inCurrentState","stampCurrentState","loadState","serializedState","saveState","store","getState","overwriteMerge","destinationArray","sourceArray","options","persistedState","arrayMerge","createStore","__REDUX_DEVTOOLS_EXTENSION__","trace","lastSentHash","mergeState","origin","originState","previousState","masterState","ps","broken","e","x","appAtOrigin","appCurrent","appPrevious","inp","pr","or","gettype","o","whattype","Array","dumpArray","prev","level","dumpObject","propertyName","unsubscribe","subscribe","handleChange","updateState","dispatch","getCurrentState","elapsed","Date","now","location","cache","ok","Status","Text","sstate","tosend","com","href","removeItem","setState","show","throttle","current","currentHash","setInterval","Auth","Component","props","super","onReauthenticate","revalidate","onTimeout","d","toLocaleString","lastSessionUpdate","onActivity","lastActivity","clearTimeout","timeoutId","setTimeout","onShow","showtimer","handleClose","handleShow","active","addEventListener","bind","passive","pathname","Token","componentDidMount","componentWillUnmount","render","_jsx","className","children","_jsxs","Modal","onHide","Header","closeButton","Title","Body","Footer","Button","variant","onClick","url","header","requestConfig","credentials","mode","defineProperty","Error","getLoans","params","api","Switch","CheckSignInMethod","checkCustomerInfo","TASK_STATUS_UPDATE_EVENT","updateTaskStatus","filterData","Tasks","filter","item","TaskType","list","updatedTaskList","tasksByType","task","taskType","sort","ID","mergedTask","nextTask","Items","Documents","mergeTasks","totalLength","taskData","event","CustomEvent","detail","dispatchTaskStatusUpdate","assembleFullName","firstName","middleName","lastName","compact","camelToTitleCase","upperFirst","toLower","startCase","isNumericOrNumericString","isNumber","toNumber","getLoanAddress","isEmpty","isMortgageLoan","creditLoanType","calculateBalancesAndPayments","firstmortgage","firstmortgagebalance","otherbalance","loanmount","subjectmortgages","counter","l","skipLoan","countSubjectMortgages","len","mopayment","rembalance","lien","getLoanAmount","price","salesPrice","Number","downPayment","NewSideBarApplication","setMethod","useState","taskCount","setTaskCount","setCompanyName","customerId","useSelector","useMemo","maxStep","hasCoBorrower","loanCurrentStatus","setLoanCurrentStatus","loanCurrentStage","setLoanCurrentStage","isPrequalLetterNew","setIsPrequalLetterNew","useEffect","res","find","lostate","borrowerFullName","coBorrowerFullName","dropdownMenuItems","label","Link","applicationURL","baseUrl","isApplicationActive","isProcessingActive","isClosingActive","purposeImage","alt","displayAddress","progressIndicator","isCoBorrower","fullName","_Fragment","isNewBorrower","every","Progress","percent","strokeWidth","format","strokeColor","trailColor","totalSteps","completedSteps","isMounted","async","handler","taskDataLength","Method","CustomerID","Email","CompanyName","fetchData","removeEventListener","highlightSection","open","LeftOutlined","fromManualClick","style","backgroundColor","marginLeft","color","whiteSpace","overflow","textOverflow","Tag","preventDefault","cursor","Dropdown","menu","items","flex","minWidth","Tooltip","placement","title","LandingMenu","ontimer","sess","notalive","noactivesession","showAuth","timerId","loadLoanOfficer","Image","getMethod","renderNav","inapp","LinkContainer","question","click","Navbar","app","paddingLeft","fontSize","marginTop","private","public","collapseOnSelect","expand","Brand","Nav","as","HashLink","redirect","openMenu","URLSearchParams","search","get","customization","Customization","icon","PrequalHeader","loid","FirstName","LastName","Domain","login","LoginPath","getLoadLoanOfficer","borrowerid","loname","lophone","Phone","loemail","onCloseMenu","redirectSite","asklogin","isNewApplication","isEmailverification","isPrequal","rel","dropdownItems","fontWeight","applicationInfo","pageGroupName","matchHardMoneyLoanPath","matchPath","exact","strict","history","go","marginRight","height","width","position","textAlign","minHeight","navText","pop","overlayStyle","zIndex","top","Drawer","rootClassName","closable","onClose","NewSidebarApplication","alignItems","padding","borderRadius","paddingTop","marginBottom","DownOutlined","searchparams","setid","Paths","withRouter","connect","CustomerHeader","LandingCopyright","onEmail","target","message","showFailure","sendEmail","Alert","dismissible","Heading","Row","Col","maxWidth","xs","onChange","placeholder","HomeButton","scrollTo","listenScrollEvent","pageYOffset","stl","df_stl","contextTypes","router","PropTypes","object","tagLines","ArrowDown","hidden","FirstPage","listenResizeEvent","innerWidth","wait","timer","fadeOut","towait","fadeIn","elem","tagRef","opacity","clearInterval","tagline","renderButton","alignItemr","ref","Steps","direction","Step","alignItem","classNamme","React","createRef","LandingPage","md","LandingAbout","LoanRateTitle","LoanRateCalculator","setActive","rehabLoan","setRehabLoan","propertyCounty","setPropertyCounty","form","Form","useForm","autoCompleteRef","useRef","inputRef","updateProduct","changeMainPropertyPurpose","updateHardMoneyLoanAttribute","changeMainPropertyAttribute","inputFormatter","inputParser","constructionType","googleOptions","componentRestrictions","country","fields","google","maps","places","Autocomplete","addListener","place","getPlace","address_components","short_name","long_name","setFieldsValue","formatted_address","zipCode","Tabs","defaultActiveKey","propertyType","layout","initialValues","purchasePrice","closingDate","loanAmount","loanTerm","rehabLoanAmount","constructionBudget","projectedAfterRepair","flipped","purchased","FICO","onFinish","values","String","setShowResult","gutter","span","Item","Select","allowClear","InputNumber","prefix","min","formatter","parser","Input","readOnly","DatePicker","Checkbox","checked","precision","justify","Slider","trackStyle","railStyle","htmlType","block","act","val","CodeVerification","ReactInputVerificationCode","autoFocus","SecondaryButton","onChangeSelect","fixedWidth","setCheckValue","achange","ev","chooseArr","result","findIndex","clsname","ele","border","some","Control","required","tag","CheckGroupWithImage","background","hideCircle","wordWrap","display","flexDirection","justifyContent","image","wordBreak","UpdateChangeProgress","UpdateChangeProgressType","UpdateChangeProgressLastVisited","UpdateChangeLastTouch","UpdateChangeVisitedStage","UpdateChangeProgressStep","updateStatsigUser","client","context","getContext","currentUser","user","derivedFields","derived_fields","userInfo","userID","customIDs","IP","ip","customerID","custom","updateUserAsync","runStatsigAutoCapture","withStatsig","WrappedComponent","useStatsigClient","statsigClient","EmailVerification","sendcode","sendingCode","showResult","verified","loID","showCodeArea","verifycodeAndCheckPastLoans","verifingCode","NeedConvertLeads","convertMarketplaceLeads","AlreadySignedUp","signup","LoanStates","showPastLoansModal","pastLoans","currentLoanId","IsNonQM","statejs","verifycode","handleSubmit","editEmail","back","selectedLoanId","loading","isValidated","reportValidity","validated","createNew","withRecord","LoanID","NewState","LoID","updateChangeApplication","updateChangeVisitedStage","updateChangeProgress","showPastLoans","filterValue","toLocaleDateString","wrapClassName","onOk","onCancel","maskClosable","footer","disabled","CheckGroup","lineHeight","textDecorationLine","Spinner","animation","updateCoborrower","changeBorrowerInfo","updateBorrower","updateChangeLastTouch","tab","prgr","updateChangeProgressType","forwardRef","eligibleCities","eligibleCounties","CalcHardMoneyLoanRate","unqualified","unqualifiedReason","floorRate","point","monthlyPayment","closingCost","maxLoanAmount","ltc","propertyCity","rehabAdded","borrowerExperience","loanTermMonths","loanAmountLimit","totalLoanAmount","ltv","ltarv","maxLTV","maxLTARV","maxLTC","minFICO","minExp","minTermMonths","dayOneEquity","cashoutAmount","cashoutPercentage","calcMaxLoanAmount","purPrice","arv","maxltv","maxltc","maxltarv","purPriceMax","costMax","arvMax","initialAdvance","projectAfterRepairValue","constructionLoanAmount","refinanceLoanAmount","extraFee","mp","cc","showSignup","setShowSignup","showEmailVerification","setShowEmailVerification","setRate","setMaxLoanAmount","setMonthlyPayment","setClosingCost","setUnqualified","setUnqualifiedReason","cardList","toFixed","sm","LoanRate","useParams","lg","LoanRateResult","Copyright","Error404","ScrollBar","initVal","scrollChangeValue","noSign","hideSlider","setMaxValue","setMinValue","setStepValue","setInitValue","setInputValue","initValue","inputValue","maxValue","minValue","stepValue","InputWithPercentage","inputChangePercentage","percentageOf","setPercentageOfValue","initValueChange","setDollarValue","percentageOfValue","dollarValue","hasDollarInput","mapStateToProps","mapDispatchToProps","updateSelectField","changeReviewedLoans","changeMainPropertyAppraisal","changeMainPropertySalesPrice","changeBorrowerInfoByValue","clearBorrowerGift","clearBorrowerInsurance","PreApp","handleMessage","borrowerState","borrowerExists","postMessage","onTouch","toUTCString","nextPage","selectedLOId","helmet","getClsName","Helmet","Container","componentRefs","setFocus","showSelectLO","hasLO","loanofficers","lo","showPrice","ownorrent","showHasContract","showHousePrice","focusedIndex","fromMarketplace","los","LoanOfficers","warn","smartlookClient","init","record","emails","forms","numbers","ips","hasLoid","scrollY","behavior","PreAppEmailVerification","showVerification","Spin","spinning","noValidate","onSubmit","currentTarget","checkValidity","stopPropagation","Group","Label","autoComplete","Feedback","emailref","FaqPage","deepcopy","Notifications","getNotifications","inteval","notifications","handleNotificationClose","notification","NotificationId","Closed","stateCopy","closeNotification","Toast","text","Glossary","LogoutPage","logoutpath","APPLICATION_STEP_TYPES","STEP_MENU_ITEMS","APPLICANT_STEP_IDS","PERSONAL","YOUR_INFO","CURRENT_RESIDENCE","SUBJECT_PROPERTY","INCOME","EMPLOYMENT","OTHER_INCOME","FINANCE","ASSETS","CREDIT_CHECK","LIABILITIES","DECLARATIONS","PROPERTY_MONEY","FINANCES","CO_BORROWER_STEP_IDS","INTERVIEW_BASE_PATH","APPLICANT_FLOW_STEPS","CO_BORROWER_FLOW_STEPS","StepApplication","isCoborrower","stepIDs","flowSteps","getParentNodeId","useCallback","parentSteps","nextId","MAX_SAFE_INTEGER","subMenuVisibility","setSubMenuVisibility","parentNodeId","isStepCompleted","stepKey","handleParentClick","isYourInfoCompleted","isResidenceCompleted","isPropertyCompleted","isEmploymentCompleted","isOtherIncomeCompleted","isAssetsCompleted","isCreditCheckCompleted","isLiabilitiesCompleted","isPropertyMoneyCompleted","isFinancesCompleted","getStepStatus","completedStates","allCompleted","someCompleted","textColor","StepCircleIcon","stepStatusMap","stepTextColor","menuTextStyle","yourInfo","currentResidence","otherIncome","creditCheck","propertyMoney","PROPERTY","isSubjectPropertyActive","subItem","subIndex","DocumentManager","dateSortFunction","order","dataField","at","getTime","bt","forWhomDecoded","_forwhom","forwhom","documentsJSON","created","delete","reload","docs","Docs","dt","Uploaded","rand","FileName","Comment","mime","Mime","ForWhom","download","disposition","prevState","loadingIds","loadingId","reader","getReader","ReadableStream","controller","pump","read","done","enqueue","close","stream","Response","blob","URL","createObjectURL","aref","forceUpdate","deleteSelected","modalTitle","columns","classes","events","column","columnIndex","row","rowIndex","sortFunc","dataIndex","ellipsis","showTitle","sorter","defaultSortOrder","_ref2","fixed","DownloadOutlined","Table","scroll","showSorterTooltip","dataSource","pagination","pageSize","hideOnSinglePage","PreviewModal","pdfjs","GlobalWorkerOptions","workerSrc","version","docmentList","file","numPages","scale","change","moveFile","handleDocument","handleZoom","loadSuccess","pageWidth","setPageWidth","selectCategory","setSelectCategory","selectType","setSelectType","containerRef","currentPage","setCurrentPage","isManualChange","useLayoutEffect","handleResize","offsetWidth","changeZoom","changeFile","num","total","categoryOptions","computedWidth","maskStyle","destroyOnClose","previewCancel","MimeType","fileName","overlayClassName","handleDoc","trigger","previewDownload","modifiedPdfBlob","Blob","downloadLink","onScroll","handleScroll","containerHeight","offsetHeight","anchors","querySelectorAll","closestPage","minDistance","Infinity","anchor","getBoundingClientRect","distance","abs","Document","onLoadSuccess","page","el","Page","pageNumber","preview","createImageURLFromBase64","arrayBuffer","arrayBufferToBlob","buffer","Pagination","simple","onChangePage","pdfTargetElement","querySelector","offsetTop","MinusOutlined","PlusOutlined","option","category","doc","getTypeOptions","selectedDocument","TaskName","changeMove","Dragger","Upload","Info","tableRef","contextHolder","useModal","saveLoading","setSaveLoading","tasksLoading","setTasksLoading","taskDocuments","setCurrentID","currentDoc","setCurrentDoc","documentList","setDocumentList","originalDocumentList","setOriginalDocumentList","uncategorizedDoc","setUncategorizedDoc","originalUncategorizedDoc","setOriginalUncategorizedDoc","showDocumentModal","setShowDocumentModal","fileList","setFileList","searchKeyword","setSearchKeyword","selectedCategory","setSelectedCategory","selectedSwitch","setSelectedSwitch","uncategorizedOpen","setUncategorizedOpen","showPreviewModal","setShowPreviewModal","previewMode","setPreviewMode","handleForm","setHandleForm","handleRecord","setHandleRecord","uploadMode","setUploadMode","setFile","setPageNumber","setNumPages","setScale","setTask","identification","miscellaneous","searchKeywordRef","selectedCategoryRef","selectedSwitchRef","documentListRef","refs","checklistWrapRef","visiblePopover","setVisiblePopover","handlePopoverVisibility","recordId","visibility","getdocuments","interval","tableContainer","scrollTop","scrollHeight","currentCategory","targetRef","currentScroll","showLoading","originalData","uncategorizedList","TaskID","flatMap","Updated","docType","ExtraInfo","transformed","existingItem","openState","transformData","downloadAll","isApproachingDeadline","deadline","deadlineDate","dayjs","startOf","oneDayBeforeDeadline","subtract","isSame","isAfter","keyword","categories","switchFilter","newFilteredUncategorizedData","newFilteredData","cat","filteredList","taskNameMatch","documentsMatch","statusMatch","Deadline","timeRangeOptions","draggerProps","multiple","showUploadList","info","onDrop","beforeUpload","_file$name","_file$name2","heic2any","toType","warning","LIST_IGNORE","File","allowedFileTypes","fileType","handleValuesChange","changedValues","allValues","getLabelByValue","foundOption","removeFileExtension","uploadDocuments","formData","FormData","append","originFileObj","sendEmailRequest","taskCancel","base64ToArrayBuffer","base64","binaryString","bytes","DocID","files","Content","filename","JSZip","filesFolder","folder","generateAsync","saveAs","resetFields","getFieldValue","documentSave","fileListAmount","fileListName","logEvent","eventName","startTime","timestamp","entrance","pageUrl","bulkupload","showCurrentTasks","formatStatus","requested","tooltip","pendingUpload","uploaded","resubmit","uncategorized","readyForReview","mapStatusTagStyle","mapViewStyle","mapViewText","dropdownMenu","handleUpload","uncategorizedColumns","arrow","localeCompare","_formatStatus$status","indicator","LoadingOutlined","spin","viewAll","moveDoc","handleUncategorized","messageList","resubmission","OperationRecord","ResubmissionRequest","filterResubmission","Description","columnsData","documentColumns","isVisible","reUploadMsg","initualMsg","previewDoc","previewFile","Popover","onOpenChange","visible","content","CloseOutlined","specialUpload","updatedList","handleExpand","actionDoc","taskName","expandedRowRender","nestedColumns","gap","rowKey","showHeader","maxTagCount","suffixIcon","CaretDownOutlined","bulkUpload","rowHoverable","defaultExpandedRowKeys","rowClassName","expandable","rowExpandable","expandIcon","expanded","onExpand","Empty","PRESENTED_IMAGE_SIMPLE","centered","tip","onValuesChange","valuePropName","getValueFromEvent","InboxOutlined","updatedFile","selectFile","handleDeleteDoc","uid","taskID","handlePage","onDocumentLoadSuccess","DocumentSidebar","changeMenu","menuExpand","setMenuExpand","setCurrentCategory","flexWrap","clickMenu","Dropzone","hightlight","fileInputRef","openFileDialog","onFilesAdded","onDragOver","onDragLeave","evt","array","fileListToArray","disabed","dataTransfer","defBanner","loadingBanner","role","loadMore","successfullUploaded","cleanfiles","f","onClear","banner","uploadFiles","changeForWhom","uploading","uploadProgress","taskid","comments","sendRequest","renderActions","_uploadFiles","promises","Promise","all","onUploaded","resolve","reject","req","XMLHttpRequest","upload","lengthComputable","copy","percentage","loaded","setRequestHeader","send","renderProgress","uploadPromises","uploadFile","results","updateFilename","controlId","isValid","pattern","defaultValue","selectMenu","setSelectMenu","DocumentChecklist","PDFPreview","useHistory","pageRefs","showSignPad","setShowSignPad","currentSignature","setCurrentSignature","currentSignId","setCurrentSignId","setLoading","isModalOpen","setIsModalOpen","signItems","setSignItems","pdf","signMarks","documentRef","submitLoading","setSubmitLoading","onPageLoadSuccess","insertSignature","foundList","signid","newSignItems","pageName","moment","verifySignItems","hasNextSign","verifyResult","openSignPad","initSignItems","renderTextLayer","onRenderSuccess","signMark","signIdx","signContent","rules","_pageRefs$current$fou","pageOffset","pdfDoc","PDFDocument","load","font","embedFont","getPage","getWidth","textSize","textHeight","heightAtSize","textY","getHeight","drawText","y","rgb","modifiedPdfBytes","save","Created","dd","tasktype","rawdocs","loaddocs","showclosed","showSign","Redirect","duedate","onshowclosed","expandedRowKey","expandedRowKeys","spliceIndex","documentName","showUpload","showUploadModal","uploadFileList","docID","uploadLoading","base64ToFile","base64String","contentType","byteCharacters","byteArrays","offset","byteNumbers","byteArray","uploadSave","uploadCancel","success","deleteDoc","handleDelete","updatedTaskDocuments","submitTask","Data","convertBytes","floor","fileIcon","signature","extraInfo","signData","transformedMarkList","markList","pdfFile","pdfVisible","pdfBlob","expandedContent","Popconfirm","onConfirm","okText","cancelText","UploadOutlined","DueDate","mapType","sign","noTasks","changeCollapse","activeKeys","customHeader","completed","snow","updateChangeProgressLastVisited","borderBottom","textDecoration","documentTotal","Skeleton","showTaskTable","Collapse","activeKey","collapsible","isActive","rotate","expandIconPosition","Panel","DateOfBirth","hide","press","container","dateSelected","getMonth","getDate","getFullYear","seed","old","renderCalendar","borderWidth","Calendar","maxDate","minDate","calendarType","maxdate","onRef","setCustomValidity","what","InputGroup","isValie","paddingRight","negativefeedback","updateIsHardMoneyLoan","def","catchall","nocomma","cla","last","OverlayTrigger","rootClose","overlay","tooltipFlat","noquestion","MonhtlyChange","nw","MonhtlyChangeBP","breakEven","be","Tips","Totip","maxHeight","overflowY","InputGroupComponent","placeholderValue","setPlaceholder","onBlur","AddressAutocomplete","onValidate","adr","onCompletion","parsed","parseLocation","busted","number","handlePlaceSelect","autocomplete","straddr","zips","goodfeedback","badfeedback","AddressComponent","onAddressLineChange","onStateChange","onCountyChange","onCityChange","onZipChange","cityPlaceholder","zipPlaceholder","loanLimits","setLoanLimits","addressLine","setAddressLine","addressState","setAddressState","addressCounty","setAddressCounty","addressCity","setAddressCity","addressZip","setAddressZip","fetchLoanLimits","statusText","longstate","stradd","onStreetAddressCompletion","getStates","getCounties","eventBus","EventEmitter","stateData","PHONE_NUMBER_PLACEHOLDER","visas","PhoneInput","newValue","displayValue","componentDidUpdate","prevProps","phoneRef","onDelete","onTypeChange","showDelete","availableTypes","inputMode","onKeyPress","phoneType","Option","getOccupation","employed","borroweroccupation","coborroweroccupation","updateLeadSource","changePhoneInfo","updateSameProperty","updateCurrentResidence","updateCohabiting","changeMainProperty","updateBorrowerAttribute","addPreviousAddress","updatePreviousAddress","removePreviousAddress","clearPreviousAddress","changeOccupationInfo","changeOccupationCheck","check","updateApplicationAttribute","updateApplicationCheck","changeMainPropertyPropertyType","addRemoteCoborrower","changeMainPropertyRefinanceAttribute","changeMainPropertyOccupancy","addBorrowerOwnedProperty","prependOwnedProperty","prependBorrowerOwnedProperty","prependCoborrowerOwnedProperty","changeOwnedProperty","changeBorrowerOwnedProperty","changeCoborrowerOwnedProperty","removeOwnedProperty","removeBorrowerOwnedProperty","removeCoborrowerOwnedProperty","clearBorrowerOwnedProperty","updateExpenses","changeBorrowerCheck","Applicant","dob","getName","bo","cb","MiddleName","CoborrowerFirstName","CoborrowerMiddleName","CoborrowerLastName","CoborrowerEmail","CoborrowerPhone","updateYears","updateMonths","completion","formElements","elements","totalCount","fillNum","element","progressValue","hasSameAddress","coBorrower","phones","homePhoneRef","mobilePhoneRef","workPhoneRef","cform","chooseBorrower","radioself","chooseCoborrower","radiocoborrower","eventTargetId","updateMarried","onMarried","isCurrentlyCohabiting","updateCoborrowerAssetsUsed","updateCoborrowerLiabilitiesUsed","figureOut","handleSelfClose","showSelf","selfEmployedAsessment","qualifyForCashout","showCashout","handleCloseCashout","selectedalone","withcoborrower","isValidEmail","qualify","additional","sameAddress","setAttribute","schangeBorrowerInfo","changeCoBorrower","handleChangePhoneNumber","onQualify","onAdditional","defDate","setFullYear","changeExpiration","expiration","date","Citizenship","isAlien","massage","disabledDate","valueOf","onChangeSwitch","phoneTypes","visiblePhoneCount","handleDeletePhone","handleChangePhoneType","oldType","newType","currentValue","getUsedPhoneTypes","currentValueToUse","handleAddPhone","phoneValue","applicationData","dialogClassName","htmlFor","handleSubmitModal","defaultChecked","Check","fontStyle","paddingBottom","Residence","stateKey","keysToFilter","filteredObj","reduce","nestedKeys","nestedKeyString","nestedKey","hasOwnProperty","lastNestedKey","emptyNum","errMsg","addressSection","scrollIntoView","handlePrevious","changeTab","tabAvtive","emit","displayPreviousAddress","achangeAddressInfo","changeAddressInfo","xl","displayPreviousAddresses","borrowerYears","coborrowerYears","formRef","borrowerStreet","coBorrowerStreet","setLoanState","setLoanCounty","setLoanCity","setZip","handleSameMailingAddress","handleMailingAddressChange","handleMailingUnitChange","handleMailingStateChange","handleMailingCountyChange","handleMailingCityChange","handleMailingZipChange","Declarations","achangeDeclaration","changeDeclaration","occupyAsPrimary","ownershipInterest","propertyOwned","familyRelationship","titleHeld","downPaymentBorrowed","moneyBorrowed","applyingOnAnother","applyingNewCredit","cleanEnergyLien","yesnooptions","NumericalInput","decommaizeNumeric","minimum","onValid","validity","valid","limit","maximum","up","fs","getElementsByTagName","down","downUp","intervalid","upUp","downDown","upDown","noarrow","intervaldirecton","toexpand","childClassName","wrap","Prepend","Append","onMouseDown","onMouseUp","onMouseLeave","fontFamily","NumericalInputSimple","CommaizedInput","withDollarSign","DollarInput","replaceAll","getassets","Allocation","apply","isAllZero","allocationData","classNme","PieChart","Finances","recalcAssets","calculateAssets","self","declarationFields","mergedObj","acc","field","processBrokerages","generateBrokerAccount","brokername","changeBorrowerBrokerBalance","borrowerName","coborrowerName","changeBorrowerBrokerName","changeBorrowerBrokerAccount","changeBorrowerBrokerTaxStatus","changeBorrowerBrokerAttribution","addBorrowerBrokerAccount","removeBorrowerBrokerAccount","addOtherSources","addBorrowerBankAccount","clearBorrowerBankAccounts","updateJointly","addOtherBrokerages","clearBorrowerBrokerAccounts","addOtherProperties","addBorrowerAdditionalProperty","clearBorrowerAdditionalProperty","updateFinances","showInvestment","declaration","onEthnicity","updateEqualOpportunity","onSex","updateEqualOpportunityCheck","updateEqualOpportunitySub","isHispanicRequired","isRaceRequired","isPacificRequired","isAsianRequired","changeMilitary","m","totalAssets","omit","changeContinueButtonText","changeBorrowerBrokerAllocation","MoreFinances","updateInsurance","processInsurance","renderInsurance","processGifts","renderGifts","changeGiftAmount","updateBorrowerGift","changeAttribution","changeGiftSource","desc","changeDeposited","achangeGiftValue","getDeposited","getSourceDescription","help","addBorrowerGift","removeBorrowerGift","processAssets","listOtherAssets","addOtherAssets","addBorrowerOtherAsset","clearBorrowerOtherAssets","changeBorrowerOtherAssetValue","otherAssetSelect","changeBorrowerOtherAsset","getDescription","onSelect","changeBorrowerOtherAssetAttribution","removeBorrowerOtherAsset","generateAccount","changeBorrowerBankAccountType","changeBorrowerBankName","changeBorrowerBankAccount","changeBorrowerBankBalance","changeBorrowerBankAttribution","removeBorrowerBankAccount","process","changeBorrowerInsuranceValue","addBorrowerInsurance","removeBorrowerInsurance","changeBorrowerOtherAssetName","handleClickOutside","suggestionsRef","contains","showSuggestions","suggestions","filteredSuggestions","suggestion","activeSuggestion","innerText","handleSearch","onFocus","onKeyDown","keyCode","suggestionsListComponent","forhtml","AutoComplete","defaultOpen","onSearch","invalid","defaultProps","titles","MoneyInput","PureComponent","onPeriodChange","boxShadow","bordered","calculateIncomeWho","calculateMonthlyIncome","hoursPerWeek","hours","calculateEmploymentIncome","emp","totalIncome","sum","otherEmp","calculateDividendIncome","mapStateToPropsDetails","mapDispatchToPropsDetails","changeNonQMInfo","setBorrowerHasAdditionalIncome","updateIncomeMonthly","addBorrowerAdditionalIncome","removeBorrowerAdditionalIncome","clearBorrowerAdditionalIncome","updateBorrowerAdditionalIncome","changeIncomeCheck","changeCurrentOccupationCheck","changeCurrentOccupation","addAdditionaOccupation","removeAdditionalOccupation","clearAdditionalOccupations","changePastOccupationInfo","changePastOccupationDate","changePastOccupationPhone","changePastOccupationCheck","addBorrowerOtherOccupation","removeBorrowerOtherOccupation","clearBorrowerOtherOccupations","changeBorrowerOtherOccupationValue","changeBorrowerOtherOccupationIncome","updateIncomeAtttribute","getEmploymentType","Income","getIsNonQMCustomer","isNonQMCustomer","personalCoborrower","employmentType","loadExpenses","ex","hazardinsurance","dues","onBaseAmountValid","isbasevalid","onComissionsAmountValid","iscomissionvalid","onOvertimeAmountValid","isovertimevalid","onBonusesAmountValid","isbonusesvalid","onMilitaryAmountValid","ismilitaryvalid","onOtherAmountValid","isothervalid","onDividendsValid","isdividendsvalid","canShowDividends","hasbonuses","PreviousEmploymentForm","achangePastOccupationDate","currentJob","inline","EmploymentForm","ondocs","IncomeType","Space","Compact","canShowOtherIncome","enoughCurrentJob","processOtherIncome","extraIncome","hideOccupation","updateBorrowerHasOccupation","showOccupation","addMoreSources","fieldOccupation","employed2years","showNoticeModal","diff","editEmployment","isotherJob","editIndex","isEdit","showEmploymentModal","incomeAmount","updateMonthly","showDescription","DropdownButton","eventKey","aupdateBorrowerAdditionalIncome","changeEmploymentTypes","getPreviousOccupation","_this$props$applicati","previousOccupations","changePreviousJob","editPreviousEmployment","reffrom","refto","refsfrom","refsto","formatAmount","currency","minimumFractionDigits","getEmploymentList","schedulec","schedulef","f1065","f1120S","f1120","w2paystub","schedulek1","handleSetPrimary","newPrimaryData","oldPrimaryData","incomeKey","incomeValue","_ref3","_ref4","deleteEmployment","addCurrentOccupation","crefsfrom","addEmployment","previousEmployed","addPreviousEmployment","showPreviousEmploymentModal","deletePreviousEmployment","employmentModal","creditCheckContinue","employmentData","isDayjs","incomeData","_ref5","_ref6","_ref7","_ref8","closeModal","backdrop","saveContinue","_ref9","PreviousEmploymentModal","displayNonQM","displayConventional","InfoCircleFilled","overflowWrap","onContactLoanOfficer","toggleLoanOfficerPanel","onAddFormerEmployment","formIndex","AntButton","tabs","hasborrowerTab","refsfrom1","refsto1","prevOccupations","OtherIncome","onSelectAdditionalIncome","getTotalExpenses","getExpence","Expenses","showCoborrower","totalExpenses","getHeader","processAlimonies","whatisit","generateAlimony","changeAlimony","updateWhat","changePaymentType","addAlimony","removeAlimony","otherloans","clearAlimonies","clearAlimony","changeAlimonyField","PropertyModal","handleInputChange","onPropertyChange","onHaveMortgateForProperty","propertyIndex","additionalLoan","mortgageLoanForm","loanIndex","handleFieldChange","updatedLoans","isAdditional","borderTop","Liabilities","recalcStepper","getFilteredLoans","stepsandsubsteps","steps","substeps","dupresolved","fillPerson","fillAddress","fillPreviouswAddress","fillApplicant","addresses","fillRequestBody","force_ucs","debug","app_data","request","loadingcr","clearBorrowerLoans","updateFico","remap","islease","isinstallment","opened","remapped","copyBorrowerLoan","addBorrowerAdditionalPropertiesFromCredit","updateCRErrors","getDTI","dtiData","monthlyIncome","monthlyDebt","preDTI","monthly_income","debt","dti","processOtherCredits","renderRow","addOtherCredits","addBorrowerAdditionaCredits","clearBorrowerAdditionalCredits","updateFinancesCheck","freeAndClear","changeBorrowerFreeAndClear","filterNonDuplicates","getUnfilteredIndex","processSteps","renderLoanStep","renderLoan","getIcon","getSubjAddress","getFlag","newshow","isPrimary","trr","alreadyRefinanced","changeBorrowerLoanSatisfiedUpon","isMortgage","observedIndex","showWarning","changeBorrowerLoanForSubject","getBalancePayment","changeBorrowerLoanForPrimary","changeBorrowerLoan","onMonthlyChange","changeBorrowerLoanMonthly","askHowToPay","canPayoffWithLoanProceeds","paidOff","showBalancePaidOff","changePropertyAddress","crossed","mt5","onRateChange","changeBorrowerLoanRate","changePartOfOriginal","showAddress","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","askAboutDuplicate","askDupe","onDupe","changeBorrowerLoanCorrection","switchCashout","originalPurchase","rows","changeBorrowerLoanExplanation","toggleShow","displayMonthly","liability","displayOwnership","coBorrowerName","theRest","ital","askPrimary","showQuestionForPrimary","checkForPrimary","subj","checkForSubject","grayifneeded","clearValidate","dup","subStep","secondaryCurrent","nbsp","renderStepper","inx","ss","renderCore","filteredLoans","addOwnedProperty","addCoborrowerOwnedProperty","clearOwnedProperty","clearCoborrowerOwnedProperty","showPropertyModal","currentPropertyIndex","processAdditionalRealEstate","editProperty","getCreditLoanTypeText","Boolean","flexShrink","getStatusText","getOccupancyText","isPreapproval","getExpensesQuestions","currentProperty","additionalProperties","hasAdditionalProperties","errNoOwnership","errNoRent","renderAdditionalExpenses","renderExpenses","usestepper","clearNewMortgageLoans","updateSolarPanels","propertyNoLoans","loansForCurrentResidence","addNewMortgageLoan","removeNewMortgageLoan","updateNewMortgageLoanAttribute","notifyingLO","setNotifyingLO","remindingLO","setRemindingLO","showReminderSentModal","setShowReminderSentModal","chooseRate","futuremortgageinsurance","notifyLO","apr","term","mtype","getLTV","ceil","showAlert","loSelection","contactLO","displayLoSelectedRateCard","isSelected","CheckCircleFilled","CheckCircleOutlined","getAmortization","PDFViewer","USDollarCurrencyLocale","Intl","NumberFormat","maximumFractionDigits","Typography","ClickablePrequalLetterDisplay","expirationDate","PrequalLetterHeader","Paragraph","NoPrequalLetters","SharePreQualLetterModal","selectedEmails","setSelectedEmails","emailInput","setEmailInput","emailSuggestions","setEmailSuggestions","_application$brokerin","handleSend","popupMatchSelectWidth","showSearch","filterOption","optionRender","dropdownRender","PreQualLetterHistory","loanID","setData","setTrigger","pdfUrl","setPdfUrl","currentLetterIndex","setCurrentLetterIndex","isSendEmailModalOpen","setIsSendEmailModalOpen","rawData","sortedData","sortBy","issueDate","unix","useImperativeHandle","ignore","getPDFContent","serialID","documentSerialID","pdfBlobUrl","handleOpenSendEmailModal","handleCloseSendEmailModal","dataRow","Tick","tick","count","maxval","Handle","handle","getHandleProps","myInput","knobCtx","color2","setTransform","fillStyle","beginPath","arc","PI","fill","globalCompositeOperation","restore","RADIUS","Track","getTrackProps","sliderStyle","touchAction","HorizontalSlider","isDisabled","onUpdate","rootStyle","domain","Rail","getRailProps","Handles","handles","Tracks","tracks","Ticks","ticks","AffordabilityTick","AffordabilityHandle","_ref10","setNum","splitVal1","splitVal2","color1","AffordabilityTrack","_ref11","AffordabilitySliderStyle","AffordabilityRailStyle","AffordabilityHorizontalSlider","_ref12","_ref13","_ref14","_ref15","_ref16","Multiselect","selectedValues","radio","opt","humanname","optionsmap","isChecked","changeBorrowerInfoCheck","changeMainPropertyUnits","changeMainPropertyYearBuilt","changeMainPropertyRefinanceYearAcquired","changeMainPropertyRefinanceOriginalCost","addSelectedLoanPrepaid","updatePaymentPeriod","updatePaymentAmount","updatePrepaidDefault","addSelectedLoanEstimatedClosingCosts","LoanEstimate","hasPrepaidInterest","card","ret","canShopFor","canShopForFee","cantShopFor","addFha","cantShopForFee","totalLoanCost","originationFees","otherTotal","taxFees","prepaidFees","initialEscrowAtClosingFee","otherFees","totalClosing","DI","totalclosingcosts","remaining_credits","taxes","originationCharges","broker_fee","pointsExplained","displayPrepaid","initialescrowatclosing","cashtoclose","getDownpayment","customerfunds","finalCashToClose","getLoanSize","cltv","hcltv","days","LoanDetails","getClosingCosts","displaySelectedCard","interest10","yearstohold","interesttotal","getCurrentRate","purposeOfLoan","getAppraisal","getPaydown","getCurrentProgram","MortgageAmortization","getPMINeed","PMICost","getPMI","Details","transition","unmountOnExit","Tab","colors","floatize","getMonthlyPayment","AmortizationChart","getSeries","series","Rate","pmiaccumulated","end","setMonth","interest","cumulative","paidprincipal","dateRange","dates","maxyears","Chart","chart","toolbar","dropShadow","enabled","blur","zoom","autoScaleYaxis","followCursor","shared","month","legend","autoSelected","stroke","curve","xaxis","yaxis","labels","Comparison","recalculate","lenders","loansizes","amor","baserate","lc","cash2close","c2c","tc","c","llc","mm","haspmi","pm","hasfha","prepi","ini","choose","ch","callselect","deselect","calldelete","displayRow","z","cl","lender2icon","NewFi","RocketPro","FinanceOfAmerica","Plaza","Caliber","HomePoint","HomePointDelegated","Amwest","PreferredRate","Flagstar","AmeriHome","Chase","Fairway","PennyMac","PRMG","ResiCentral","Sprout","USBank","FifthThirdBank","Provident","LoanDepot","DivineMortgage","WholesaleMortgageBankers","LoanStore","NewWaveLending","sorts","selectbyrate","selectbyapr","selectbyclosingcosts","typeoptions","cliff","termoptions","customstyle","multiselectContainer","searchBox","inputField","chips","optionContainer","getFees","_fees","fico","zeitro_fee","prepaid_interest_days","productReload","getCitizenship","predti","firstTimeHomeBuyer","firsttimehomebuyer","estimatedClosingCosts","visaType","errorText","showIcon","products","topProducts","failedProduct","msg","showDetails","reasons","LenderLevelReason","preasons","ProductLevelReasons","ProductName","IneligibleReason","errorCode","askedForAssistance","filterForAssistance","processProducts","ProductPicker","reset","termselected","typeselected","terms","amortizations","rawproducts","compareRate","cullRate","newproducts","compareAPR","cullAPR","compareMoneyUpfront","bcc","cullMoneyUpfront","compareMonthly","cullMonthly","compareTotalOwnership","ca","cullTotalOwnership","getCost","compareHoldingOwnership","cullHoldingOwnership","updateLender","selectedlenders","isUnchecked","rearranged","minclosingcost","maxclosingcost","mintotalinterest","maxtotalinterest","maxreserves","_types","_terms","_totalterms","ProductRatesCosts","commonproduct","ausengine","AUSEngine","rateCosts","pdkt","Aus","selectedmaxreserves","lowclosingcost","highclosingcost","oldmaxupfrontcost","newterms","plainproducts","referi","high_cost_loan","high_priced_loan","partialObject","hsh","LenderInfo","getSelectedIcon","changeshown","suggestedLoan","findClosestLoan","showPriceChanged","selectedImage","needsAdjustment","onPriceChange","nextbest","ARM","suggested","checkout","maxcachout","filteredbytype","filteredbyclosing","compare","culled","cull","howmany2display","resetDefault","renderProducts","displayCard","onTriangleUpdate","l1","l2","weightclosing","weighttotalcost","weightmonthly","updateTypes","updateTerms","onRemove","onSelectTerms","onRemoveTerms","onSelectLenders","onRemoveLenders","selectsort","changeYears","updateDownpayment","dp","changeDownpayment","ls","updatePaydown","changePaydown","onDownpaymentInput","defdownpayment","updateCashout","changeCashout","updateCost","high","changeCost","updateReserves","reserves","changeReserves","showSpinner","selectCard","selectLoan","getOldInterestRate","currentMonthly","mostyle","fingerclass","moPayment","getType","tp","detailedCard","interestRate","breakPoint","accumulatedOld","accumulatedNew","getBreakPoint","showSavings","acceptFiddle","notready","remotes","positionbyemail","onDownPurchase","newd","onDone","onUpPurchase","printDownpayment","getPercent","refirate","getRemainintLenderCredits","onCCInput","deleteSelection","onHidePriceChanged","useSuggestion","checkStatus","statusloaded","proc","Position","renderRemoteCoborrowers","rb","getStatus","pos","waiting","CustomToggle","showContactModal","showSortButton","Toggle","Menu","k","displayFilters","showCheckbox","closeIcon","fluid","seletion","showComparison","removeSelection","comparisonSelections","showMore","showLess","ƒTriangggweightmonthly","viewkey","showHelp","dtiSpreadsheetLoading","lmincashout","downloadDTIspreadsheetRef","tan","ob","max_cashout","PrequalLetter","postCheckingAllProducts","hasLetters","Loan10","Loan20","Loan25","numberOfLetters","saveAllPrequals","showPrequalLetterHistory","newloan","savePrequal","loanType","isFHA","loadingPdf","prequalLetterHistoryRef","getBest","minAPR","ln","automatedPreQualLetter","showCreateNewModal","loadingCreateNew","AutomatedPreQualLetter","EditableContext","createContext","EditableRow","component","Provider","EditableCell","handleSave","restProps","editing","setEditing","useContext","focus","toggleEdit","validateFields","errInfo","childNode","onPressEnter","OwnedPropertyMortgagesTable","setDataSource","isSubjectProperty","newData","sendData","components","cell","MinusCircleOutlined","col","onCell","handleAdd","EditableTable","defaultColumns","saveFunc","rest","newDataTemplate","PrequalProperty","isoccupancyHidden","lookupAddress","providedAddress","lastcompletion","addr","sameaddress","changeMainPropertyAddress","encodeURI","sfx","short","shorts","updateRefinanceAddressWithResidencyAddress","lookupProperty","Yearbuilt","Units","Lastsale","Lastsaleprice","changeMainPropertyExpectedRentalIncome","achangeMainPropertyState","changeMainPropertyCounty","onBudget","changeMainPropertyDescription","changeMainPropertyInWhatName","changeMainPropertyEstateHeldIn","changeMainPropertyInWhatManner","changeMainPropertySources","changeMainPropertyRefinancePurpose","changeMainPropertyRefinanceImprovementsDesc","changeMainPropertyRefinanceExistingLiens","changeMainPropertyRefinanceImprovementsStatus","changeMainPropertyRefinanceCost","changeMainPropertyConstructionYearAcquired","changeMainPropertyConstructionOriginalCost","changeMainPropertyConstructionExistingLiens","changeMainPropertyConstructionPresentValue","changeMainPropertyConstructionCostOfImprovements","changeMainPropertyExpirationDate","changeMobileHomeInfo","Property","_this","updateLoanBalance","initial","presentAddressStreet","isOccupancyHidden","checkDollarInputs","isAppraisalValid","isSalesPriceValid","needMortgageBalance","needsToAskMortgageBalance","mortgageLoans","isLoanBalanceValid","isDownpaymentValid","isPaydownValid","isCashoutValid","totalmortgage","mortgagebalance","propertyKnown","getCompanyConfig","isMobileHomeOnly","configurations","propertyTypesLoading","onAddressBlur","forMobileHome","processAdditionalNewMortgages","changeNewLoanAttrs","changeNewLoanAttr","changeNewLoanAttr1","renderWarningMessage","useEstimated","hasMortgages","hasprimary","hassubject","WARNING_MESSAGES","MISSING_PRIMARY_RESIDENCE","MISSING_SUBJECT_PROPERTY","CANNOT_REFINANCE_FREE_CLEAR","presentFreeAndClear","toggleDrawer","isDrawerVisible","renderFirstTimeBuyerContent","isPurchase","isRefinance","isCashoutRefinance","wordSpacing","countyref","stateref","MoreProperty","renderRefinance","changeMainPropertyRefinanceExplainOther","adj","selected","parseSources","parseBareSources","getOther","inwhat","hasOther","has","updateTransaction","aupdateTransaction","DetailProperty","_this2","onAppraisal","onSalesPrice","displayOwnedProperty","Overview","stepStyle","loanOfficerName","priceValue","paymentValue","showMainStages","stages","stageNum","SummaryItem","WebkitLineClamp","WebkitBoxOrient","Fragment","verticalAlign","labelPlacement","responsive","formatRateAndAPR","isValidRate","isValidAPR","SSN","initStatus","checkAutomatedCreditPull","getEstimatedMonthlyPay","showStatusInfo","showCheckCredit","showFico","getCurProgress","borrowerSSN","hasCoborrower","coborrowerSSN","automatedCreditPull","UseAutomatedCreditPull","pullCredit","checkPulled","reconcileSSN","borrowers","ssn","estimatedLoan","updateEstimatedPayment","showCheckMsg","updateSSN","formatSSN","ssnLength","enterSSN","isInvalid","changeTips","getCreditReport","checkBtnDisabled","showCredit","showCreditModal","softPullIcon","handleLoanBalance","originalBorrowerSSN","originalCoborrowerSSN","authorized","invalidPrimaryAddress","pwdType","coPwdType","confirm","showSSN","changeLoading","clearBorrowerCreditRecords","clearCRErrors","coBorrowerSSN","processStatusNotOK","processData","InitiatedByLO","Type","BorrowerID","displayEstimatedFicoAndDebt","originalSSN","getContactModal","getLoanOfficerInfo","officer","Profile","Card","PhoneOutlined","MailOutlined","LoanOfficerPanel","showLoanOfficerPanel","isCoBorrowerStep","FloatButton","CustomerServiceOutlined","bottom","transform","styles","SubInterview","returnTrue","returnFalse","personalCoBorrower","returnTruePurchase","coBorrowerPurchase","newCustomer","creditNotPulled","assetsAndLiabilities","totalMortgage","notRemote","coBorrowerNotRemote","coBorrowerNotCohabiting","coBorrowerNotJoint","coBorrowerNotJointPurchase","checkExpenses","checkPreChoice","checkCoExpenses","checkOverview","_this$props$location","_this$props$location$","isManualClick","remoteCoBorrowers","returnProperty","coBorrowerProperty","returnProductPicker","returnMoreProperty","coBorrowerMoreProperty","getURLIndex","newIndex","wizard","checkAuthorizationValidity","bSocialSecurity","cbSocialSecurity","parsedBorrowerSocialSecurity","parsedCoBorrowerSocialSecurity","hostname","identify","assembleWizard","createWizardStep","condition","MyRates","changeNextButtonText","checkValidate","continueButtonText","restoreContinueButtonText","currentIndex","oninit","submit","update","newindex","currentPane","hiddenNext","previous","child","next","_currentComponent$","_currentComponent$$cu","currentComponent","_currentComponent$2","_currentComponent$2$c","wizardLength","showSaveMessage","config","getContainer","messageContainer","duration","els","getElementsByClassName","previousSibling","classList","_this$props$applicati2","_this$props$applicati3","_this$props$applicati4","_this$props$applicati5","_this$props$applicati6","showSubmitModal","borrowerEmail","borrowerContact","borrowerLoanAmount","borrowerLoanType","borrowerScore","rollback","isRollbackHidden","isPreviousHidden","handoff","handingoff","autoCreateTasksAndNotifyLO","handleOk","isMobile","AntdButton","shouldShowBottomNavigation","shouldShowStepApplication","fromiframe","smallScreen","wrapperClassName","textWrap","whoValue","ApplicationInterview","shouldComponentUpdate","_createElement","messageApi","useMessage","showContact","setShowContact","contactMessage","setContactMessage","signStatus","setSignStatus","showResendConfirmModal","setShowResendConfirmModal","showRequestConfirmModal","setShowRequestConfirmModal","codeConsent","setCodeConsent","passcode","setPasscode","sendingSignRequest","setSendingSignRequest","TextArea","statusList","operate","getFormSignStatus","SignStatus","calcLoanAmount","lm","hardmoney","rateResult","sendMail","coborrowerEmail","borrowerFirstName","borrowerLastName","coborrowerFirstName","coborrowerLastName","Code","emailSignRequest","statusIndex","GoogleAutocomplete","maritalStatusOptions","borrowerTypeOptions","validateMessages","initialRaceVal","PropertyTypeOptions","loanTypeOptions","loanPurposeOptions","loanTermOptions","YesNoOptions","DeclarationsYesNoOptions","bankruptcyTypeOptions","getFormRace","getFormHispanic","getFormAsianRace","raceVal","Borrower","disabledOnclick","onSubmittedDisableClick","setHasCoBorrower","borrowerType","setBorrowerType","stateOptions","setStateOptions","countyOptions","setCountyOptions","coborrowerCountyOptions","setCoborrowerCountyOptions","endOf","onChangeSex","onChangeEthnicity","onChangeHispanic","onChangeRace","formAsianRace","formOtherAsian","formPacificOther","formIndianTribe","otherdescription","formRace","onChangeAsianRace","onChangeAsianOther","onChangePacificOther","handleGo","showModal","handleCoborrower","updateHasCoborrower","onChangeBorrowerType","getAddress","streetaddr","streetAddress","changeCoBorrowerInfo","onChangeState","onChangeEntityState","updateEntityInfo","onChangeZip","formatVal","onChangesocialsecurity","updatedValues","getFieldsValue","onChangedriverlicense","onHispanicOtherInputChange","onChangePhone","onChangeIndianTribe","checkSSNLength","validatePhoneNumber","checkDriverLicenseLength","_e$target","ent","entityPhone","updateEntityInfoObj","getEntityInfo","cdob","formInitial","birthday","maritalStatus","ecs","entityName","TIN","Own","entityEmail","entityStreet","entityCity","entityState","entityZip","formEthnicity","formHispanic","formOtherHispanic","entityContactFirstName","entityContactLastName","entityContactPosition","onFieldsChange","onFieldChanged","getFieldsError","errors","resetProgress","scrollToFirstError","finish","onFinishFailed","errorFields","outOfDate","validateTrigger","validator","Divider","getEntityAddress","QuestionCircleOutlined","Radio","loanTypeExitStrategyMap","PropertyAndLoan","loanPurpose","setLoanPurpose","choosedOthers","setChoosedOthers","otherSpecify","setOtherSpecify","setRehabAdded","loanPurposePopovercontent","loanTypePopovercontent","exitStrategyPopovercontent","updateExitStrategyOthers","refiDisabledDate","tcdDisabledDate","onChangeLiquidity","onChangePurchaseLoanAmountRequested","onChangeRehabLoanAmountRequested","onChangeRehabDetails","onChangeRefinanceDetails","cd","escrowDate","initialAdvanceRequested","rehabRequested","totalLoanAmountRequested","loanTermRequested","ARV","assignmentFee","exitStrategy","rehabRemaining","rehabCostSpentToDate","addingSqft","sqftAdded","addingUnits","specifyothers","onFieldsChanged","updateLoanTypes","addonAfter","bankrupcies","initialList","select","money","bankruptcyType","questionList","setQuestionList","onChangeBankruptcyType","checkedValues","onChangeMoney","btnDisable","disable","questionId3","questionId13","radioIndex","onChangeRadio","SmallModal","classNames","StatusBanner","onImport","buttonText","messageText","Experience","selectId","setSelectId","setBtnDisable","savedPropertyExperiences","setSavedPropertyExperiences","loadingPropertyExperiences","setLoadingPropertyExperiences","showSaveToProfileModal","setShowSaveToProfileModal","saveToProfile","setSaveToProfile","setReload","propertiesModified","setPropertiesModified","loanList","No","editTime","loanMount","clickCollapse","fieldPaths","addSelect","selectLoanId","skip","continueDisabled","rental","countyList","formatExperiences","experiences","fetchSavedProperties","Experiences","finally","getInitialValue","experience","flip","getCurrentExperience","standardizeDate","compareExperiences","currentExperiences","savedExperiences","standardizeExperience","exp","currentToCompare","savedToCompare","currentExp","savedExp","loadSavedProperty","flipVals","ds","pd","rentalVals","propertyFlippingExperiences","rentalPropertyExperiences","convertDateToISO","formatExperience","updatedtime","requestBody","errorInfo","failedCardIdx","idx","areSame","List","remove","_form$getFieldValue$i","_form$getFieldValue$i2","_form$getFieldValue$i3","PlusCircleOutlined","_form$getFieldValue$i4","_form$getFieldValue$i5","_form$getFieldValue$i6","ExclamationCircleFilled","renderSaveToProfileModal","stepMap","stepNumMap","SidebarHardMoneyLoan","collapsed","setCollapsed","selectedItem","setSelectedItem","noIcon","stepval","profileItems","defaultSelectedKeys","defaultOpenKeys","selectedKeys","isSubMenu","isOpen","CaretUpFilled","CaretDownFilled","menuClick","inlineCollapsed","humanReadableFileSize","AntUpload","_this$state$activeUpl","activeUploadTask","uploadModalOpen","fetchUploadedFiles","FileSize","submittedDate","Submitted","loadtasks","newtasks","where","showTask","showAI","markClosed","handleCloseAI","handleCloseClose","handleCloseAIClose","openUploadModal","onSubmitTask","NewValue","tmp","submitted","renderExpandRow","_this$state$loadedDoc","isTaskOpen","formattedSubmitTime","hasItem","loadedDocuments","rowLoading","renderFileSlab","shape","DeleteOutlined","renderUploadModal","uploadDraggerProps","listType","accept","newFileList","AntModal","maxCountModalOpen","EXPAND_COLUMN","CaretUpOutlined","searchFilter","searchInput","originalDocuments","openInNewTab","_url","Search","setSearchInput","SearchOutlined","HardMoneyLoanDocManager","signCoordinates","Left","Top","Right","Bottom","PT_PX_RATIO","setPdf","signStarted","setSignStarted","scrollNextSign","existingPdfBytes","FileReader","readAsDataURL","onloadend","base64data","blobToURL","HardMoneyLoanInterView","clickMenuKey","setClickMenuKey","setPDFVisible","showSubmittedModal","setShowSubmittedModal","$el","generateSerialNumber","overwrite","fullstate","Save","Overwrite","handleMenu","setPage","updateChangeProgressStep","borrowerFinish","propertyFinish","experienceFinish","declarationsFinish","getStep","getDocNames","docNames","DocumentsReceived","DocumentsUploaded","hardMoneyLoanForm","tenDaysAfterNow","setDate","startsWith","Duedate","Key","checkAndCreateTasks","YourLoans","displayLoan","onNewApplication","newApplication","onSwitch","loadingOpenNew","openNewApplication","newS","u","welcomeMessage","showprogress","withdraw","toasts","handleWithdrawal","sendProfile","contact","byemail","bysms","byvoice","sendPassword","auth","password","password1","checkMethodValidity","sms","voice","handleSubmit1","checkPasswordValidity","form1","validated1","onpassword","onpassword1","changePhone","changeEmail","changeFirstName","changeLastName","onbyemail","onbyvoice","onbysms","control","byphone","isValidated1","pass","filterOptions","HardMoneyLoanDashboard","searchValue","onChangeFilter","loanFilterValue","confirmDelete","targetLoanID","confirmLoading","deleteModalOpen","myclass","getLoanTitle","getLoanStatus","getFullAddress","fulladdr","statusFilter","optionType","buttonStyle","ContactUs","loimage","pgone","html","editorState","EditorState","createEmpty","draftToHtml","convertToRaw","getCurrentContent","changeText","renderLo","onEditorStateChange","myForm","Editor","editor","defMessage","textarea","clearNumber","CreditCard","expiry","cvc","focused","handleCallback","handleInputFocus","Payment","fns","cardType","clearValue","nextValue","formatCreditCardNumber","formatExpirationDate","prevValue","maxLength","formatCVC","circle","How","vsize","ariant","Howitworks","Signature","clear","sigPad","sig","getTrimmedCanvas","onAccept","SignatureCanvas","penColor","canvasProps","spinner","Form1003","componentWillReceiveProps","newProps","createDateCanvas","dateCanvas","ctx","fillText","trimCanvas","ContentType","sending","signed","renderer","onSigned","poke","handleOpen","updateRenderer","zoomin","zoomout","signedtitle","Validity","documentBase64","pngPagesBase64","originaljson","signers","recipients","doneSigning","moveSig","mx","signer","sigindex","sigpage","showplacementpad","sigel","cvs","sigRef","doSig","initSig","rethinkSigGeometry","nm","sigy","datey","sigx","datex","clippath","xPosition","yPosition","sigAccepted","pngBase64","toDataURL","dx","clipPath","signzoom","SignHere","Sign","rf","HomePageApplication","shrunk","shrink","getCurrentStepText","getFlowSteps","stepGroup","sub","isHardmoneyLoan","hardMoneyHomepageMatch","renderMainPane","Route","TopNavBar","subscription","loanPurposeMap","purchaserehab","cashoutrefinance","dataLoans","setDataLoans","isHardMoney","GetLoans","Flex","ApplicationState","createNewApplication","LoansTitleDom","isCurrent","interviewIndex","StateSwitch","_item$state$applicati","SetUpPassword","isOk","setIsOk","validateRules","CurrentPassword","Password","dependencies","setFontSize","AuthenticatedApplication","ChangePassword","Loans","DividerWithText","LoginPage","hideGoogle","showLine","setLine","renderGoogleBtn","containerWidth","logo_alignment","handleGoogleCallback","userObject","jwt_decode","credential","ishardmoneyloancustomer","initialize","client_id","Recaptcha","scriptLoaded","RecaptchaV3","FloatingLabelInput","handleKeyPress","Login","isEmail","checkEmail","emailNotExisted","useEmail","usePassword","checking","emailCode","validatePassword","onPassword","signin","passwordCheckReady","zxcvbn","bgcolor","text2","bgcolor2","onPassword1","checkCaptcha","grecaptcha","buttonpressed","captcha","local","getResponse","captchasolved","getAccountInfo","IsHardMoneyLoanCustomer","redirectCustomer","view","parent","LoanOfficerID","signingup","forgot","onInvite","logingin","handlePressEnter","reCaptchaLoaded","myObserver","ResizeObserver","bod","_width","contentRect","_height","clientHeight","clientWidth","drift","validateForm","observe","LoanOfficerOptions","ready","execute","ForgotPassword","host","modaltitle","Terms","Privacy","JoinTeam","Validation","Tools","resizeIframe","contentWindow","documentElement","tool","historic","calculator","affordability","displayTabs","scrolling","onLoad","ResourcePage","WaitlistPage","handleSize","redirectto","HubspotForm","portalId","formId","onReady","RecoverPassword","landingUrl","dummy","SendRevalidate","Invitation","you","delay","names","CoborrowerCreated","CoborrowerExists","ActionRequest","onSessionExists","onNoSession","rehex","checkSession","Validate","validate","schema","Path","Reset","BaseButtonRoot","styled","button","attrs","_templateObject","_taggedTemplateLiteral","ButtonBase","ButtonRoot","ButtonLabel","_templateObject2","clsx","ButtonGroup","div","LoadingMessage","KEY_MAP","Fixed15","Fixed30","ARM106","ARM76","ARM56","EPOCH_INDEX_MAP","ProcessedRateData","group","time","Epoch","Conforming","Super","Jumbo","Threshold","Months","Count","groups","TimeStamp","Rates","Epochs","TimeFrame","Loan","temp","epoch_index","Timestamp","Groups","filteredData","Products","LineChart","lazy","SelectionType","Product","ChartContainer","withTheme","theme","setLoaded","setSelection","Set","handleSelection","isCurrentlySelected","newProductSelection","Suspense","fallback","Loading","useMediaQuery","query","matches","setMatches","media","matchMedia","listener","removeListener","useBreakPoints","useViewport","setWidth","setHeight","innerHeight","handleWindowResize","breakPoints","viewport","calculateDimensions","w","h","setConfig","sampleRates","setSampleRates","Config","SampleRates","Router","showRates","ordered","prd","ratesCards","termtype","BaseRate","MonthlyPayment","Points","BreakDownChart","plotOptions","pie","donut","showAlways","globals","seriesTotals","customScale","opts","seriesIndex","horizontalAlign","itemMargin","horizontal","breakpoint","offsetX","vertical","startDate","endDate","startYear","endYear","endMonth","displayMonth","tickAmount","dateFormatter","remaining","monthlyPrinciple","monthlyInterest","DEFAULT_HOME_PRICE","DEFAULT_DOWN_PRICE","DEFAULT_INTEREST_RATE","oneToNMonth","USstate","CA","AL","AK","AZ","AR","CO","CT","DE","DC","FL","GA","HI","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY","ControlledTabs","Pane","loanAmt","baseRate","DoMortgageCalculate","homePrice","setHomePrice","downPrice","setDownPrice","setLoanTerm","setInterestRate","monthlyPayments","setMonthlyPayments","setPercentage","setIsOpen","openMap","setOpenMap","setTaxes","DEFAULT_PROPERTY_TAXES_RATE","setInsurance","setHOA","setPMI","denominator","monthlyPrincipleCul","monthlyInterestCul","remain","setRemain","setMonthlyInterest","setMonthlyPrinciple","doCalculate","ir","FormControl","toggle","toogleOpenMap","frameBorder","MortgageCalculator","HeaderFixed","getStartedUrl","mortgagePayment","getShowValue","counts","curPrice","fixHeight","changeIndexPayments","showDtiSlider","setShowDtiSlider","showMoreInfo","setShowMoreInfo","possiblePayments","customerUrl","tempUrl","PropertyUsageList","PropertyTypeList","calcMonthlyInterestRate","creditScore","AffordabilityComponent","indexPayments","setIndexPayments","setCurPrice","overLTV","overJumbo","termIncome","setTermIncome","setMonthlyDebt","setMortgagePayment","propertyTax","setPropertyTax","homeInsurance","setHomeInsurance","hoaDUE","setHOADue","setCreditScore","setBaseRate","incomeTerm","setIncomeTerm","unitNumber","setUnitNumber","occupancyType","setOccupancyType","setPropertyType","setMaxLTV","loanState","loanCounty","sticky","setSticky","selectedTerm","setSelectedTerm","setPmi","detailExpand","setDetailExpand","isSticky","stickyClasses","changeCreditScore","resetAll","getIncome","housePriceLTV","getHousePriceByLTV","maxConvLTV","maxJumboLTV","downPay","hpConv","hpJumbo","getMaxConvLTV","getMaxJumboLTV","monthlypay","amorFactor","housePriceDTI","finalHousePrice","finalMonthlyPay","OneUnit","TwoUnit","ThreeUnit","FourUnit","curPay","propertyUsageValue","setPropertyUsageValue","propertyTypevalue","setPropertyTypeValue","statusF","setstatusF","statusS","setstatusS","collapse1","setcollapse1","collapse2","setcollapse2","collapse3","setcollapse3","collapse4","setcollapse4","scrollEle","ref1","isInViewport","isIntersecting","setIsIntersecting","observer","IntersectionObserver","disconnect","useIsInViewport","changeScrollValue","changeScrollValue1","changeScrollValue2","switchChange","getHousePriceCard","Textoverlay","OverlayTrig","checkMobile","alignContent","checkedText","uncheckedText","forDisplayOnly","Prodapp","WebkitTapHighlightColor","HorizontalSliderV2","termOptions","RateReport","headerStyle","alternatives","fixed30","fixed25","fixed20","fixed15","fixed10","arm56","arm76","arm106","closingcosts","Purpose","LoanAmount","Fico","Occupancy","PropertyType","BootstrapTable","keyField","rowStyle","bootstrap4","allRates","currentLoanLimit","setCurrentLoanLimit","setCustomerUrl","propertyValue","setPropertyValue","setPurpose","onOccupancy","setValidated","setDownpayment","setCounty","setMonthlyIncome","escrowWaiver","setEscrowWaiver","setUnits","setLoans","setFico","indexfixed30","setIndexFixed30","indexfixed25","setIndexFixed25","indexfixed20","setIndexFixed20","indexfixed15","setIndexFixed15","indexfixed10","setIndexFixed10","indexarm56","setIndexArm56","indexarm76","setIndexArm76","indexarm106","setIndexArm106","currentMtype","setCurrentMtype","setMessage","showSubscribe","setShowSubscribe","showSubscribeResult","setShowSubscribeResult","subscribeResultMessage","setSubscribeResultMessage","validatedSubscribe","setValidatedSubscribe","subscribeFormRef","alreadysubscribe","setAlreadysubscribe","pastSetting","setPastSetting","newSetting","setNewSetting","lenderNotSet","setLendersNotSet","previewResult","setPreviewResult","showRatePreview","setShowRatePreview","previewData","setPreviewData","setLoanType","loanTypeMap","selectedTerms","setSelectedTerms","getLtv","getProducts","_units","_county","LTV","CLTV","HCLTV","getFiles","status_code","promotions","filteredPrds","getIndex","bestIndex","bestPoints","currentLimit","_loanLimits$state","_loanLimits$state$cou","_loanLimits$state2","_loanLimits$state2$co","_loanLimits$state3","_loanLimits$state3$co","_loanLimits$state4","_loanLimits$state4$co","onSubscribe","updateLTV","showStates","showCounties","showCards","buttons","termMap","today","dayOfWeek","getDay","day","showRatesForMtype","headerFormatter","generateTableData","point1Diff","point1I","point0Diff","point0I","indexes","diff0","diff1","indexdiff","indexesSorted","striped","headerClasses","rowClasses","hover","condensed","InfoCircleOutlined","getSubscribeResultModal","handleCloseModal","string","showSubscribeMessageExisted","past","new","MonthlyIncome","MonthlyDebt","Frequency","SelectedTerms","handleUpdateSubscribe","getSubscribeModal","ratesPreviewData","County","stname","Fname","fname","Lname","lname","frequency","Fixed30lc","Fixed25lc","Fixed20lc","Fixed15lc","Fixed10lc","Arm56lc","Arm76lc","Arm106lc","Settings","ProgramID","programs","ConformingLoan","questionnaireDescription","highlights","HighBalanceLoan","JumboLoan","VOENoBankStatement","AmWest","flyerFileName","BankStatementCalculate12MonthIncome","NewWave","PnLNoBankStatement","DSCRNoRatio","Greenbox","DSCREasy","TheLender","ForeignNational1NoIncome","AAA","ForeignNational2ForeignIncome","NewOmniBank","ReverseMortgage","RenovationLoan","programMap","Map","program","ConventionalPrograms","NonQMLoanPrograms","SpecialPrograms","groupedProgramsUnclickable","groupedProgramsClickable","questionnairedPrograms","noresults","Questionnaire","showProgram","resultIndex","setResultIndex","currentSlideIndex","setCurrentSlideIndex","carouselRef","goToPrev","navigateToSlide","slideIndex","goTo","questionnaire","onYes","onNo","onBack","displayResult","programIDsToDisplay","programsDiv","programsToDisplay","programID","Carousel","afterChange","dots","autoplay","EligibilityVOE","propertyAddress","setPropertyAddress","displayedAddress","setDisplayedAddress","propertyState","setPropertyState","setPropertyCity","propertyZip","setPropertyZip","setOccupancy","setDownPayment","cashOutAmount","setCashOutAmount","setFirstTimeHomeBuyer","qualified","setQualified","qualifiedTitle","setQualifiedTitle","pp","co","displayedLoanAmount","Result","subTitle","EligibilityBankStatement12Month","EligibilityPNLNOBank","EligibilityDSCRNoRatio","EligibilityDSCREasy","EligibilityForeignNational1NoIncome","EligibilityForeignNational2ForeignIncome","programToEligibilityMap","SingleProgram","closeSingleProgram","extra","highlight","SpecialRateDNA","currentShownProgramID","setCurrentShownProgramID","RightOutlined","arms","setCashout","setRemaining","second","setSecond","heloc","setHeloc","setAmortization","setIndex","monthsToPay","setMonthsToPay","getFico","refitype","minArmCC","maxArmCC","minFixedCC","maxFixedCC","changeBalance","getRates","loan_purpose","loan_amount","property_price","property_type","clasName","ToggleButtonGroup","ToggleButton","onFixed","onArm","showCard","oldm","newm","improvement","BorrowerInterviewForLO","serstate","PassCodeVerification","setCode","showError","setShowError","verifyingCode","setVerifyingCode","showNoValidMessage","setShowNoValidMessage","setCodePassed","cosignMarks","CoborrowerSignature","codePassed","docData","setDocData","loadingDocs","setLoadingDocs","signAuthorized","setSignAuthorized","showSignSuccessModal","setShowSignSuccessModal","showSignDeclineModal","setShowSignDeclineModal","primarySignItems","setPrimarySignItems","setStatus","actionCompleted","setActionCompleted","jsonResponse","Doc","submitSignatures","NonQMResult","qualifiedProducts","loName","loPhone","loEmail","alreadySignedUp","setShowPastLoans","setSelectedLoanId","useDispatch","createNewBorrower","createNewLoan","displayedName","imgUrl","incomeDocTypes","getDescriptions","verificationCode","setVerificationCode","showCode","setShowCode","setSendingCode","setShowPastLoansModal","setCurrentLoanId","setVerified","OTP","setAlreadySignedUp","setPastLoans","setLoID","setLoName","setLoPhone","setLoEmail","currentStep","setCurrentStep","savedStep","setQualifiedProducts","incomeDuration","setIncomeDuration","getEstimatedRate","first_name","last_name","numberOfOwnedProperties","appraisalWaiver","currentJobInMonths","rsuAsIncome","giftFundUsed","familyRelatedOrSmallBusiness","borrowerPaidCompensationAmount","incomeDocumentationType","DSCR","nonQMDocTypes","prds","productMap","prdName","IncomeDocTypes","closingCosts","minDiff","toAdd","getQualifiedProducts","onApplicationFinish","CustomerFirstName","CustomerLastName","CustomerEmail","QualifiedLoans","InterestRate","ClosingCosts","PropertyAddress","IncomeDocumentation","Occupany","EstimatedPropertyValue","renderStepContent","updateProperty","updateNonQMIncome","ContactInformation","nextDisabled","usePageTracking","useLocation","initialized","setInitialized","ReactGA","ga","pageview","AgentBorrowerSignUpPage","signupsucceed","sendRevalidationEmail","emailSentFinished","sendingEmail","agentID","renderSignupBox","inLinkPage","AffordabilityPage","Affordability","PurchaseCalcPage","PurchaseCalc","IncomeLimits","Alameda","Alpine","Amador","Butte","Calaveras","Colusa","Fresno","Glenn","Humboldt","Imperial","Inyo","Kern","Kings","Lake","Lassen","Madera","Marin","Mariposa","Mendocino","Merced","Modoc","Mono","Monterey","Napa","Nevada","Orange","Placer","Plumas","Riverside","Sacramento","Shasta","Sierra","Siskiyou","Solano","Sonoma","Stanislaus","Sutter","Tehama","Trinity","Tulare","Tuolumne","Ventura","Yolo","Yuba","newCountyIncomeLimit","GMCCDisclaimer","heigh","CalHFAComponent","frameLoid","urlLoid","setPurchsePrice","downPaymentDollar","setDownPaymentDollar","downPaymentPercentage","setDownPaymentPercentage","assistancePercentage","setAssistancePercentage","assistancePercentageSplit","setAssistancePercentageSplit","setLoanAmount","appreciationRate","setAppreciationRate","sellYear","setSellYear","closingCostsPercentage","setClosingCostsPercentage","setFirsttimehomebuyer","qualifiedAlien","setQualifiedAlien","setAffordability","setSmallScreen","firstgenerationHomebuyer","setFirstgenerationHomebuyer","medianIncome","setMedianIncome","qualifiedTab","setQualifiedTab","affordabilityLoanCounty","setAffordabilityLoanCounty","showContactmeModal","setShowContactmeModal","showContactDoneModal","setShowContactDoneModal","setBorrowerName","setBorrowerEmail","borrowerPhone","setBorrowerPhone","incomeOpen","setIncomeOpen","countyOpen","setCountyOpen","countyOpen2","setCountyOpen2","incomeOpen2","setIncomeOpen2","homepriceOpen","setHomePriceOpen","DPAOpen","setDPAOpen","downpaymentOpen","setDownpaymentOpen","loadingContact","setLoadingContact","setIsMobile","affordabilityCreditScore","setAffordabilityCreditScore","overafford","setOverafford","setCalcMaxLoanAmount","calcMaxmp","setCalcMaxmp","modalFromQualify","setModalFromQualify","overIncomeLimit","setOverIncomeLimit","setLtv","setOverLTV","carousel","getcustomerid","segments","lamount","maxmp","hp","getMedianIncome","handleHfaTab","ami","MedianIncome","getAppreciationPercentage","getMortgagePayoff","getMessage","qualfied","qualifiedMsg","unQualifiedMsg","getQualification","getAction","getQualifierAction","submitContact","BorrowerName","BorrowerEmail","BorrowerPhone","IsQualified","LOID","getContactDoneModal","loanDetailsChartColors","getStackedBarChart","showtitle","stacked","bar","barHeight","dataLabels","align","offsetY","floating","axisTicks","grid","earningBreakdownItems","totalAppreciationItems","loansTakenOutItems","homeOwnerEquityItems","loanRepaymentsItems","homeOwnerEquityItems2","breakDownTabs","ghost","hfaTabDisable","getFicoClassname","getQualificationResult","cid","redirectUrl","newDate","getAPR","costs","cashFlow","x0","x1","fValue","fDerivative","fk","irr","incomeHide","newOpen","countyHide","getChart","totalLabel","countyHide2","incomeHide2","homepriceHide","DPAHide","downpaymentHide","SmartlookClient","urlCustomerid","searchParams","frameCustomerid","GoogainCalculatorComponent","setUnit","firstTime","setFirstTime","baseIncome","setBaseIncome","bonusIncome","setBonusIncome","rsuIncome","setRsuIncome","setIncome","incentives","setIncentives","isHighCostArea","setIsHighCostArea","showPropertyInfo","setShowPropertyInfo","incomeIndicator","setIncomeIndicator","loanLimit","setLoanLimit","urlParams","loFname","loLname","loNMLS","loCCID","contactMe","Address","City","Zip","Unit","FirstTime","PropertyValue","BaseIncome","BonusIncome","RSUIncome","IncomeIndicator","LoanLimit","Incentive","IsHighCost","LOEmail","LOPhone","conformingLoanLimit","highCost","ll","displayPropertyInfo","mapIncomeIndicator","StatsigWrapper","memo","initRef","setClient","useClientAsyncInit","userAgent","navigator","language","environment","tier","loadingStatus","_context$values","savedUserInfo","runStatsigSessionReplay","initializeStatsig","StatsigProvider","displayName","stylesNotApplied","appliedColors","customizationObj","primaryColor","primaryColorText","primaryColor2","primaryColor2Text","primaryColor3","primaryColor3Text","paleColor","paleColorText","secondaryColor","innerHTML","insertStyleSheet","insertCssColors","TrackingApp","LangingPage","CalHFA","GoogainCalculator","HardMoneyLoanCalculator","NonQMBorrowerQualifier","Refinance","HistoricalChart","App","ThemeProvider","msalConfig","clientId","authority","redirectUri","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","containsPii","LogLevel","Verbose","Warning","msalInstance","PublicClientApplication","ReactDOM","MsalProvider","instance","serviceWorker","registration","unregister"],"mappings":"uaAAe,ICAA,ICAA,I,gDCCR,MAAOA,EAAqB,qBACrBC,EAA6B,6BAE7BC,EAAwB,wBACxBC,EAAoB,oBACpBC,EAA+B,+BAC/BC,EAA4B,4BAC5BC,EAAiC,iCAGjCC,EAAgC,gCAChCC,EAA8B,8BAE9BC,EAAoB,oBAEpBC,EAAyB,yBACzBC,EAA8B,8BAG9BC,EAA4B,qCAC5BC,EAA+B,wCAC/BC,EAA+B,wCAE/BC,EAA0B,0BAC1BC,EAAuB,uBACvBC,EAA0B,0BAC1BC,EAAyB,yBAE1BC,EAAwB,wBACxBC,EAA0B,0BAG1BC,EAA0B,0BAE1BC,EAAwB,wBACxBC,EAA2B,2BAC3BC,EAAwB,wBACxBC,EAA2B,2BAC3BC,EAAkB,kBAClBC,EAAiB,iBAEjBC,EAAkB,kBAElBC,EAA2B,2BAC3BC,EAAgC,gCAChCC,EAA8B,8BAC9BC,EAA2B,2BAC3BC,EAA8B,8BAC9BC,EAA8B,8BAC9BC,EAAkC,kCAClCC,EAAkC,kCAGlCC,EAA8B,8BAE9BC,EAA6B,6BAC7BC,EAAgC,gCAChCC,EAAgC,gCAChCC,EAA6B,gCAC7BC,EAAgC,gCAChCC,GAAgC,gCAChCC,GAAoC,oCACpCC,GAAkC,kCAClCC,GAAmC,mCAEnCC,GAAqB,qBAUrBC,GAAoB,oBACpBC,GAAuB,uBACvBC,GAAuB,uBACvBC,GAA4B,4BAC5BC,GAA4B,4BAC5BC,GAA6B,6BAE7BC,GAA2B,2BAC3BC,GAAgC,gCAChCC,GAA+B,8BAC/BC,GAA+B,8BAC/BC,GAAmC,mCACnCC,GAAoC,oCACpCC,GAA0C,0CAC1CC,GAA8B,8BAE9BC,GAAoB,oBACpBC,GAAyB,yBACzBC,GAAuB,uBACvBC,GAAuB,uBACvBC,GAAqB,qBAErBC,GAA+B,+BAC/BC,GAA+B,+BAC/BC,GAA+B,+BAC/BC,GAA+B,+BAC/BC,GAAiC,iCACjCC,GAAqC,qCACrCC,GAAkC,kCAClCC,GAAuC,uCACvCC,GAA2B,4BAC3BC,GAAuB,uBAEvBC,GAAkC,kCAClCC,GAAmC,mCAGnCC,GAAoC,oCACpCC,GAAqB,qBACrBC,GAA8B,8BAC9BC,GAAgC,gCAChCC,GAAyB,yBACzBC,GAAkC,kCAClCC,GAAoC,oCACpCC,GAAwB,wBACxBC,GAAiC,iCACjCC,GAAmC,mCACnCC,GAAuB,uBACvBC,GAAgC,gCAChCC,GAAkC,kCAClCC,GAAiC,iCACjCC,GAAwB,wBACxBC,GAAmC,mCAEnCC,GAAmC,mCACnCC,GAAsC,sCACtCC,GAAqC,qCACrCC,GAA6B,6BAE7BC,GAA8C,8CAC9CC,GAA6C,6CAC7CC,GAA2C,2CAC3CC,GAA4C,4CAC5CC,GAA4C,4CAC5CC,GAAkD,kDAClDC,GAA8C,8CAC9CC,GAA+C,+CAC/CC,GAAgD,gDAChDC,GAAkD,kDAClDC,GAAgD,gDAEhDC,GAAkC,kCAClCC,GAAqC,qCACrCC,GAAoC,oCACpCC,GAA4C,4CAC5CC,GAA6C,6CAC7CC,GAA4C,4CAE5CC,GAA+B,+BAC/BC,GAAwB,wBAExBC,GAAyB,yBAEzBC,GAA4B,4BAC5BC,GAAoC,oCAGpCC,GAA2B,2BAC3BC,GAA8B,8BAC9BC,GAA0C,0CAE1CC,GAA0B,0BAC1BC,GAA6B,6BAE7BC,GAA0B,0BAC1BC,GAA8B,8BAC9BC,GAA4B,4BAC5BC,GAA0B,0BAC1BC,GAA4B,4BAC5BC,GAA6B,6BAC7BC,GAA4B,4BAG5BC,GAAwB,wBACxBC,GAA4B,4BAC5BC,GAA8B,6BAC9BC,GAAgC,+BAChCC,GAA+B,+BAC/BC,GAA0B,0BAC1BC,GAAyC,yCACzCC,GAAyC,yCACzCC,GAAoC,oCACpCC,GAA6C,6CAC7CC,GAA+C,+CAC/CC,GAAiC,iCACjCC,GAAyC,yCACzCC,GAAsC,sCAEtCC,GAA4C,4CAC5CC,GAA4C,4CAC5CC,GAA6C,6CAC7CC,GAA0C,0CAC1CC,GAA4C,4CAC5CC,GAAkD,kDAElDC,GAAsB,sBACtBC,GAAuB,uBACvBC,GAAiC,iCACjCC,GAA2B,2BAC3BC,GAA+B,+BAC/BC,GAAmC,mCACnCC,GAAsB,sBACtBC,GAA0B,0BAG1BC,GAAuB,uBACvBC,GAA4B,4BAC5BC,GAA0B,0BAC1BC,GAAyB,yBACzBC,GAAiC,iCACjCC,GAAiC,iCACjCC,GAA+B,+BAC/BC,GAA0B,0BAE1BC,GAAkC,kCAClCC,GAAmC,mCACnCC,GAAgC,gCAChCC,GAAmC,mCAEnCC,GAAwB,wBACxBC,GAA2B,2BAC3BC,GAA0B,0BAC1BC,GAAqC,qCACrCC,GAAoC,oCACpCC,GAAiC,iCACjCC,GAAkC,kCAClCC,GAA+B,+BAE/BC,GAAsB,sBAEtBC,GAA0B,0BAC1BC,GAA6B,6BAC7BC,GAA6B,6BAC7BC,GAAmC,mCAEnCC,GAAgC,gCAChCC,GAAmC,mCACnCC,GAAmC,mCACnCC,GAAyC,yCACzCC,GAA0C,0CAG1CC,GAAmC,mCACnCC,GAAsC,sCACtCC,GAAsC,sCACtCC,GAA4C,4CAC5CC,GAA6C,6CAG7CC,GAAc,cACdC,GAAmB,mBACnBC,GAAkB,kBAElBC,GAA4B,4BAC5BC,GAAyB,yBACzBC,GAAc,cACdC,GAAuB,uBACvBC,GAAoB,oBAGpBC,GAAwB,wBACxBC,GAAwB,wBACxBC,GAAyB,yBAIzBC,GAA2B,2BAC3BC,GAA8B,8BAE9BC,GAAoB,oBACpBC,GAAyB,qBACzBC,GAAuB,uBACvBC,GAAsB,sBACtBC,GAAuB,uBAEvBC,GAA4C,4CAC5CC,GAAgD,gDAEhDC,GAA4B,4BAC5BC,GAAwB,wBACxBC,GAA2B,2BAC3BC,GAA2B,2BAC3BC,GAAgC,gCAEhCC,GAAqB,qBACrBC,GAAwB,wBCnSvBC,GAAiB,iBACjBC,GAAqB,qB,uBCM5B,IAAIC,IAAY,EACvB,SAASC,GAAQC,GAAKC,QAAQC,IAAIF,EAAG,CAG9B,MA8bMG,GAAa,WACbC,GAAa,WACbC,GAAgB,cAyChBC,GAAW,QACXC,GAAoB,iBAyJpBC,GAAa,UA2EbC,GAAQ,MACRC,GAAS,OA0ITC,GAAgB,YAChBC,GAAe,WACfC,GAAoB,gBAIpBC,GAAuB,mBAsFvBC,GAAoB,gBA8CpBC,GAAS,MAUTC,GAAS,MAWTC,GAAS,MAITC,GAAS,MAsFf,MAAMC,GACXC,cACEC,KAAsB,gBAAI,mBAC1BA,KAAiB,WAAI,KACrBA,KAAU,IAAI,GACdA,KAAmB,aAAI,GACvBA,KAA4B,sBAAI,GAChCA,KAAsB,gBAAI,GAC1BA,KAAqB,eAAI,GACzBA,KAA0B,oBAAI,CAChC,CACA,kBAAIC,GAAmB,OAAOD,KAAsB,eAAE,CACtD,kBAAIC,CAAeC,GACjB,IAAIC,EAAQC,GAAW,CAAC,mBAAmB,qBAAqB,mBAAmB,cAAc,mBAArFA,CAAyGF,GACjHG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,aAAIK,GAAc,OAAOR,KAAiB,UAAE,CAC5C,aAAIQ,CAAUN,GACZ,IAAIC,EAAQC,GAAW,CAAC,KAAK,MAAM,SAAS,KAAhCA,CAAsCF,GAC9CG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,MAAIM,GAAO,OAAOT,KAAU,GAAE,CAC9B,MAAIS,CAAGP,GACL,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAU,OAC5BO,KACAP,KAAU,IAAIG,EAElB,CACA,eAAIQ,GAAgB,OAAOX,KAAmB,YAAE,CAChD,eAAIW,CAAYT,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,wBAAIS,GAAyB,OAAOZ,KAA4B,qBAAE,CAClE,wBAAIY,CAAqBV,GACvB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,kBAAIW,GAAmB,OAAOd,KAAsB,eAAE,CACtD,kBAAIc,CAAeZ,GACjB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,iBAAIY,GAAkB,OAAOf,KAAqB,cAAE,CACpD,iBAAIe,CAAcb,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,sBAAIa,GAAuB,OAAOhB,KAA0B,mBAAE,CAC9D,sBAAIgB,CAAmBd,GACrB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI3B,GAcd,MAboB,kBAAVI,GAA+B,MAATA,GAC7BuB,EAAIxB,eAAiBC,EAAsB,eAC3CuB,EAAIjB,UAAYN,EAAiB,UACjCuB,EAAIhB,GAAKP,EAAU,GACnBuB,EAAId,YAAcT,EAAmB,YACrCuB,EAAIb,qBAAuBV,EAA4B,qBACvDuB,EAAIX,eAAiBZ,EAAsB,eAC3CuB,EAAIV,cAAgBb,EAAqB,cACzCuB,EAAIT,mBAAqBd,EAA0B,oBAEnDzB,GAAQ,4CAADiD,OAA6CxB,IAEvDyB,KACOF,CACT,EAGK,MAAMG,GACX7B,cACEC,KAAmB,cAAI,EACvBA,KAAe,UAAI,EACnBA,KAAgB,WAAI,EACpBA,KAAgB,WAAI,EACpBA,KAAc,SAAI,EAClBA,KAAkB,aAAI,EACtBA,KAAkB,aAAI,EACtBA,KAAwB,kBAAI,EAC9B,CACA,eAAI6B,GAAgB,OAAO7B,KAAmB,YAAE,CAChD,eAAI6B,CAAY3B,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,WAAI4B,GAAY,OAAO/B,KAAe,QAAE,CACxC,WAAI+B,CAAQ7B,GACV,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,YAAI6B,GAAa,OAAOhC,KAAgB,SAAE,CAC1C,YAAIgC,CAAS9B,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,YAAI8B,GAAa,OAAOjC,KAAgB,SAAE,CAC1C,YAAIiC,CAAS/B,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,UAAI+B,GAAW,OAAOlC,KAAc,OAAE,CACtC,UAAIkC,CAAOhC,GACT,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,cAAIgC,GAAe,OAAOnC,KAAkB,WAAE,CAC9C,cAAImC,CAAWjC,GACb,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,cAAIiC,GAAe,OAAOpC,KAAkB,WAAE,CAC9C,cAAIoC,CAAWlC,GACb,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,oBAAIkC,GAAqB,OAAOrC,KAAwB,iBAAE,CAC1D,oBAAIqC,CAAiBnC,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIG,GAcd,MAboB,kBAAV1B,GAA+B,MAATA,GAC7BuB,EAAII,YAAc3B,EAAmB,YACrCuB,EAAIM,QAAU7B,EAAe,QAC7BuB,EAAIO,SAAW9B,EAAgB,SAC/BuB,EAAIQ,SAAW/B,EAAgB,SAC/BuB,EAAIS,OAAShC,EAAc,OAC3BuB,EAAIU,WAAajC,EAAkB,WACnCuB,EAAIW,WAAalC,EAAkB,WACnCuB,EAAIY,iBAAmBnC,EAAwB,kBAE/CzB,GAAQ,wCAADiD,OAAyCxB,IAEnDyB,KACOF,CACT,EA+GK,MAAMa,GACXvC,cACEC,KAAY,MAAI,GAChBA,KAAW,KAAI,EACfA,KAAW,KAAI,KACfA,KAAoB,cAAI,QACxBA,KAAa,OAAI,GACjBA,KAAY,MAAI,EAChBA,KAAiB,WAAI,EACrBA,KAAoB,cAAI,EACxBA,KAAgB,UAAI,IAAIuC,GACxBvC,KAA0B,qBAAI,EAC9BA,KAAqB,eAAI,EACzBA,KAAkB,YAAI,EACtBA,KAAe,SAAI,EACnBA,KAA2B,qBAAI,EAC/BA,KAAuB,iBAAI,EAC3BA,KAAwB,kBAAI,EAC5BA,KAAc,QAAI,EAClBA,KAAgB,UAAI,EACpBA,KAAmB,aAAI,EACvBA,KAAe,SAAI,EACnBA,KAAe,SAAI,EACnBA,KAAW,KAAI,EACfA,KAAc,QAAI,KAClBA,KAAwB,kBAAI,GAC5BA,KAAkB,YAAI,OACtBA,KAAgB,UAAI,GACpBA,KAAe,SAAI,YACnBA,KAA6B,uBAAI,KACjCA,KAAc,QAAI,KAClBA,KAAmB,aAAI,KACvBA,KAAmB,aAAI,KACvBA,KAAW,KAAI,KACfA,KAAkB,YAAI,KACtBA,KAAc,QAAI,IACpB,CACA,QAAIwC,GAAS,OAAOxC,KAAY,KAAE,CAClC,QAAIwC,CAAKtC,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,OAAIsC,GAAQ,OAAOzC,KAAW,IAAE,CAChC,OAAIyC,CAAIvC,GACN,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,OAAIwC,GAAQ,OAAO3C,KAAW,IAAE,CAChC,OAAI2C,CAAIzC,GACN,GAAY,MAATA,EAAe,CAChB,GAAmB,MAAhBF,KAAW,KAAa,OAG3B,OAFAO,UACAP,KAAW,KAAI,KAEjB,CACEO,KACAP,KAAW,KAAIE,CAEnB,CACA,gBAAI0C,GAAiB,OAAO5C,KAAoB,aAAE,CAClD,gBAAI4C,CAAa1C,GACf,IAAIC,EAAQC,GAAW,CAAC,QAAQ,iBAAiB,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM,eAAe,eAAe,SAAS,oBAAoB,aAAa,YAAY,aAAa,QAA9LA,CAAuMF,GAC/MG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,SAAI0C,GAAU,OAAO7C,KAAa,MAAE,CACpC,SAAI6C,CAAM3C,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,QAAI2C,GAAS,OAAO9C,KAAY,KAAE,CAClC,QAAI8C,CAAK5C,GACP,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,aAAI4C,GAAc,OAAO/C,KAAiB,UAAE,CAC5C,aAAI+C,CAAU7C,GACZ,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,gBAAI6C,GAAiB,OAAOhD,KAAoB,aAAE,CAClD,gBAAIgD,CAAa9C,GACf,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,YAAI8C,GAAa,OAAOjD,KAAgB,SAAE,CAC1C,YAAIiD,CAAS/C,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,sBAAIgD,GAAuB,OAAOlD,KAA0B,mBAAE,CAC9D,sBAAIkD,CAAmBhD,GACrB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,iBAAIgD,GAAkB,OAAOnD,KAAqB,cAAE,CACpD,iBAAImD,CAAcjD,GAChB,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,cAAIiD,GAAe,OAAOpD,KAAkB,WAAE,CAC9C,cAAIoD,CAAWlD,GACb,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,WAAIkD,GAAY,OAAOrD,KAAe,QAAE,CACxC,WAAIqD,CAAQnD,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,uBAAImD,GAAwB,OAAOtD,KAA2B,oBAAE,CAChE,uBAAIsD,CAAoBpD,GACtB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,mBAAIoD,GAAoB,OAAOvD,KAAuB,gBAAE,CACxD,mBAAIuD,CAAgBrD,GAClB,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,oBAAIqD,GAAqB,OAAOxD,KAAwB,iBAAE,CAC1D,oBAAIwD,CAAiBtD,GACnB,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,UAAIsD,GAAW,OAAOzD,KAAc,OAAE,CACtC,UAAIyD,CAAOvD,GACT,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,YAAIuD,GAAa,OAAO1D,KAAgB,SAAE,CAC1C,YAAI0D,CAASxD,GACX,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,eAAIwD,GAAgB,OAAO3D,KAAmB,YAAE,CAChD,eAAI2D,CAAYzD,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,WAAIyD,GAAY,OAAO5D,KAAe,QAAE,CACxC,WAAI4D,CAAQ1D,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,WAAI0D,GAAY,OAAO7D,KAAe,QAAE,CACxC,WAAI6D,CAAQ3D,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,OAAI2D,GAAQ,OAAO9D,KAAW,IAAE,CAChC,OAAI8D,CAAI5D,GACN,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,UAAI4D,GAAW,OAAO/D,KAAc,OAAE,CACtC,UAAI+D,CAAO7D,GACT,GAAY,MAATA,EAAe,CAChB,GAAsB,MAAnBF,KAAc,QAAa,OAG9B,OAFAO,UACAP,KAAc,QAAI,KAEpB,CACEO,KACAP,KAAc,QAAIE,CAEtB,CACA,oBAAI8D,GAAqB,OAAOhE,KAAwB,iBAAE,CAC1D,oBAAIgE,CAAiB9D,GACnBK,KACAP,KAAwB,kBAAIE,CAC9B,CACA,cAAI+D,GAAe,OAAOjE,KAAkB,WAAE,CAC9C,cAAIiE,CAAW/D,GACb,IAAIC,EAAQC,GAAW,CAAC,OAAO,YAAY,SAAS,WAAW,OAAnDA,CAA2DF,GACnEG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,YAAI+D,GAAa,OAAOlE,KAAgB,SAAE,CAC1C,YAAIkE,CAAShE,GACX,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,WAAIiE,GAAY,OAAOpE,KAAe,QAAE,CACxC,WAAIoE,CAAQlE,GACV,IAAIC,EAAQC,GAAW,CAAC,YAAY,WAAW,gBAAgB,eAAe,yBAAyB,cAAc,oBAAoB,YAA7HA,CAA0IF,GAClJG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,yBAAIkE,GAA0B,OAAOrE,KAA6B,sBAAE,CACpE,yBAAIqE,CAAsBnE,GACxB,GAAY,MAATA,EAAe,CAChB,GAAqC,MAAlCF,KAA6B,uBAAa,OAG7C,OAFAO,UACAP,KAA6B,uBAAI,KAEnC,CACEO,KACAP,KAA6B,uBAAIE,CAErC,CACA,UAAIoE,GAAW,OAAOtE,KAAc,OAAE,CACtC,UAAIsE,CAAOpE,GACT,GAAY,MAATA,EAAe,CAChB,GAAsB,MAAnBF,KAAc,QAAa,OAG9B,OAFAO,UACAP,KAAc,QAAI,KAEpB,CAAO,CACL,IAAIG,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACF,CACA,eAAIoE,GAAgB,OAAOvE,KAAmB,YAAE,CAChD,eAAIuE,CAAYrE,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,eAAIqE,GAAgB,OAAOxE,KAAmB,YAAE,CAChD,eAAIwE,CAAYtE,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,OAAIsE,GAAQ,OAAOzE,KAAW,IAAE,CAChC,OAAIyE,CAAIvE,GACN,GAAY,MAATA,EAAe,CAChB,GAAmB,MAAhBF,KAAW,KAAa,OAG3B,OAFAO,UACAP,KAAW,KAAI,KAEjB,CAAO,CACL,IAAIG,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACF,CACA,cAAIuE,GAAe,OAAO1E,KAAkB,WAAE,CAC9C,cAAI0E,CAAWxE,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,UAAIwE,GAAW,OAAO3E,KAAc,OAAE,CACtC,UAAI2E,CAAOzE,GACT,GAAY,MAATA,EAAe,CAChB,GAAsB,MAAnBF,KAAc,QAAa,OAG9B,OAFAO,UACAP,KAAc,QAAI,KAEpB,CAAO,CACL,IAAIG,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIa,GAwCd,MAvCoB,kBAAVpC,GAA+B,MAATA,GAC7BuB,EAAIe,KAAOtC,EAAY,KACvBuB,EAAIgB,IAAMvC,EAAW,IACrBuB,EAAIkB,IAAsB,MAAhBzC,EAAW,IAAY,KAAO0E,GAASrD,SAASrB,EAAW,KACrEuB,EAAImB,aAAe1C,EAAoB,aACvCuB,EAAIoB,MAAQ3C,EAAa,MACzBuB,EAAIqB,KAAO5C,EAAY,KACvBuB,EAAIsB,UAAY7C,EAAiB,UACjCuB,EAAIuB,aAAe9C,EAAoB,aACvCuB,EAAIwB,SAAWV,GAAgBhB,SAASrB,EAAgB,UACxDuB,EAAIyB,mBAAqBhD,EAA0B,mBACnDuB,EAAI0B,cAAgBjD,EAAqB,cACzCuB,EAAI2B,WAAalD,EAAkB,WACnCuB,EAAI4B,QAAUnD,EAAe,QAC7BuB,EAAI6B,oBAAsBpD,EAA2B,oBACrDuB,EAAI8B,gBAAkBrD,EAAuB,gBAC7CuB,EAAI+B,iBAAmBtD,EAAwB,iBAC/CuB,EAAIgC,OAASvD,EAAc,OAC3BuB,EAAIiC,SAAWxD,EAAgB,SAC/BuB,EAAIkC,YAAczD,EAAmB,YACrCuB,EAAImC,QAAU1D,EAAe,QAC7BuB,EAAIoC,QAAU3D,EAAe,QAC7BuB,EAAIqC,IAAM5D,EAAW,IACrBuB,EAAIsC,OAA4B,MAAnB7D,EAAc,OAAY,KAAO6D,GAAOxC,SAASrB,EAAc,QAC5EuB,EAAIuC,iBAAmBa,GAAaC,GAAYvD,SAAzBsD,CAAmC3E,EAAwB,kBAClFuB,EAAIwC,WAAa/D,EAAkB,WACnCuB,EAAIyC,SAAWhE,EAAgB,SAC/BuB,EAAI2C,QAAUlE,EAAe,QAC7BuB,EAAI4C,sBAA0D,MAAlCnE,EAA6B,sBAAY,KAAO6E,GAAKxD,SAASrB,EAA6B,uBACvHuB,EAAI6C,OAA4B,MAAnBpE,EAAc,OAAY,KAAOA,EAAc,OAC5DuB,EAAI8C,YAAsC,MAAxBrE,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAI+C,YAAsC,MAAxBtE,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAIgD,IAAsB,MAAhBvE,EAAW,IAAY,KAAOA,EAAW,IACnDuB,EAAIiD,WAAoC,MAAvBxE,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAIkD,OAA4B,MAAnBzE,EAAc,OAAY,KAAOA,EAAc,QAE5DzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EA8XK,MAAMsC,GACXhE,cACEC,KAAkB,YAAI,EACtBA,KAAkB,YAAI,CACxB,CACA,cAAIgF,GAAe,OAAOhF,KAAkB,WAAE,CAC9C,cAAIgF,CAAW9E,GACb,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,cAAI8E,GAAe,OAAOjF,KAAkB,WAAE,CAC9C,cAAIiF,CAAW/E,GACb,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsC,GAQd,MAPoB,kBAAV7D,GAA+B,MAATA,GAC7BuB,EAAIuD,WAAa9E,EAAkB,WACnCuB,EAAIwD,WAAa/E,EAAkB,YAEnCzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAGK,MAAMyD,GACXnF,cACEC,KAAsB,gBAAI,GAC1BA,KAA4B,sBAAI,UAChCA,KAA2B,qBAAI,GAC/BA,KAAiC,2BAAI,UACrCA,KAAuB,iBAAI,GAC3BA,KAA6B,uBAAI,UACjCA,KAAW,KAAI,GACfA,KAAiB,WAAI,UACrBA,KAAsB,gBAAI,GAC1BA,KAA4B,sBAAI,UAChCA,KAA6B,uBAAI,EACnC,CACA,kBAAImF,GAAmB,OAAOnF,KAAsB,eAAE,CACtD,kBAAImF,CAAejF,GACjB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,wBAAIiF,GAAyB,OAAOpF,KAA4B,qBAAE,CAClE,wBAAIoF,CAAqBlF,GACvB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,uBAAIkF,GAAwB,OAAOrF,KAA2B,oBAAE,CAChE,uBAAIqF,CAAoBnF,GACtB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,6BAAImF,GAA8B,OAAOtF,KAAiC,0BAAE,CAC5E,6BAAIsF,CAA0BpF,GAC5B,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,mBAAIoF,GAAoB,OAAOvF,KAAuB,gBAAE,CACxD,mBAAIuF,CAAgBrF,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,yBAAIqF,GAA0B,OAAOxF,KAA6B,sBAAE,CACpE,yBAAIwF,CAAsBtF,GACxB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,OAAIsF,GAAQ,OAAOzF,KAAW,IAAE,CAChC,OAAIyF,CAAIvF,GACN,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,aAAIuF,GAAc,OAAO1F,KAAiB,UAAE,CAC5C,aAAI0F,CAAUxF,GACZ,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,kBAAIwF,GAAmB,OAAO3F,KAAsB,eAAE,CACtD,kBAAI2F,CAAezF,GACjB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,wBAAIyF,GAAyB,OAAO5F,KAA4B,qBAAE,CAClE,wBAAI4F,CAAqB1F,GACvB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,yBAAI0F,GAA0B,OAAO7F,KAA6B,sBAAE,CACpE,yBAAI6F,CAAsB3F,GACxB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIyD,GAiBd,MAhBoB,kBAAVhF,GAA+B,MAATA,GAC7BuB,EAAI0D,eAAiBjF,EAAsB,eAC3CuB,EAAI2D,qBAAuBlF,EAA4B,qBACvDuB,EAAI4D,oBAAsBnF,EAA2B,oBACrDuB,EAAI6D,0BAA4BpF,EAAiC,0BACjEuB,EAAI8D,gBAAkBrF,EAAuB,gBAC7CuB,EAAI+D,sBAAwBtF,EAA6B,sBACzDuB,EAAIgE,IAAMvF,EAAW,IACrBuB,EAAIiE,UAAYxF,EAAiB,UACjCuB,EAAIkE,eAAiBzF,EAAsB,eAC3CuB,EAAImE,qBAAuB1F,EAA4B,qBACvDuB,EAAIoE,sBAAwB3F,EAA6B,uBAEzDzB,GAAQ,iDAADiD,OAAkDxB,IAE5DyB,KACOF,CACT,EAGK,MAAMqE,GACX/F,cACEC,KAAoB,cAAI,GACxBA,KAAqB,eAAI,EACzBA,KAA+B,yBAAI,EACnCA,KAAyB,mBAAI,GAC7BA,KAAyB,mBAAI,GAC7BA,KAA0B,oBAAI,EAC9BA,KAAiB,YAAI,EACrBA,KAAuB,iBAAI,GAC3BA,KAAgC,0BAAI,EACpCA,KAAwC,kCAAI,EAC5CA,KAA2B,qBAAI,GAC/BA,KAAwB,kBAAI,KAC5BA,KAA0B,oBAAI,GAC9BA,KAAiC,2BAAI,GACrCA,KAA8B,wBAAI,GAClCA,KAAoB,cAAI,MACxBA,KAAkB,YAAI,KACtBA,KAAgB,UAAI,UACpBA,KAAmC,6BAAI,GACvCA,KAAiC,2BAAI,GACrCA,KAA+B,yBAAI,GACnCA,KAAqB,gBAAI,EACzBA,KAAiB,WAAI,GACrBA,KAAoB,cAAI,KACxBA,KAAoB,cAAI,IAAI+F,GAC5B/F,KAAwB,kBAAI,IAAIgG,EAClC,CACA,gBAAIC,GAAiB,OAAOjG,KAAoB,aAAE,CAClD,gBAAIiG,CAAa/F,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI+F,GAAkB,OAAOlG,KAAqB,cAAE,CACpD,iBAAIkG,CAAchG,GAChB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,2BAAIgG,GAA4B,OAAOnG,KAA+B,wBAAE,CACxE,2BAAImG,CAAwBjG,GAC1B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,qBAAIiG,GAAsB,OAAOpG,KAAyB,kBAAE,CAC5D,qBAAIoG,CAAkBlG,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,qBAAIkG,GAAsB,OAAOrG,KAAyB,kBAAE,CAC5D,qBAAIqG,CAAkBnG,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,sBAAImG,GAAuB,OAAOtG,KAA0B,mBAAE,CAC9D,sBAAIsG,CAAmBpG,GACrB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,aAAIoG,GAAc,OAAOvG,KAAiB,UAAE,CAC5C,aAAIuG,CAAUrG,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,mBAAIqG,GAAoB,OAAOxG,KAAuB,gBAAE,CACxD,mBAAIwG,CAAgBtG,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,4BAAIsG,GAA6B,OAAOzG,KAAgC,yBAAE,CAC1E,4BAAIyG,CAAyBvG,GAC3B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACA,oCAAIuG,GAAqC,OAAO1G,KAAwC,iCAAE,CAC1F,oCAAI0G,CAAiCxG,GACnC,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACA,uBAAIwG,GAAwB,OAAO3G,KAA2B,oBAAE,CAChE,uBAAI2G,CAAoBzG,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,oBAAIyG,GAAqB,OAAO5G,KAAwB,iBAAE,CAC1D,oBAAI4G,CAAiB1G,GACnB,GAAY,MAATA,EAAe,CAChB,GAAgC,MAA7BF,KAAwB,kBAAa,OAGxC,OAFAO,UACAP,KAAwB,kBAAI,KAE9B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,OAAO,MAAnBA,CAA0BF,GAClCG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACF,CACA,sBAAI0G,GAAuB,OAAO7G,KAA0B,mBAAE,CAC9D,sBAAI6G,CAAmB3G,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,6BAAI2G,GAA8B,OAAO9G,KAAiC,0BAAE,CAC5E,6BAAI8G,CAA0B5G,GAC5B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,0BAAI4G,GAA2B,OAAO/G,KAA8B,uBAAE,CACtE,0BAAI+G,CAAuB7G,GACzB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,gBAAI6G,GAAiB,OAAOhH,KAAoB,aAAE,CAClD,gBAAIgH,CAAa9G,GACf,IAAIC,EAAQC,GAAW,CAAC,MAAM,aAAa,cAAc,cAAc,SAAS,MAApEA,CAA2EF,GACnFG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,cAAI8G,GAAe,OAAOjH,KAAkB,WAAE,CAC9C,cAAIiH,CAAW/G,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CACEO,KACAP,KAAkB,YAAIE,CAE1B,CACA,YAAIgH,GAAa,OAAOlH,KAAgB,SAAE,CAC1C,YAAIkH,CAAShH,GACX,IAAIC,EAAQC,GAAW,CAAC,UAAU,UAAU,SAAS,WAAW,cAAc,UAAU,UAA5EA,CAAuFF,GAC/FG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,+BAAIgH,GAAgC,OAAOnH,KAAmC,4BAAE,CAChF,+BAAImH,CAA4BjH,GAC9BK,KACAP,KAAmC,6BAAIE,CACzC,CACA,6BAAIkH,GAA8B,OAAOpH,KAAiC,0BAAE,CAC5E,6BAAIoH,CAA0BlH,GAC5BK,KACAP,KAAiC,2BAAIE,CACvC,CACA,2BAAImH,GAA4B,OAAOrH,KAA+B,wBAAE,CACxE,2BAAIqH,CAAwBnH,GAC1B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,iBAAImH,GAAkB,OAAOtH,KAAqB,cAAE,CACpD,iBAAIsH,CAAcpH,GAChB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,aAAIoH,GAAc,OAAOvH,KAAiB,UAAE,CAC5C,aAAIuH,CAAUrH,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,gBAAIqH,GAAiB,OAAOxH,KAAoB,aAAE,CAClD,gBAAIwH,CAAatH,GACf,GAAY,MAATA,EAAe,CAChB,GAA4B,MAAzBF,KAAoB,cAAa,OAGpC,OAFAO,UACAP,KAAoB,cAAI,KAE1B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,aAAa,aAAa,eAAe,eAAe,qBAAqB,cAAc,aAAa,aAAa,UAAU,aAA3IA,CAAyJF,GACjKG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACF,CACA,gBAAI4F,GAAiB,OAAO/F,KAAoB,aAAE,CAClD,gBAAI+F,CAAa7F,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,oBAAI8F,GAAqB,OAAOhG,KAAwB,iBAAE,CAC1D,oBAAIgG,CAAiB9F,GACnBK,KACAP,KAAwB,kBAAIE,CAC9B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIqE,GAgCd,MA/BoB,kBAAV5F,GAA+B,MAATA,GAC7BuB,EAAIwE,aAAe/F,EAAoB,aACvCuB,EAAIyE,cAAgBhG,EAAqB,cACzCuB,EAAI0E,wBAA0BjG,EAA+B,wBAC7DuB,EAAI2E,kBAAoBlG,EAAyB,kBACjDuB,EAAI4E,kBAAoBnG,EAAyB,kBACjDuB,EAAI6E,mBAAqBpG,EAA0B,mBACnDuB,EAAI8E,UAAYrG,EAAiB,UACjCuB,EAAI+E,gBAAkBtG,EAAuB,gBAC7CuB,EAAIgF,yBAA2BvG,EAAgC,yBAC/DuB,EAAIiF,iCAAmCxG,EAAwC,iCAC/EuB,EAAIkF,oBAAsBzG,EAA2B,oBACrDuB,EAAImF,iBAAgD,MAA7B1G,EAAwB,iBAAY,KAAOA,EAAwB,iBAC1FuB,EAAIoF,mBAAqB3G,EAA0B,mBACnDuB,EAAIqF,0BAA4B5G,EAAiC,0BACjEuB,EAAIsF,uBAAyB7G,EAA8B,uBAC3DuB,EAAIuF,aAAe9G,EAAoB,aACvCuB,EAAIwF,WAAoC,MAAvB/G,EAAkB,WAAY,KAAOuH,GAAwBlG,SAASrB,EAAkB,YACzGuB,EAAIyF,SAAWhH,EAAgB,SAC/BuB,EAAI0F,4BAA8BtC,GAAa6C,GAA2BnG,SAAxCsD,CAAkD3E,EAAmC,6BACvHuB,EAAI2F,0BAA4BvC,GAAa8C,GAAyBpG,SAAtCsD,CAAgD3E,EAAiC,2BACjHuB,EAAI4F,wBAA0BnH,EAA+B,wBAC7DuB,EAAI6F,cAAgBpH,EAAqB,cACzCuB,EAAI8F,UAAYrH,EAAiB,UACjCuB,EAAI+F,aAAwC,MAAzBtH,EAAoB,aAAY,KAAOA,EAAoB,aAC9EuB,EAAIsE,aAAeA,GAAaxE,SAASrB,EAAoB,cAC7DuB,EAAIuE,iBAAmBA,GAAiBzE,SAASrB,EAAwB,mBAEzEzB,GAAQ,gDAADiD,OAAiDxB,IAE3DyB,KACOF,CACT,EAGK,MAAMgG,GACX1H,cACEC,KAAkB,YAAI,GACtBA,KAAW,KAAI,GACfA,KAAqB,eAAI,EACzBA,KAAmB,aAAI,GACvBA,KAAmB,aAAI,GACvBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAa,OAAI,GACjBA,KAAa,OAAI,GACjBA,KAAwB,kBAAI,GAC5BA,KAAuB,iBAAI,GAC3BA,KAAuB,iBAAI,EAC7B,CACA,cAAI4H,GAAe,OAAO5H,KAAkB,WAAE,CAC9C,cAAI4H,CAAW1H,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,OAAI0H,GAAQ,OAAO7H,KAAW,IAAE,CAChC,OAAI6H,CAAI3H,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,iBAAI2H,GAAkB,OAAO9H,KAAqB,cAAE,CACpD,iBAAI8H,CAAc5H,GAChB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,eAAI4H,GAAgB,OAAO/H,KAAmB,YAAE,CAChD,eAAI+H,CAAY7H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAI6H,GAAgB,OAAOhI,KAAmB,YAAE,CAChD,eAAIgI,CAAY9H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAIgI,GAAQ,OAAOnI,KAAW,IAAE,CAChC,OAAImI,CAAIjI,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,oBAAImI,GAAqB,OAAOtI,KAAwB,iBAAE,CAC1D,oBAAIsI,CAAiBpI,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,mBAAIoI,GAAoB,OAAOvI,KAAuB,gBAAE,CACxD,mBAAIuI,CAAgBrI,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,mBAAIqI,GAAoB,OAAOxI,KAAuB,gBAAE,CACxD,mBAAIwI,CAAgBtI,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgG,GAmBd,MAlBoB,kBAAVvH,GAA+B,MAATA,GAC7BuB,EAAImG,WAAa1H,EAAkB,WACnCuB,EAAIoG,IAAM3H,EAAW,IACrBuB,EAAIqG,cAAgB5H,EAAqB,cACzCuB,EAAIsG,YAAc7H,EAAmB,YACrCuB,EAAIuG,YAAc9H,EAAmB,YACrCuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI0G,IAAMjI,EAAW,IACrBuB,EAAI2G,MAAQlI,EAAa,MACzBuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI6G,iBAAmBpI,EAAwB,iBAC/CuB,EAAI8G,gBAAkBrI,EAAuB,gBAC7CuB,EAAI+G,gBAAkBtI,EAAuB,iBAE7CzB,GAAQ,0DAADiD,OAA2DxB,IAErEyB,KACOF,CACT,EAGK,MAAMgH,GACX1I,cACEC,KAAe,UAAI,EACnBA,KAAmB,cAAI,EACvBA,KAAa,QAAI,EACjBA,KAAa,QAAI,EACjBA,KAAwB,kBAAI,EAC9B,CACA,WAAI0I,GAAY,OAAO1I,KAAe,QAAE,CACxC,WAAI0I,CAAQxI,GACV,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAIwI,GAAgB,OAAO3I,KAAmB,YAAE,CAChD,eAAI2I,CAAYzI,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAIyI,GAAU,OAAO5I,KAAa,MAAE,CACpC,SAAI4I,CAAM1I,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAI0I,GAAU,OAAO7I,KAAa,MAAE,CACpC,SAAI6I,CAAM3I,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,oBAAIkC,GAAqB,OAAOrC,KAAwB,iBAAE,CAC1D,oBAAIqC,CAAiBnC,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgH,GAWd,MAVoB,kBAAVvI,GAA+B,MAATA,GAC7BuB,EAAIiH,QAAUxI,EAAe,QAC7BuB,EAAIkH,YAAczI,EAAmB,YACrCuB,EAAImH,MAAQ1I,EAAa,MACzBuB,EAAIoH,MAAQ3I,EAAa,MACzBuB,EAAIY,iBAAmBnC,EAAwB,kBAE/CzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMqH,GACX/I,cACEC,KAAiB,WAAI,EACrBA,KAAsB,gBAAI,YAC1BA,KAAoB,eAAI,CAC1B,CACA,aAAI+I,GAAc,OAAO/I,KAAiB,UAAE,CAC5C,aAAI+I,CAAU7I,GACZ,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,kBAAI6I,GAAmB,OAAOhJ,KAAsB,eAAE,CACtD,kBAAIgJ,CAAe9I,GACjB,IAAIC,EAAQC,GAAW,CAAC,YAAY,cAAc,YAAtCA,CAAmDF,GAC3DG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,gBAAI8I,GAAiB,OAAOjJ,KAAoB,aAAE,CAClD,gBAAIiJ,CAAa/I,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIqH,GASd,MARoB,kBAAV5I,GAA+B,MAATA,GAC7BuB,EAAIsH,UAAY7I,EAAiB,UACjCuB,EAAIuH,eAAiB9I,EAAsB,eAC3CuB,EAAIwH,aAAe/I,EAAoB,cAEvCzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAgIK,MAAMqD,GACX/E,cACEC,KAAY,MAAI,GAChBA,KAAc,QAAI,GAClBA,KAAY,MAAI,GAChBA,KAAkB,YAAI,KACtBA,KAAW,KAAI,EACjB,CACA,QAAIwC,GAAS,OAAOxC,KAAY,KAAE,CAClC,QAAIwC,CAAKtC,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,UAAI+I,GAAW,OAAOlJ,KAAc,OAAE,CACtC,UAAIkJ,CAAOhJ,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,QAAIgJ,GAAS,OAAOnJ,KAAY,KAAE,CAClC,QAAImJ,CAAKjJ,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,cAAIiJ,GAAe,OAAOpJ,KAAkB,WAAE,CAC9C,cAAIoJ,CAAWlJ,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CACEO,KACAP,KAAkB,YAAIE,CAE1B,CACA,OAAImJ,GAAQ,OAAOrJ,KAAW,IAAE,CAChC,OAAIqJ,CAAInJ,GACNK,KACAP,KAAW,KAAIE,CACjB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIqD,GAWd,MAVoB,kBAAV5E,GAA+B,MAATA,GAC7BuB,EAAIe,KAAOtC,EAAY,KACvBuB,EAAIyH,OAAShJ,EAAc,OAC3BuB,EAAI0H,KAAOjJ,EAAY,KACvBuB,EAAI2H,WAAoC,MAAvBlJ,EAAkB,WAAY,KAAOoJ,GAAO/H,SAASrB,EAAkB,YACxFuB,EAAI4H,IAAMxE,GAAanE,GAAa,IAA1BmE,CAA+B3E,EAAW,MAEpDzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGK,MAAM8H,GACXxJ,cACEC,KAAwB,mBAAI,EAC5BA,KAA+B,yBAAI,GACnCA,KAAwB,mBAAI,EAC5BA,KAAiB,YAAI,EACrBA,KAAuB,kBAAI,CAC7B,CACA,oBAAIwJ,GAAqB,OAAOxJ,KAAwB,iBAAE,CAC1D,oBAAIwJ,CAAiBtJ,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,2BAAIsJ,GAA4B,OAAOzJ,KAA+B,wBAAE,CACxE,2BAAIyJ,CAAwBvJ,GAC1B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,oBAAIuJ,GAAqB,OAAO1J,KAAwB,iBAAE,CAC1D,oBAAI0J,CAAiBxJ,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,aAAIwJ,GAAc,OAAO3J,KAAiB,UAAE,CAC5C,aAAI2J,CAAUzJ,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,mBAAIyJ,GAAoB,OAAO5J,KAAuB,gBAAE,CACxD,mBAAI4J,CAAgB1J,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI8H,GAWd,MAVoB,kBAAVrJ,GAA+B,MAATA,GAC7BuB,EAAI+H,iBAAmBtJ,EAAwB,iBAC/CuB,EAAIgI,wBAA0BvJ,EAA+B,wBAC7DuB,EAAIiI,iBAAmBxJ,EAAwB,iBAC/CuB,EAAIkI,UAAYzJ,EAAiB,UACjCuB,EAAImI,gBAAkB1J,EAAuB,iBAE7CzB,GAAQ,kDAADiD,OAAmDxB,IAE7DyB,KACOF,CACT,EAGK,MAAMoI,GACX9J,cACEC,KAAc,QAAI,GAClBA,KAAmB,aAAI,EACzB,CACA,UAAI8J,GAAW,OAAO9J,KAAc,OAAE,CACtC,UAAI8J,CAAO5J,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,eAAI4J,GAAgB,OAAO/J,KAAmB,YAAE,CAChD,eAAI+J,CAAY7J,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIoI,GAQd,MAPoB,kBAAV3J,GAA+B,MAATA,GAC7BuB,EAAIqI,OAAS5J,EAAc,OAC3BuB,EAAIsI,YAAc7J,EAAmB,aAErCzB,GAAQ,yDAADiD,OAA0DxB,IAEpEyB,KACOF,CACT,EAGK,MAAMuI,GACXjK,cACEC,KAA8B,wBAAI,GAClCA,KAA6B,uBAAI,GACjCA,KAAY,MAAI,GAChBA,KAAgB,UAAI,GACpBA,KAAkB,YAAI,GACtBA,KAAe,SAAI,GACnBA,KAAiB,WAAI,GACrBA,KAAa,OAAI,GACjBA,KAAsB,gBAAI,aAC1BA,KAA6B,uBAAI,MACjCA,KAA0B,oBAAI,OAC9BA,KAA6B,uBAAI,GACjCA,KAAqB,eAAI,GACzBA,KAAwB,kBAAI,GAC5BA,KAAmB,aAAI,GACvBA,KAAwB,kBAAI,GAC5BA,KAAyB,mBAAI,EAC/B,CACA,0BAAIiK,GAA2B,OAAOjK,KAA8B,uBAAE,CACtE,0BAAIiK,CAAuB/J,GACzB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,yBAAI+J,GAA0B,OAAOlK,KAA6B,sBAAE,CACpE,yBAAIkK,CAAsBhK,GACxB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,QAAIgK,GAAS,OAAOnK,KAAY,KAAE,CAClC,QAAImK,CAAKjK,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,YAAIiK,GAAa,OAAOpK,KAAgB,SAAE,CAC1C,YAAIoK,CAASlK,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,cAAIkK,GAAe,OAAOrK,KAAkB,WAAE,CAC9C,cAAIqK,CAAWnK,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,WAAImK,GAAY,OAAOtK,KAAe,QAAE,CACxC,WAAIsK,CAAQpK,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,aAAIoK,GAAc,OAAOvK,KAAiB,UAAE,CAC5C,aAAIuK,CAAUrK,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,SAAIqK,GAAU,OAAOxK,KAAa,MAAE,CACpC,SAAIwK,CAAMtK,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,kBAAIsK,GAAmB,OAAOzK,KAAsB,eAAE,CACtD,kBAAIyK,CAAevK,GACjB,IAAIC,EAAQC,GAAW,CAAC,aAAa,aAAa,cAAc,aAApDA,CAAkEF,GAC1EG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,yBAAIuK,GAA0B,OAAO1K,KAA6B,sBAAE,CACpE,yBAAI0K,CAAsBxK,GACxB,IAAIC,EAAQC,GAAW,CAAC,MAAM,OAAO,QAAQ,MAAjCA,CAAwCF,GAChDG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,sBAAIwK,GAAuB,OAAO3K,KAA0B,mBAAE,CAC9D,sBAAI2K,CAAmBzK,GACrB,IAAIC,EAAQC,GAAW,CAAC,OAAO,aAAa,WAAW,cAAc,OAAzDA,CAAiEF,GACzEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,yBAAIyK,GAA0B,OAAO5K,KAA6B,sBAAE,CACpE,yBAAI4K,CAAsB1K,GACxB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,iBAAI0K,GAAkB,OAAO7K,KAAqB,cAAE,CACpD,iBAAI6K,CAAc3K,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CACA,oBAAI4K,GAAqB,OAAO9K,KAAwB,iBAAE,CAC1D,oBAAI8K,CAAiB5K,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,eAAI4K,GAAgB,OAAO/K,KAAmB,YAAE,CAChD,eAAI+K,CAAY7K,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,oBAAI6K,GAAqB,OAAOhL,KAAwB,iBAAE,CAC1D,oBAAIgL,CAAiB9K,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,qBAAI8K,GAAsB,OAAOjL,KAAyB,kBAAE,CAC5D,qBAAIiL,CAAkB/K,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuI,GAuBd,MAtBoB,kBAAV9J,GAA+B,MAATA,GAC7BuB,EAAIwI,uBAAyB/J,EAA8B,uBAC3DuB,EAAIyI,sBAAwBhK,EAA6B,sBACzDuB,EAAI0I,KAAOjK,EAAY,KACvBuB,EAAI2I,SAAWlK,EAAgB,SAC/BuB,EAAI4I,WAAanK,EAAkB,WACnCuB,EAAI6I,QAAUpK,EAAe,QAC7BuB,EAAI8I,UAAYrK,EAAiB,UACjCuB,EAAI+I,MAAQtK,EAAa,MACzBuB,EAAIgJ,eAAiBvK,EAAsB,eAC3CuB,EAAIiJ,sBAAwBxK,EAA6B,sBACzDuB,EAAIkJ,mBAAqBzK,EAA0B,mBACnDuB,EAAImJ,sBAAwB1K,EAA6B,sBACzDuB,EAAIoJ,cAAgBhG,GAAagF,GAAuBtI,SAApCsD,CAA8C3E,EAAqB,eACvFuB,EAAIqJ,iBAAmB5K,EAAwB,iBAC/CuB,EAAIsJ,YAAc7K,EAAmB,YACrCuB,EAAIuJ,iBAAmB9K,EAAwB,iBAC/CuB,EAAIwJ,kBAAoB/K,EAAyB,mBAEjDzB,GAAQ,iDAADiD,OAAkDxB,IAE5DyB,KACOF,CACT,EAGK,MAAMyJ,GACXnL,cACEC,KAAe,SAAI,GACnBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAc,QAAI,GAClBA,KAAY,MAAI,GAChBA,KAAe,SAAI,GACnBA,KAAyB,mBAAI,KAC7BA,KAAa,OAAI,GACjBA,KAAc,QAAI,UAClBA,KAAiB,WAAI,YACrBA,KAAoB,cAAI,KACxBA,KAAmB,aAAI,GACvBA,KAAa,OAAI,GACjBA,KAAyB,mBAAI,GAC7BA,KAAiC,2BAAI,GACrCA,KAAuB,iBAAI,GAC3BA,KAAmB,aAAI,KACvBA,KAAW,KAAI,EACjB,CACA,WAAImL,GAAY,OAAOnL,KAAe,QAAE,CACxC,WAAImL,CAAQjL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,QAAIiL,GAAS,OAAOpL,KAAY,KAAE,CAClC,QAAIoL,CAAKlL,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAIkL,GAAW,OAAOrL,KAAc,OAAE,CACtC,UAAIqL,CAAOnL,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,WAAImL,GAAY,OAAOtL,KAAe,QAAE,CACxC,WAAIsL,CAAQpL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,qBAAIoL,GAAsB,OAAOvL,KAAyB,kBAAE,CAC5D,qBAAIuL,CAAkBrL,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,SAAIqL,GAAU,OAAOxL,KAAa,MAAE,CACpC,SAAIwL,CAAMtL,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,UAAIuL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,OAAO,YAAY,UAAzCA,CAAoDF,GAC5DG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,aAAIuL,GAAc,OAAO1L,KAAiB,UAAE,CAC5C,aAAI0L,CAAUxL,GACZ,IAAIC,EAAQC,GAAW,CAAC,YAAY,aAAa,aAAa,YAAY,SAAS,YAAvEA,CAAoFF,GAC5FG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,GAAY,MAATA,EAAe,CAChB,GAA4B,MAAzBF,KAAoB,cAAa,OAGpC,OAFAO,UACAP,KAAoB,cAAI,KAE1B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,eAAe,cAAc,YAAY,YAAY,aAAa,aAAa,0BAA0B,WAAW,OAAO,QAAQ,eAA/IA,CAA+JF,GACvKG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACF,CACA,eAAIyL,GAAgB,OAAO5L,KAAmB,YAAE,CAChD,eAAI4L,CAAY1L,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAI0L,GAAU,OAAO7L,KAAa,MAAE,CACpC,SAAI6L,CAAM3L,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,qBAAI2L,GAAsB,OAAO9L,KAAyB,kBAAE,CAC5D,qBAAI8L,CAAkB5L,GACpB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,6BAAI4L,GAA8B,OAAO/L,KAAiC,0BAAE,CAC5E,6BAAI+L,CAA0B7L,GAC5B,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,mBAAI6L,GAAoB,OAAOhM,KAAuB,gBAAE,CACxD,mBAAIgM,CAAgB9L,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIyJ,GAwBd,MAvBoB,kBAAVhL,GAA+B,MAATA,GAC7BuB,EAAI0J,QAAUjL,EAAe,QAC7BuB,EAAI2J,KAAOlL,EAAY,KACvBuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI4J,OAASnL,EAAc,OAC3BuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAI6J,QAAUpL,EAAe,QAC7BuB,EAAI8J,kBAAkD,MAA9BrL,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAI+J,MAAQ3G,GAAasH,GAAK5K,SAAlBsD,CAA4B3E,EAAa,OACrDuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIiK,UAAYxL,EAAiB,UACjCuB,EAAIkK,aAAwC,MAAzBzL,EAAoB,aAAY,KAAOA,EAAoB,aAC9EuB,EAAImK,YAAc1L,EAAmB,YACrCuB,EAAIoK,MAAQ3L,EAAa,MACzBuB,EAAIqK,kBAAoB5L,EAAyB,kBACjDuB,EAAIsK,0BAA4B7L,EAAiC,0BACjEuB,EAAIuK,gBAAkB9L,EAAuB,gBAC7CuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,gDAADiD,OAAiDxB,IAE3DyB,KACOF,CACT,EAGK,MAAM2K,GACXrM,cACEC,KAAe,UAAI,EACnBA,KAAiB,YAAI,EACrBA,KAAc,SAAI,EAClBA,KAAa,QAAI,EACjBA,KAAoB,cAAI,EAC1B,CACA,WAAIqM,GAAY,OAAOrM,KAAe,QAAE,CACxC,WAAIqM,CAAQnM,GACV,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,aAAImM,GAAc,OAAOtM,KAAiB,UAAE,CAC5C,aAAIsM,CAAUpM,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,UAAIoM,GAAW,OAAOvM,KAAc,OAAE,CACtC,UAAIuM,CAAOrM,GACT,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAI0I,GAAU,OAAO7I,KAAa,MAAE,CACpC,SAAI6I,CAAM3I,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,gBAAIqM,GAAiB,OAAOxM,KAAoB,aAAE,CAClD,gBAAIwM,CAAatM,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI2K,GAWd,MAVoB,kBAAVlM,GAA+B,MAATA,GAC7BuB,EAAI4K,QAAUnM,EAAe,QAC7BuB,EAAI6K,UAAYpM,EAAiB,UACjCuB,EAAI8K,OAASrM,EAAc,OAC3BuB,EAAIoH,MAAQ3I,EAAa,MACzBuB,EAAI+K,aAAetM,EAAoB,cAEvCzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAMgL,GACX1M,cACEC,KAA6B,uBAAI,8BACjCA,KAAmB,aAAI,GACvBA,KAAoB,cAAI,CAC1B,CACA,yBAAI0M,GAA0B,OAAO1M,KAA6B,sBAAE,CACpE,yBAAI0M,CAAsBxM,GACxB,IAAIC,EAAQC,GAAW,CAAC,8BAA8B,gCAAgC,wBAAwB,6BAA6B,2BAA2B,8BAA8B,8BAA8B,sCAAsC,qCAAqC,+BAA+B,uCAAuC,6BAA6B,yBAAyB,sBAAsB,iBAAiB,iBAAiB,iBAAiB,oBAAoB,oBAAoB,mBAAmB,8BAAjiBA,CAAgkBF,GACxkBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,eAAIwM,GAAgB,OAAO3M,KAAmB,YAAE,CAChD,eAAI2M,CAAYzM,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,gBAAIyM,GAAiB,OAAO5M,KAAoB,aAAE,CAClD,gBAAI4M,CAAa1M,GACf,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgL,GASd,MARoB,kBAAVvM,GAA+B,MAATA,GAC7BuB,EAAIiL,sBAAwBxM,EAA6B,sBACzDuB,EAAIkL,YAAczM,EAAmB,YACrCuB,EAAImL,aAAe1M,EAAoB,cAEvCzB,GAAQ,gDAADiD,OAAiDxB,IAE3DyB,KACOF,CACT,EAGK,MAAMoL,GACX9M,cACEC,KAAoB,eAAI,EACxBA,KAAa,QAAI,EACjBA,KAAoB,cAAI,IAAI4B,GAC5B5B,KAAe,UAAI,EACnBA,KAAsB,gBAAI,IAAIoM,GAC9BpM,KAAa,QAAI,EACjBA,KAAsB,iBAAI,EAC1BA,KAAmB,aAAI,GACvBA,KAAa,QAAI,CACnB,CACA,gBAAI8M,GAAiB,OAAO9M,KAAoB,aAAE,CAClD,gBAAI8M,CAAa5M,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,SAAI4M,GAAU,OAAO/M,KAAa,MAAE,CACpC,SAAI+M,CAAM7M,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,gBAAI6M,GAAiB,OAAOhN,KAAoB,aAAE,CAClD,gBAAIgN,CAAa9M,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,WAAI+M,GAAY,OAAOjN,KAAe,QAAE,CACxC,WAAIiN,CAAQ/M,GACV,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,kBAAI+M,GAAmB,OAAOlN,KAAsB,eAAE,CACtD,kBAAIkN,CAAehN,GACjBK,KACAP,KAAsB,gBAAIE,CAC5B,CACA,SAAIiN,GAAU,OAAOnN,KAAa,MAAE,CACpC,SAAImN,CAAMjN,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,kBAAIiN,GAAmB,OAAOpN,KAAsB,eAAE,CACtD,kBAAIoN,CAAelN,GACjB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,eAAIkN,GAAgB,OAAOrN,KAAmB,YAAE,CAChD,eAAIqN,CAAYnN,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAImN,GAAU,OAAOtN,KAAa,MAAE,CACpC,SAAIsN,CAAMpN,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIoL,GAed,MAdoB,kBAAV3M,GAA+B,MAATA,GAC7BuB,EAAIqL,aAAe5M,EAAoB,aACvCuB,EAAIsL,MAAQ7M,EAAa,MACzBuB,EAAIuL,aAAepL,GAAML,SAASrB,EAAoB,cACtDuB,EAAIwL,QAAU/M,EAAe,QAC7BuB,EAAIyL,eAAiBd,GAAQ7K,SAASrB,EAAsB,gBAC5DuB,EAAI0L,MAAQjN,EAAa,MACzBuB,EAAI2L,eAAiBlN,EAAsB,eAC3CuB,EAAI4L,YAAcnN,EAAmB,YACrCuB,EAAI6L,MAAQpN,EAAa,OAEzBzB,GAAQ,uCAADiD,OAAwCxB,IAElDyB,KACOF,CACT,EAGK,MAAM8L,GACXxN,cACEC,KAAmB,aAAI,EACvBA,KAAe,SAAI,EACnBA,KAAe,SAAI,EACnBA,KAAkB,YAAI,EACtBA,KAAgB,UAAI,GACpBA,KAA2B,sBAAI,EAC/BA,KAAc,QAAI,eAClBA,KAAyB,mBAAI,GAC7BA,KAAiB,WAAI,GACrBA,KAAsB,gBAAI,KAC1BA,KAAoB,cAAI,IAAIsC,GAC5BtC,KAAuB,iBAAI,GAC3BA,KAA6B,uBAAI,KACjCA,KAAc,QAAI,KAClBA,KAAmB,aAAI,IACzB,CACA,eAAI2D,GAAgB,OAAO3D,KAAmB,YAAE,CAChD,eAAI2D,CAAYzD,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,WAAIyD,GAAY,OAAO5D,KAAe,QAAE,CACxC,WAAI4D,CAAQ1D,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,WAAI0D,GAAY,OAAO7D,KAAe,QAAE,CACxC,WAAI6D,CAAQ3D,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,cAAIqN,GAAe,OAAOxN,KAAkB,WAAE,CAC9C,cAAIwN,CAAWtN,GACb,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,YAAIuD,GAAa,OAAO1D,KAAgB,SAAE,CAC1C,YAAI0D,CAASxD,GACX,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,uBAAIsN,GAAwB,OAAOzN,KAA2B,oBAAE,CAChE,uBAAIyN,CAAoBvN,GACtB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,UAAIuN,GAAW,OAAO1N,KAAc,OAAE,CACtC,UAAI0N,CAAOxN,GACT,IAAIC,EAAQC,GAAW,CAAC,eAAe,cAAc,uBAAuB,wBAAwB,yBAAyB,uBAAuB,oBAAoB,eAA5JA,CAA4KF,GACpLG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,qBAAIwN,GAAsB,OAAO3N,KAAyB,kBAAE,CAC5D,qBAAI2N,CAAkBzN,GACpBK,KACAP,KAAyB,mBAAIE,CAC/B,CACA,aAAI0N,GAAc,OAAO5N,KAAiB,UAAE,CAC5C,aAAI4N,CAAU1N,GACZK,KACAP,KAAiB,WAAIE,CACvB,CACA,kBAAI2N,GAAmB,OAAO7N,KAAsB,eAAE,CACtD,kBAAI6N,CAAe3N,GACjB,GAAY,MAATA,EAAe,CAChB,GAA8B,MAA3BF,KAAsB,gBAAa,OAGtC,OAFAO,UACAP,KAAsB,gBAAI,KAE5B,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACF,CACA,gBAAI2N,GAAiB,OAAO9N,KAAoB,aAAE,CAClD,gBAAI8N,CAAa5N,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,mBAAI6N,GAAoB,OAAO/N,KAAuB,gBAAE,CACxD,mBAAI+N,CAAgB7N,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,yBAAImE,GAA0B,OAAOrE,KAA6B,sBAAE,CACpE,yBAAIqE,CAAsBnE,GACxB,GAAY,MAATA,EAAe,CAChB,GAAqC,MAAlCF,KAA6B,uBAAa,OAG7C,OAFAO,UACAP,KAA6B,uBAAI,KAEnC,CACEO,KACAP,KAA6B,uBAAIE,CAErC,CACA,UAAIoE,GAAW,OAAOtE,KAAc,OAAE,CACtC,UAAIsE,CAAOpE,GACT,GAAY,MAATA,EAAe,CAChB,GAAsB,MAAnBF,KAAc,QAAa,OAG9B,OAFAO,UACAP,KAAc,QAAI,KAEpB,CAAO,CACL,IAAIG,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACF,CACA,eAAIoE,GAAgB,OAAOvE,KAAmB,YAAE,CAChD,eAAIuE,CAAYrE,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI8L,GAqBd,MApBoB,kBAAVrN,GAA+B,MAATA,GAC7BuB,EAAIkC,YAAczD,EAAmB,YACrCuB,EAAImC,QAAU1D,EAAe,QAC7BuB,EAAIoC,QAAU3D,EAAe,QAC7BuB,EAAI+L,WAAatN,EAAkB,WACnCuB,EAAIiC,SAAWxD,EAAgB,SAC/BuB,EAAIgM,oBAAsBvN,EAA2B,oBACrDuB,EAAIiM,OAASxN,EAAc,OAC3BuB,EAAIkM,kBAAoB9I,GAAazE,GAAW,CAAC,QAAQ,iBAAiB,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM,eAAe,eAAe,SAAS,oBAAoB,aAAa,YAAY,aAAa,SAA3MyE,CAAqN3E,EAAyB,mBACtQuB,EAAImM,UAAY/I,GAAazE,GAAW,CAAC,SAAS,SAAS,SAAS,SAAS,SAAS,QAAQ,QAAQ,SAAS,UAA/FyE,CAA0G3E,EAAiB,WAC3IuB,EAAIoM,eAA4C,MAA3B3N,EAAsB,eAAY,KAAOA,EAAsB,eACpFuB,EAAIqM,aAAexL,GAAWf,SAASrB,EAAoB,cAC3DuB,EAAIsM,gBAAkBlJ,GAAavC,GAAWf,SAAxBsD,CAAkC3E,EAAuB,iBAC/EuB,EAAI4C,sBAA0D,MAAlCnE,EAA6B,sBAAY,KAAO6E,GAAKxD,SAASrB,EAA6B,uBACvHuB,EAAI6C,OAA4B,MAAnBpE,EAAc,OAAY,KAAOA,EAAc,OAC5DuB,EAAI8C,YAAsC,MAAxBrE,EAAmB,YAAY,KAAOA,EAAmB,aAE3EzB,GAAQ,4CAADiD,OAA6CxB,IAEvDyB,KACOF,CACT,EAGK,MAAMuM,GACXjO,cACEC,KAAuB,iBAAI,KAC3BA,KAAwB,mBAAI,EAC5BA,KAAwB,mBAAI,EAC5BA,KAAsB,gBAAI,GAC1BA,KAAiB,WAAI,IACvB,CACA,mBAAIiO,GAAoB,OAAOjO,KAAuB,gBAAE,CACxD,mBAAIiO,CAAgB/N,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,oBAAI+N,GAAqB,OAAOlO,KAAwB,iBAAE,CAC1D,oBAAIkO,CAAiBhO,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,oBAAIgO,GAAqB,OAAOnO,KAAwB,iBAAE,CAC1D,oBAAImO,CAAiBjO,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,kBAAIiO,GAAmB,OAAOpO,KAAsB,eAAE,CACtD,kBAAIoO,CAAelO,GACjB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,aAAIkO,GAAc,OAAOrO,KAAiB,UAAE,CAC5C,aAAIqO,CAAUnO,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuM,GAWd,MAVoB,kBAAV9N,GAA+B,MAATA,GAC7BuB,EAAIwM,gBAA8C,MAA5B/N,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAIyM,iBAAmBhO,EAAwB,iBAC/CuB,EAAI0M,iBAAmBjO,EAAwB,iBAC/CuB,EAAI2M,eAAiBlO,EAAsB,eAC3CuB,EAAI4M,UAAkC,MAAtBnO,EAAiB,UAAY,KAAOA,EAAiB,WAErEzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGK,MAAM6M,GACXvO,cACEC,KAAmB,aAAI,IAAIuO,GAC3BvO,KAAgB,UAAI,IAAIwO,EAC1B,CACA,eAAID,GAAgB,OAAOvO,KAAmB,YAAE,CAChD,eAAIuO,CAAYrO,GACdK,KACAP,KAAmB,aAAIE,CACzB,CACA,YAAIsO,GAAa,OAAOxO,KAAgB,SAAE,CAC1C,YAAIwO,CAAStO,GACXK,KACAP,KAAgB,UAAIE,CACtB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6M,GAQd,MAPoB,kBAAVpO,GAA+B,MAATA,GAC7BuB,EAAI8M,YAAcA,GAAYhN,SAASrB,EAAmB,aAC1DuB,EAAI+M,SAAWA,GAASjN,SAASrB,EAAgB,WAEjDzB,GAAQ,wCAADiD,OAAyCxB,IAEnDyB,KACOF,CACT,EAGK,MAAMgN,GACX1O,cACEC,KAAe,SAAI,YACnBA,KAAuB,iBAAI,GAC3BA,KAAqB,eAAI,GACzBA,KAAwB,kBAAI,GAC5BA,KAA4B,sBAAI,GAChCA,KAA6B,uBAAI,wBACjCA,KAA2B,qBAAI,GAC/BA,KAA6B,wBAAI,EACjCA,KAA2B,qBAAI,EACjC,CACA,WAAI0O,GAAY,OAAO1O,KAAe,QAAE,CACxC,WAAI0O,CAAQxO,GACV,IAAIC,EAAQC,GAAW,CAAC,YAAY,cAAc,YAAtCA,CAAmDF,GAC3DG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,mBAAIwO,GAAoB,OAAO3O,KAAuB,gBAAE,CACxD,mBAAI2O,CAAgBzO,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,iBAAIyO,GAAkB,OAAO5O,KAAqB,cAAE,CACpD,iBAAI4O,CAAc1O,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,oBAAI0O,GAAqB,OAAO7O,KAAwB,iBAAE,CAC1D,oBAAI6O,CAAiB3O,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,wBAAI2O,GAAyB,OAAO9O,KAA4B,qBAAE,CAClE,wBAAI8O,CAAqB5O,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,yBAAI4O,GAA0B,OAAO/O,KAA6B,sBAAE,CACpE,yBAAI+O,CAAsB7O,GACxB,IAAIC,EAAQC,GAAW,CAAC,wBAAwB,eAAe,eAAe,wBAAlEA,CAA2FF,GACnGG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,uBAAI6O,GAAwB,OAAOhP,KAA2B,oBAAE,CAChE,uBAAIgP,CAAoB9O,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,yBAAI8O,GAA0B,OAAOjP,KAA6B,sBAAE,CACpE,yBAAIiP,CAAsB/O,GACxB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,uBAAI+O,GAAwB,OAAOlP,KAA2B,oBAAE,CAChE,uBAAIkP,CAAoBhP,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgN,GAed,MAdoB,kBAAVvO,GAA+B,MAATA,GAC7BuB,EAAIiN,QAAUxO,EAAe,QAC7BuB,EAAIkN,gBAAkBzO,EAAuB,gBAC7CuB,EAAImN,cAAgB1O,EAAqB,cACzCuB,EAAIoN,iBAAmB3O,EAAwB,iBAC/CuB,EAAIqN,qBAAuB5O,EAA4B,qBACvDuB,EAAIsN,sBAAwB7O,EAA6B,sBACzDuB,EAAIuN,oBAAsB9O,EAA2B,oBACrDuB,EAAIwN,sBAAwB/O,EAA6B,sBACzDuB,EAAIyN,oBAAsBhP,EAA2B,qBAErDzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAGK,MAAM0N,GACXpP,cACEC,KAAW,KAAI,GACfA,KAAgB,UAAI,GACpBA,KAAe,SAAI,GACnBA,KAAmB,aAAI,kBACvBA,KAAe,SAAI,GACnBA,KAAmB,aAAI,KACvBA,KAAoB,eAAI,CAC1B,CACA,OAAIkM,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,YAAIiP,GAAa,OAAOpP,KAAgB,SAAE,CAC1C,YAAIoP,CAASlP,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,WAAIgP,GAAY,OAAOnP,KAAe,QAAE,CACxC,WAAImP,CAAQjP,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAIkP,GAAgB,OAAOrP,KAAmB,YAAE,CAChD,eAAIqP,CAAYnP,GACd,IAAIC,EAAQC,GAAW,CAAC,kBAAkB,iBAAiB,cAAc,uBAAuB,aAAa,QAAQ,SAAS,eAAe,qBAAqB,+BAA+B,eAAe,yBAAyB,cAAc,kBAA3OA,CAA8PF,GACtQG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,WAAImP,GAAY,OAAOtP,KAAe,QAAE,CACxC,WAAIsP,CAAQpP,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,gBAAIoP,GAAiB,OAAOvP,KAAoB,aAAE,CAClD,gBAAIuP,CAAarP,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0N,GAad,MAZoB,kBAAVjP,GAA+B,MAATA,GAC7BuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAI2N,SAAWlP,EAAgB,SAC/BuB,EAAI0N,QAAUjP,EAAe,QAC7BuB,EAAI4N,YAAcnP,EAAmB,YACrCuB,EAAI6N,QAAUpP,EAAe,QAC7BuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAI8N,aAAerP,EAAoB,cAEvCzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAM0J,GACXpL,cACEC,KAAc,QAAI,GAClBA,KAAY,MAAI,KAChBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAa,OAAI,GACjBA,KAAc,QAAI,GAClBA,KAAiB,WAAI,KACrBA,KAAY,MAAI,GAChBA,KAAkB,YAAI,SACxB,CACA,UAAIwP,GAAW,OAAOxP,KAAc,OAAE,CACtC,UAAIwP,CAAOtP,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,QAAIiL,GAAS,OAAOpL,KAAY,KAAE,CAClC,QAAIoL,CAAKlL,GACP,GAAY,MAATA,EAAe,CAChB,GAAoB,MAAjBF,KAAY,MAAa,OAG5B,OAFAO,UACAP,KAAY,MAAI,KAElB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACF,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAIgI,GAAQ,OAAOnI,KAAW,IAAE,CAChC,OAAImI,CAAIjI,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,SAAIsP,GAAU,OAAOzP,KAAa,MAAE,CACpC,SAAIyP,CAAMvP,GACR,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAIwP,GAAW,OAAO3P,KAAc,OAAE,CACtC,UAAI2P,CAAOzP,GACT,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,aAAIyP,GAAc,OAAO5P,KAAiB,UAAE,CAC5C,aAAI4P,CAAU1P,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,MAAM,OAAO,YAAY,MAArCA,CAA4CF,GACpDG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CACA,QAAI0P,GAAS,OAAO7P,KAAY,KAAE,CAClC,QAAI6P,CAAK3P,GACP,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,cAAI2P,GAAe,OAAO9P,KAAkB,WAAE,CAC9C,cAAI8P,CAAW5P,GACb,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0J,GAgBd,MAfoB,kBAAVjL,GAA+B,MAATA,GAC7BuB,EAAI+N,OAAStP,EAAc,OAC3BuB,EAAI2J,KAAwB,MAAjBlL,EAAY,KAAY,KAAOA,EAAY,KACtDuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI0G,IAAMjI,EAAW,IACrBuB,EAAIgO,MAAQvP,EAAa,MACzBuB,EAAIkO,OAASzP,EAAc,OAC3BuB,EAAImO,UAAkC,MAAtB1P,EAAiB,UAAY,KAAOA,EAAiB,UACrEuB,EAAIoO,KAAO3P,EAAY,KACvBuB,EAAIqO,WAAa5P,EAAkB,YAEnCzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAMsO,GACXhQ,cACEC,KAAc,QAAI,GAClBA,KAAc,QAAI,GAClBA,KAAwB,kBAAI,UAC5BA,KAAkB,YAAI,KACtBA,KAAmB,aAAI,KACvBA,KAAW,KAAI,EACjB,CACA,UAAI8J,GAAW,OAAO9J,KAAc,OAAE,CACtC,UAAI8J,CAAO5J,GACT,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,UAAI6P,GAAW,OAAOhQ,KAAc,OAAE,CACtC,UAAIgQ,CAAO9P,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,oBAAI8P,GAAqB,OAAOjQ,KAAwB,iBAAE,CAC1D,oBAAIiQ,CAAiB/P,GACnB,IAAIC,EAAQC,GAAW,CAAC,UAAU,eAAe,sBAAsB,qBAAqB,SAAS,UAAzFA,CAAoGF,GAC5GG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,cAAI+P,GAAe,OAAOlQ,KAAkB,WAAE,CAC9C,cAAIkQ,CAAWhQ,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,aAAa,aAAa,WAAW,aAAjDA,CAA+DF,GACvEG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,eAAIgQ,GAAgB,OAAOnQ,KAAmB,YAAE,CAChD,eAAImQ,CAAYjQ,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsO,GAYd,MAXoB,kBAAV7P,GAA+B,MAATA,GAC7BuB,EAAIqI,OAAS5J,EAAc,OAC3BuB,EAAIuO,OAAS9P,EAAc,OAC3BuB,EAAIwO,iBAAmB/P,EAAwB,iBAC/CuB,EAAIyO,WAAoC,MAAvBhQ,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAI0O,YAAsC,MAAxBjQ,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAM2O,GACXrQ,cACEC,KAAc,QAAI,EAClBA,KAAa,OAAI,EACjBA,KAAY,MAAI,CAClB,CACA,UAAIqQ,GAAW,OAAOrQ,KAAc,OAAE,CACtC,UAAIqQ,CAAOnQ,GACT,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAImQ,GAAU,OAAOtQ,KAAa,MAAE,CACpC,SAAIsQ,CAAMpQ,GACR,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,QAAIoQ,GAAS,OAAOvQ,KAAY,KAAE,CAClC,QAAIuQ,CAAKrQ,GACP,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI2O,GASd,MARoB,kBAAVlQ,GAA+B,MAATA,GAC7BuB,EAAI4O,OAASnQ,EAAc,OAC3BuB,EAAI6O,MAAQpQ,EAAa,MACzBuB,EAAI8O,KAAOrQ,EAAY,MAEvBzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EAGK,MAAM8M,GACXxO,cACEC,KAAc,QAAI,gBAClBA,KAAoB,cAAI,cACxBA,KAAqB,eAAI,qBACzBA,KAAoB,cAAI,GACxBA,KAAqB,eAAI,KACzBA,KAAkB,YAAI,KACtBA,KAAe,SAAI,KACnBA,KAAsB,gBAAI,KAC1BA,KAA8B,wBAAI,KAClCA,KAA0B,oBAAI,KAC9BA,KAAmB,aAAI,GACvBA,KAAuB,iBAAI,KAC3BA,KAA6B,uBAAI,KACjCA,KAAuB,iBAAI,KAC3BA,KAA4B,sBAAI,IAAIwQ,GACpCxQ,KAAkB,YAAI,KACtBA,KAAgB,UAAI,IAAIyQ,GACxBzQ,KAAkB,YAAI,IAAIyQ,GAC1BzQ,KAAyB,mBAAI,GAC7BA,KAAY,MAAI,EAChBA,KAAgB,UAAI,IAAI0Q,GACxB1Q,KAAe,SAAI,IAAI2Q,GACvB3Q,KAAmB,aAAI,IAAI4Q,GAC3B5Q,KAA+B,0BAAI,EACnCA,KAAwC,mCAAI,EAC5CA,KAAiB,WAAI,IAAIuN,GACzBvN,KAAoB,cAAI,IAAI8I,GAC5B9I,KAAoB,cAAI,IAAIyO,GAC5BzO,KAAgB,WAAI,EACpBA,KAAkB,YAAI,GACtBA,KAAmB,aAAI,GACvBA,KAAa,QAAI,EACjBA,KAA0B,qBAAI,EAC9BA,KAAiB,WAAI,IAAIF,GACzBE,KAAY,MAAI,GAChBA,KAAe,SAAI,EACnBA,KAAkB,YAAI,IAAI6Q,GAC1B7Q,KAA4B,sBAAI,KAChCA,KAAc,QAAI,KAClBA,KAAqB,eAAI,IAAI8F,GAC7B9F,KAAkB,YAAI,KACtBA,KAAqB,eAAI,IAC3B,CACA,UAAIyL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,gBAAgB,mBAAmB,kBAAkB,oBAAoB,yBAAyB,gBAAgB,wBAAwB,qBAAqB,oBAAoB,kBAAkB,gBAAgB,uBAAuB,uBAAuB,qBAAqB,mBAAmB,eAAe,cAAc,gBAApVA,CAAqWF,GAC7WG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,gBAAI2Q,GAAiB,OAAO9Q,KAAoB,aAAE,CAClD,gBAAI8Q,CAAa5Q,GACf,IAAIC,EAAQC,GAAW,CAAC,cAAc,aAAa,UAAU,YAAY,cAA7DA,CAA4EF,GACpFG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI4Q,GAAkB,OAAO/Q,KAAqB,cAAE,CACpD,iBAAI+Q,CAAc7Q,GAChB,IAAIC,EAAQC,GAAW,CAAC,qBAAqB,sBAAsB,cAAc,aAAa,aAAa,sBAAsB,qBAAqB,iBAAiB,cAAc,cAAc,0BAA0B,sBAAsB,eAAe,UAAU,aAAa,aAAa,uBAAuB,sBAAsB,oBAAoB,8BAA8B,uBAAuB,oBAAoB,yBAAyB,SAAS,qBAAtcA,CAA4dF,GACpeG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,gBAAI6Q,GAAiB,OAAOhR,KAAoB,aAAE,CAClD,gBAAIgR,CAAa9Q,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,iBAAI+Q,GAAkB,OAAOjR,KAAqB,cAAE,CACpD,iBAAIiR,CAAc/Q,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,QAAQ,iBAAiB,WAAW,UAAU,QAA1DA,CAAmEF,GAC3EG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,cAAI+Q,GAAe,OAAOlR,KAAkB,WAAE,CAC9C,cAAIkR,CAAWhR,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,WAAIgR,GAAY,OAAOnR,KAAe,QAAE,CACxC,WAAImR,CAAQjR,GACV,GAAY,MAATA,EAAe,CAChB,GAAuB,MAApBF,KAAe,SAAa,OAG/B,OAFAO,UACAP,KAAe,SAAI,KAErB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACF,CACA,kBAAIiR,GAAmB,OAAOpR,KAAsB,eAAE,CACtD,kBAAIoR,CAAelR,GACjB,GAAY,MAATA,EAAe,CAChB,GAA8B,MAA3BF,KAAsB,gBAAa,OAGtC,OAFAO,UACAP,KAAsB,gBAAI,KAE5B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACF,CACA,0BAAIkR,GAA2B,OAAOrR,KAA8B,uBAAE,CACtE,0BAAIqR,CAAuBnR,GACzB,GAAY,MAATA,EAAe,CAChB,GAAsC,MAAnCF,KAA8B,wBAAa,OAG9C,OAFAO,UACAP,KAA8B,wBAAI,KAEpC,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACF,CACA,sBAAImR,GAAuB,OAAOtR,KAA0B,mBAAE,CAC9D,sBAAIsR,CAAmBpR,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,eAAIoR,GAAgB,OAAOvR,KAAmB,YAAE,CAChD,eAAIuR,CAAYrR,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,mBAAIqR,GAAoB,OAAOxR,KAAuB,gBAAE,CACxD,mBAAIwR,CAAgBtR,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,yBAAIsR,GAA0B,OAAOzR,KAA6B,sBAAE,CACpE,yBAAIyR,CAAsBvR,GACxB,GAAY,MAATA,EAAe,CAChB,GAAqC,MAAlCF,KAA6B,uBAAa,OAG7C,OAFAO,UACAP,KAA6B,uBAAI,KAEnC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACF,CACA,mBAAIuR,GAAoB,OAAO1R,KAAuB,gBAAE,CACxD,mBAAI0R,CAAgBxR,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,wBAAIqQ,GAAyB,OAAOxQ,KAA4B,qBAAE,CAClE,wBAAIwQ,CAAqBtQ,GACvBK,KACAP,KAA4B,sBAAIE,CAClC,CACA,cAAIyR,GAAe,OAAO3R,KAAkB,WAAE,CAC9C,cAAI2R,CAAWzR,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,YAAIuQ,GAAa,OAAOzQ,KAAgB,SAAE,CAC1C,YAAIyQ,CAASvQ,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,cAAI0R,GAAe,OAAO5R,KAAkB,WAAE,CAC9C,cAAI4R,CAAW1R,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,qBAAI2R,GAAsB,OAAO7R,KAAyB,kBAAE,CAC5D,qBAAI6R,CAAkB3R,GACpBK,KACAP,KAAyB,mBAAIE,CAC/B,CACA,QAAI4R,GAAS,OAAO9R,KAAY,KAAE,CAClC,QAAI8R,CAAK5R,GACP,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,YAAI4R,GAAa,OAAO/R,KAAgB,SAAE,CAC1C,YAAI+R,CAAS7R,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,WAAIyQ,GAAY,OAAO3Q,KAAe,QAAE,CACxC,WAAI2Q,CAAQzQ,GACVK,KACAP,KAAe,SAAIE,CACrB,CACA,eAAI0Q,GAAgB,OAAO5Q,KAAmB,YAAE,CAChD,eAAI4Q,CAAY1Q,GACdK,KACAP,KAAmB,aAAIE,CACzB,CACA,2BAAI8R,GAA4B,OAAOhS,KAA+B,wBAAE,CACxE,2BAAIgS,CAAwB9R,GAC1B,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,oCAAI8R,GAAqC,OAAOjS,KAAwC,iCAAE,CAC1F,oCAAIiS,CAAiC/R,GACnC,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACA,aAAI+R,GAAc,OAAOlS,KAAiB,UAAE,CAC5C,aAAIkS,CAAUhS,GACZK,KACAP,KAAiB,WAAIE,CACvB,CACA,gBAAIiS,GAAiB,OAAOnS,KAAoB,aAAE,CAClD,gBAAImS,CAAajS,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,gBAAIkS,GAAiB,OAAOpS,KAAoB,aAAE,CAClD,gBAAIoS,CAAalS,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,YAAImS,GAAa,OAAOrS,KAAgB,SAAE,CAC1C,YAAIqS,CAASnS,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,cAAImS,GAAe,OAAOtS,KAAkB,WAAE,CAC9C,cAAIsS,CAAWpS,GACb,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAIoS,GAAgB,OAAOvS,KAAmB,YAAE,CAChD,eAAIuS,CAAYrS,GACd,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAIqS,GAAU,OAAOxS,KAAa,MAAE,CACpC,SAAIwS,CAAMtS,GACR,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,sBAAIsS,GAAuB,OAAOzS,KAA0B,mBAAE,CAC9D,sBAAIyS,CAAmBvS,GACrB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,aAAIL,GAAc,OAAOE,KAAiB,UAAE,CAC5C,aAAIF,CAAUI,GACZK,KACAP,KAAiB,WAAIE,CACvB,CACA,QAAIwS,GAAS,OAAO1S,KAAY,KAAE,CAClC,QAAI0S,CAAKxS,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,WAAIwS,GAAY,OAAO3S,KAAe,QAAE,CACxC,WAAI2S,CAAQzS,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,cAAIyS,GAAe,OAAO5S,KAAkB,WAAE,CAC9C,cAAI4S,CAAW1S,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,wBAAI2S,GAAyB,OAAO7S,KAA4B,qBAAE,CAClE,wBAAI6S,CAAqB3S,GACvB,GAAY,MAATA,EAAe,CAChB,GAAoC,MAAjCF,KAA4B,sBAAa,OAG5C,OAFAO,UACAP,KAA4B,sBAAI,KAElC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACF,CACA,UAAI2S,GAAW,OAAO9S,KAAc,OAAE,CACtC,UAAI8S,CAAO5S,GACT,GAAY,MAATA,EAAe,CAChB,GAAsB,MAAnBF,KAAc,QAAa,OAG9B,OAFAO,UACAP,KAAc,QAAI,KAEpB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACF,CACA,iBAAI4S,GAAkB,OAAO/S,KAAqB,cAAE,CACpD,iBAAI+S,CAAc7S,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CACA,cAAI8S,GAAe,OAAOhT,KAAkB,WAAE,CAC9C,cAAIgT,CAAW9S,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CACEO,KACAP,KAAkB,YAAIE,CAE1B,CACA,iBAAI+S,GAAkB,OAAOjT,KAAqB,cAAE,CACpD,iBAAIiT,CAAc/S,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CACEO,KACAP,KAAqB,eAAIE,CAE7B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI8M,GAgDd,MA/CoB,kBAAVrO,GAA+B,MAATA,GAC7BuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIqP,aAAe5Q,EAAoB,aACvCuB,EAAIsP,cAAgB7Q,EAAqB,cACzCuB,EAAIuP,aAAenM,GAAanE,GAAa,IAA1BmE,CAA+B3E,EAAoB,cACtEuB,EAAIwP,cAA0C,MAA1B/Q,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIyP,WAAoC,MAAvBhR,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAI0P,QAA8B,MAApBjR,EAAe,QAAY,KAAOA,EAAe,QAC/DuB,EAAI2P,eAA4C,MAA3BlR,EAAsB,eAAY,KAAOA,EAAsB,eACpFuB,EAAI4P,uBAA4D,MAAnCnR,EAA8B,uBAAY,KAAOA,EAA8B,uBAC5GuB,EAAI6P,mBAAoD,MAA/BpR,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAI8P,YAAcrR,EAAmB,YACrCuB,EAAI+P,gBAA8C,MAA5BtR,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAIgQ,sBAA0D,MAAlCvR,EAA6B,sBAAY,KAAOA,EAA6B,sBACzGuB,EAAIiQ,gBAA8C,MAA5BxR,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAI+O,qBAAuBA,GAAqBjP,SAASrB,EAA4B,sBACrFuB,EAAIkQ,WAAoC,MAAvBzR,EAAkB,WAAY,KAAO2E,GAAaqO,GAAU3R,SAAvBsD,CAAiC3E,EAAkB,YACzGuB,EAAIgP,SAAWA,GAASlP,SAASrB,EAAgB,UACjDuB,EAAImQ,WAAanB,GAASlP,SAASrB,EAAkB,YACrDuB,EAAIoQ,kBAAoBhN,GAAasO,GAAiB5R,SAA9BsD,CAAwC3E,EAAyB,mBACzFuB,EAAIqQ,KAAO5R,EAAY,KACvBuB,EAAIsQ,SAAWrB,GAAgBnP,SAASrB,EAAgB,UACxDuB,EAAIkP,QAAUA,GAAQpP,SAASrB,EAAe,SAC9CuB,EAAImP,YAAcA,GAAYrP,SAASrB,EAAmB,aAC1DuB,EAAIuQ,wBAA0B9R,EAA+B,wBAC7DuB,EAAIwQ,iCAAmC/R,EAAwC,iCAC/EuB,EAAIyQ,UAAY3E,GAAUhM,SAASrB,EAAiB,WACpDuB,EAAI0Q,aAAerJ,GAAavH,SAASrB,EAAoB,cAC7DuB,EAAI2Q,aAAe3D,GAAalN,SAASrB,EAAoB,cAC7DuB,EAAI4Q,SAAWnS,EAAgB,SAC/BuB,EAAI6Q,WAAapS,EAAkB,WACnCuB,EAAI8Q,YAAcrS,EAAmB,YACrCuB,EAAI+Q,MAAQtS,EAAa,MACzBuB,EAAIgR,mBAAqBvS,EAA0B,mBACnDuB,EAAI3B,UAAYA,GAAUyB,SAASrB,EAAiB,WACpDuB,EAAIiR,KAAOxS,EAAY,KACvBuB,EAAIkR,QAAUzS,EAAe,QAC7BuB,EAAImR,WAAa/B,GAAOtP,SAASrB,EAAkB,YACnDuB,EAAIoR,qBAAwD,MAAjC3S,EAA4B,qBAAY,KAAOA,EAA4B,qBACtGuB,EAAIqR,OAA4B,MAAnB5S,EAAc,OAAY,KAAOA,EAAc,OAC5DuB,EAAIsR,cAAgBjN,GAAcvE,SAASrB,EAAqB,eAChEuB,EAAIuR,WAAoC,MAAvB9S,EAAkB,WAAY,KAAOkT,GAAW7R,SAASrB,EAAkB,YAC5FuB,EAAIwR,cAA0C,MAA1B/S,EAAqB,cAAY,KAAOmT,GAAc9R,SAASrB,EAAqB,gBAExGzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGK,MAAM6R,GACXvT,cACEC,KAAiB,WAAI,GACrBA,KAAqB,eAAI,GACzBA,KAAsB,gBAAI,GAC1BA,KAAqB,eAAI,GACzBA,KAAqB,eAAI,GACzBA,KAAa,OAAI,GACjBA,KAAa,OAAI,EACnB,CACA,aAAIuT,GAAc,OAAOvT,KAAiB,UAAE,CAC5C,aAAIuT,CAAUrT,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,iBAAIqT,GAAkB,OAAOxT,KAAqB,cAAE,CACpD,iBAAIwT,CAActT,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,kBAAIsT,GAAmB,OAAOzT,KAAsB,eAAE,CACtD,kBAAIyT,CAAevT,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,iBAAIuT,GAAkB,OAAO1T,KAAqB,cAAE,CACpD,iBAAI0T,CAAcxT,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,iBAAIyO,GAAkB,OAAO5O,KAAqB,cAAE,CACpD,iBAAI4O,CAAc1O,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6R,GAad,MAZoB,kBAAVpT,GAA+B,MAATA,GAC7BuB,EAAI8R,UAAYrT,EAAiB,UACjCuB,EAAI+R,cAAgBtT,EAAqB,cACzCuB,EAAIgS,eAAiBvT,EAAsB,eAC3CuB,EAAIiS,cAAgBxT,EAAqB,cACzCuB,EAAImN,cAAgB1O,EAAqB,cACzCuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI2G,MAAQlI,EAAa,OAEzBzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAM4R,GACXtT,cACEC,KAAwB,kBAAI,GAC5BA,KAAuB,kBAAI,CAC7B,CACA,oBAAIsT,GAAqB,OAAOtT,KAAwB,iBAAE,CAC1D,oBAAIsT,CAAiBpT,GACnBK,KACAP,KAAwB,kBAAIE,CAC9B,CACA,mBAAIyT,GAAoB,OAAO3T,KAAuB,gBAAE,CACxD,mBAAI2T,CAAgBzT,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI4R,GAQd,MAPoB,kBAAVnT,GAA+B,MAATA,GAC7BuB,EAAI6R,iBAAmBzO,GAAayO,GAAiB/R,SAA9BsD,CAAwC3E,EAAwB,kBACvFuB,EAAIkS,gBAAkBzT,EAAuB,iBAE7CzB,GAAQ,gDAADiD,OAAiDxB,IAE3DyB,KACOF,CACT,EAGK,MAAMmD,GACX7E,cACEC,KAAa,OAAI,QACjBA,KAAc,QAAI,EAClBA,KAAmB,aAAI,EACvBA,KAAwB,kBAAI,EAC5BA,KAAkB,YAAI,EACtBA,KAAmB,aAAI,EACvBA,KAAmB,aAAI,EACvBA,KAAqB,eAAI,CAC3B,CACA,SAAI4T,GAAU,OAAO5T,KAAa,MAAE,CACpC,SAAI4T,CAAM1T,GACR,IAAIC,EAAQC,GAAW,CAAC,QAAQ,YAAY,OAAO,OAAO,MAAM,QAAQ,MAAM,SAAS,UAAU,QAAQ,QAA7FA,CAAsGF,GAC9GG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAI0T,GAAW,OAAO7T,KAAc,OAAE,CACtC,UAAI6T,CAAO3T,GACT,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,eAAI2T,GAAgB,OAAO9T,KAAmB,YAAE,CAChD,eAAI8T,CAAY5T,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,oBAAI4T,GAAqB,OAAO/T,KAAwB,iBAAE,CAC1D,oBAAI+T,CAAiB7T,GACnB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,cAAI6T,GAAe,OAAOhU,KAAkB,WAAE,CAC9C,cAAIgU,CAAW9T,GACb,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAI8T,GAAgB,OAAOjU,KAAmB,YAAE,CAChD,eAAIiU,CAAY/T,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAI+T,GAAgB,OAAOlU,KAAmB,YAAE,CAChD,eAAIkU,CAAYhU,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,iBAAIgU,GAAkB,OAAOnU,KAAqB,cAAE,CACpD,iBAAImU,CAAcjU,GAChB,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAImD,GAcd,MAboB,kBAAV1E,GAA+B,MAATA,GAC7BuB,EAAImS,MAAQ1T,EAAa,MACzBuB,EAAIoS,OAAS3T,EAAc,OAC3BuB,EAAIqS,YAAc5T,EAAmB,YACrCuB,EAAIsS,iBAAmB7T,EAAwB,iBAC/CuB,EAAIuS,WAAa9T,EAAkB,WACnCuB,EAAIwS,YAAc/T,EAAmB,YACrCuB,EAAIyS,YAAchU,EAAmB,YACrCuB,EAAI0S,cAAgBjU,EAAqB,eAEzCzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAM+O,GACXzQ,cACEC,KAAgB,UAAI,KACpBA,KAAkB,YAAI,KACtBA,KAAuB,iBAAI,GAC3BA,KAAkB,YAAI,KACtBA,KAA0B,oBAAI,KAC9BA,KAAa,OAAI,KACjBA,KAAa,OAAI,KACjBA,KAAgB,UAAI,KACpBA,KAAmB,aAAI,KACvBA,KAAqB,eAAI,KACzBA,KAAiC,2BAAI,KACrCA,KAAqB,eAAI,KACzBA,KAAgB,UAAI,IACtB,CACA,YAAIoU,GAAa,OAAOpU,KAAgB,SAAE,CAC1C,YAAIoU,CAASlU,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,cAAImU,GAAe,OAAOrU,KAAkB,WAAE,CAC9C,cAAIqU,CAAWnU,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,mBAAIoU,GAAoB,OAAOtU,KAAuB,gBAAE,CACxD,mBAAIsU,CAAgBpU,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,cAAIqU,GAAe,OAAOvU,KAAkB,WAAE,CAC9C,cAAIuU,CAAWrU,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,sBAAIsU,GAAuB,OAAOxU,KAA0B,mBAAE,CAC9D,sBAAIwU,CAAmBtU,GACrBK,KACAP,KAA0B,oBAAIE,CAChC,CACA,SAAIsL,GAAU,OAAOxL,KAAa,MAAE,CACpC,SAAIwL,CAAMtL,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,SAAIuU,GAAU,OAAOzU,KAAa,MAAE,CACpC,SAAIyU,CAAMvU,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,YAAIwU,GAAa,OAAO1U,KAAgB,SAAE,CAC1C,YAAI0U,CAASxU,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,eAAIyU,GAAgB,OAAO3U,KAAmB,YAAE,CAChD,eAAI2U,CAAYzU,GACdK,KACAP,KAAmB,aAAIE,CACzB,CACA,iBAAI0U,GAAkB,OAAO5U,KAAqB,cAAE,CACpD,iBAAI4U,CAAc1U,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CACA,6BAAI2U,GAA8B,OAAO7U,KAAiC,0BAAE,CAC5E,6BAAI6U,CAA0B3U,GAC5B,GAAY,MAATA,EAAe,CAChB,GAAyC,MAAtCF,KAAiC,2BAAa,OAGjD,OAFAO,UACAP,KAAiC,2BAAI,KAEvC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACF,CACA,iBAAI2U,GAAkB,OAAO9U,KAAqB,cAAE,CACpD,iBAAI8U,CAAc5U,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,YAAI4U,GAAa,OAAO/U,KAAgB,SAAE,CAC1C,YAAI+U,CAAS7U,GACXK,KACAP,KAAgB,UAAIE,CACtB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI+O,GAmBd,MAlBoB,kBAAVtQ,GAA+B,MAATA,GAC7BuB,EAAI2S,SAAgC,MAArBlU,EAAgB,SAAY,KAAO2E,GAAasK,GAAQ5N,SAArBsD,CAA+B3E,EAAgB,UACjGuB,EAAI4S,WAAoC,MAAvBnU,EAAkB,WAAY,KAAO2E,GAAamQ,GAAiBzT,SAA9BsD,CAAwC3E,EAAkB,YAChHuB,EAAI6S,gBAAkBzP,GAAaqG,GAAc3J,SAA3BsD,CAAqC3E,EAAuB,iBAClFuB,EAAI8S,WAAoC,MAAvBrU,EAAkB,WAAY,KAAO2E,GAAakN,GAASxQ,SAAtBsD,CAAgC3E,EAAkB,YACxGuB,EAAI+S,mBAAoD,MAA/BtU,EAA0B,mBAAY,KAAO2E,GAAakN,GAASxQ,SAAtBsD,CAAgC3E,EAA0B,oBAChIuB,EAAI+J,MAA0B,MAAlBtL,EAAa,MAAY,KAAO2E,GAAasH,GAAK5K,SAAlBsD,CAA4B3E,EAAa,OACrFuB,EAAIgT,MAA0B,MAAlBvU,EAAa,MAAY,KAAO2E,GAAaoQ,GAAK1T,SAAlBsD,CAA4B3E,EAAa,OACrFuB,EAAIiT,SAAgC,MAArBxU,EAAgB,SAAY,KAAO2E,GAAaqQ,GAAY3T,SAAzBsD,CAAmC3E,EAAgB,UACrGuB,EAAIkT,YAAsC,MAAxBzU,EAAmB,YAAY,KAAO2E,GAAasQ,GAAW5T,SAAxBsD,CAAkC3E,EAAmB,aAC7GuB,EAAImT,cAA0C,MAA1B1U,EAAqB,cAAY,KAAO2E,GAAauQ,GAAU7T,SAAvBsD,CAAiC3E,EAAqB,eAClHuB,EAAIoT,0BAAkE,MAAtC3U,EAAiC,0BAAY,KAAOA,EAAiC,0BACrHuB,EAAIqT,cAA0C,MAA1B5U,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIsT,SAAgC,MAArB7U,EAAgB,SAAY,KAAO2E,GAAanE,GAAa,IAA1BmE,CAA+B3E,EAAgB,WAEjGzB,GAAQ,uDAADiD,OAAwDxB,IAElEyB,KACOF,CACT,EAGK,MAAM4T,GACXtV,cACEC,KAAY,MAAI,GAChBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAmB,aAAI,IACzB,CACA,QAAIsV,GAAS,OAAOtV,KAAY,KAAE,CAClC,QAAIsV,CAAKpV,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,QAAIgK,GAAS,OAAOnK,KAAY,KAAE,CAClC,QAAImK,CAAKjK,GACP,IAAIC,EAAQoV,GAAY,GAAZA,CAAgBrV,GACxBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAIqV,GAAU,OAAOxV,KAAa,MAAE,CACpC,SAAIwV,CAAMtV,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI4T,GAWd,MAVoB,kBAAVnV,GAA+B,MAATA,GAC7BuB,EAAI6T,KAAOpV,EAAY,KACvBuB,EAAI0I,KAAOjK,EAAY,KACvBuB,EAAI+T,MAAQtV,EAAa,MACzBuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,aAE3EzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EAGK,MAAMgP,GACX1Q,cACEC,KAAiB,WAAI,GACrBA,KAAkB,YAAI,GACtBA,KAAgB,UAAI,GACpBA,KAAc,QAAI,GAClBA,KAAa,OAAI,GACjBA,KAA4B,sBAAI,GAChCA,KAA0B,oBAAI,KAC9BA,KAA0B,oBAAI,GAC9BA,KAA4B,sBAAI,GAChCA,KAA2B,qBAAI,GAC/BA,KAAyB,mBAAI,GAC7BA,KAA2B,qBAAI,GAC/BA,KAA4B,sBAAI,GAChCA,KAA+B,yBAAI,KACnCA,KAAmB,aAAI,GACvBA,KAAa,OAAI,GACjBA,KAAyB,mBAAI,GAC7BA,KAAc,QAAI,UAClBA,KAAoB,cAAI,uBACxBA,KAAuB,iBAAI,GAC3BA,KAAiC,2BAAI,GACrCA,KAAuB,iBAAI,GAC3BA,KAAgB,WAAI,EACpBA,KAAyB,mBAAI,GAC7BA,KAA0B,qBAAI,EAC9BA,KAA4B,sBAAI,GAChCA,KAA0B,oBAAI,GAC9BA,KAA4B,sBAAI,GAChCA,KAA0B,oBAAI,GAC9BA,KAA2B,qBAAI,GAC/BA,KAAyB,mBAAI,GAC7BA,KAAmB,aAAI,GACvBA,KAAqB,eAAI,KACzBA,KAAkB,YAAI,KACtBA,KAAoB,cAAI,GACxBA,KAAwB,kBAAI,UAC5BA,KAA2B,qBAAI,GAC/BA,KAAsB,gBAAI,GAC1BA,KAAiB,WAAI,GACrBA,KAAmB,aAAI,GACvBA,KAAiB,WAAI,GACrBA,KAAqB,eAAI,GACzBA,KAAe,SAAI,GACnBA,KAAmB,aAAI,KACvBA,KAAY,MAAI,MAChBA,KAAsB,gBAAI,GAC1BA,KAA0B,oBAAI,GAC9BA,KAAsB,gBAAI,GAC1BA,KAAkB,YAAI,IAAIyV,GAC1BzV,KAAwB,kBAAI,KAC5BA,KAA2B,qBAAI,KAC/BA,KAAc,QAAI,IAAI0V,GACtB1V,KAAgB,UAAI,IAAI2V,GACxB3V,KAAgB,UAAI,IAAI4V,GACxB5V,KAAoB,cAAI,IAAI6V,GAC5B7V,KAAwB,kBAAI,IAAI8V,GAChC9V,KAAoB,cAAI,IAAI+V,GAC5B/V,KAAwC,mCAAI,EAC5CA,KAAqB,eAAI,GACzBA,KAA+B,yBAAI,GACnCA,KAAuB,iBAAI,GAC3BA,KAAa,OAAI,IAAIgW,GACrBhW,KAAsB,gBAAI,IAAIiW,EAChC,CACA,aAAIC,GAAc,OAAOlW,KAAiB,UAAE,CAC5C,aAAIkW,CAAUhW,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,cAAIgW,GAAe,OAAOnW,KAAkB,WAAE,CAC9C,cAAImW,CAAWjW,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,YAAIiW,GAAa,OAAOpW,KAAgB,SAAE,CAC1C,YAAIoW,CAASlW,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,UAAIkW,GAAW,OAAOrW,KAAc,OAAE,CACtC,UAAIqW,CAAOnW,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,wBAAImW,GAAyB,OAAOtW,KAA4B,qBAAE,CAClE,wBAAIsW,CAAqBpW,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,sBAAIoW,GAAuB,OAAOvW,KAA0B,mBAAE,CAC9D,sBAAIuW,CAAmBrW,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,sBAAIqW,GAAuB,OAAOxW,KAA0B,mBAAE,CAC9D,sBAAIwW,CAAmBtW,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,wBAAIsW,GAAyB,OAAOzW,KAA4B,qBAAE,CAClE,wBAAIyW,CAAqBvW,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,uBAAIuW,GAAwB,OAAO1W,KAA2B,oBAAE,CAChE,uBAAI0W,CAAoBxW,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,qBAAIwW,GAAsB,OAAO3W,KAAyB,kBAAE,CAC5D,qBAAI2W,CAAkBzW,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,uBAAIyW,GAAwB,OAAO5W,KAA2B,oBAAE,CAChE,uBAAI4W,CAAoB1W,GACtB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,wBAAI0W,GAAyB,OAAO7W,KAA4B,qBAAE,CAClE,wBAAI6W,CAAqB3W,GACvB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,2BAAI2W,GAA4B,OAAO9W,KAA+B,wBAAE,CACxE,2BAAI8W,CAAwB5W,GAC1B,GAAY,MAATA,EAAe,CAChB,GAAuC,MAApCF,KAA+B,yBAAa,OAG/C,OAFAO,UACAP,KAA+B,yBAAI,KAErC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,MAAM,OAAO,YAAY,MAArCA,CAA4CF,GACpDG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACF,CACA,eAAIyL,GAAgB,OAAO5L,KAAmB,YAAE,CAChD,eAAI4L,CAAY1L,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAI0L,GAAU,OAAO7L,KAAa,MAAE,CACpC,SAAI6L,CAAM3L,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,qBAAI2L,GAAsB,OAAO9L,KAAyB,kBAAE,CAC5D,qBAAI8L,CAAkB5L,GACpB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,UAAIsL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,OAAO,YAAY,UAAzCA,CAAoDF,GAC5DG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,IAAIC,EAAQC,GAAW,CAAC,uBAAuB,uBAAuB,cAAc,sBAAsB,cAAc,cAAc,kBAAkB,YAAY,cAAc,aAAa,aAAa,mBAAmB,OAAO,aAAa,YAAY,WAAW,cAAc,uBAA5QA,CAAoSF,GAC5SG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAI4W,GAAoB,OAAO/W,KAAuB,gBAAE,CACxD,mBAAI+W,CAAgB7W,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,6BAAI4L,GAA8B,OAAO/L,KAAiC,0BAAE,CAC5E,6BAAI+L,CAA0B7L,GAC5B,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,mBAAI6L,GAAoB,OAAOhM,KAAuB,gBAAE,CACxD,mBAAIgM,CAAgB9L,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,YAAI6W,GAAa,OAAOhX,KAAgB,SAAE,CAC1C,YAAIgX,CAAS9W,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,qBAAI8W,GAAsB,OAAOjX,KAAyB,kBAAE,CAC5D,qBAAIiX,CAAkB/W,GACpBK,KACAP,KAAyB,mBAAIE,CAC/B,CACA,sBAAIgX,GAAuB,OAAOlX,KAA0B,mBAAE,CAC9D,sBAAIkX,CAAmBhX,GACrB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAiB5B,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,wBAAIgX,GAAyB,OAAOnX,KAA4B,qBAAE,CAClE,wBAAImX,CAAqBjX,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,sBAAIiX,GAAuB,OAAOpX,KAA0B,mBAAE,CAC9D,sBAAIoX,CAAmBlX,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,wBAAIkX,GAAyB,OAAOrX,KAA4B,qBAAE,CAClE,wBAAIqX,CAAqBnX,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,sBAAImX,GAAuB,OAAOtX,KAA0B,mBAAE,CAC9D,sBAAIsX,CAAmBpX,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,uBAAIoX,GAAwB,OAAOvX,KAA2B,oBAAE,CAChE,uBAAIuX,CAAoBrX,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,qBAAIqX,GAAsB,OAAOxX,KAAyB,kBAAE,CAC5D,qBAAIwX,CAAkBtX,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,eAAIsX,GAAgB,OAAOzX,KAAmB,YAAE,CAChD,eAAIyX,CAAYvX,GACd,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,iBAAIuX,GAAkB,OAAO1X,KAAqB,cAAE,CACpD,iBAAI0X,CAAcxX,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,UAAU,YAAY,YAAY,UAAU,UAAxDA,CAAmEF,GAC3EG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,cAAIwX,GAAe,OAAO3X,KAAkB,WAAE,CAC9C,cAAI2X,CAAWzX,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,gBAAIyX,GAAiB,OAAO5X,KAAoB,aAAE,CAClD,gBAAI4X,CAAa1X,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,oBAAI0X,GAAqB,OAAO7X,KAAwB,iBAAE,CAC1D,oBAAI6X,CAAiB3X,GACnB,IAAIC,EAAQO,GAAa,UAAbA,CAAwBR,GAChCG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,uBAAI2X,GAAwB,OAAO9X,KAA2B,oBAAE,CAChE,uBAAI8X,CAAoB5X,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,kBAAI4X,GAAmB,OAAO/X,KAAsB,eAAE,CACtD,kBAAI+X,CAAe7X,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,aAAI6X,GAAc,OAAOhY,KAAiB,UAAE,CAC5C,aAAIgY,CAAU9X,GACZ,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,eAAI+X,GAAgB,OAAOlY,KAAmB,YAAE,CAChD,eAAIkY,CAAYhY,GACd,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,aAAIgY,GAAc,OAAOnY,KAAiB,UAAE,CAC5C,aAAImY,CAAUjY,GACZ,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,iBAAIiY,GAAkB,OAAOpY,KAAqB,cAAE,CACpD,iBAAIoY,CAAclY,GAChB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,WAAIkY,GAAY,OAAOrY,KAAe,QAAE,CACxC,WAAIqY,CAAQnY,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAImY,GAAgB,OAAOtY,KAAmB,YAAE,CAChD,eAAIsY,CAAYpY,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,UAAU,YAAY,SAAS,UAA3CA,CAAsDF,GAC9DG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,QAAIoY,GAAS,OAAOvY,KAAY,KAAE,CAClC,QAAIuY,CAAKrY,GACP,IAAIC,EAAQC,GAAW,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,QAAQ,MAAM,OAAO,OAAO,MAAM,MAAM,IAAI,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,SAAS,WAAW,SAAS,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAArfA,CAA4fF,GACpgBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,kBAAIqY,GAAmB,OAAOxY,KAAsB,eAAE,CACtD,kBAAIwY,CAAetY,GACjB,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,sBAAIsY,GAAuB,OAAOzY,KAA0B,mBAAE,CAC9D,sBAAIyY,CAAmBvY,GACrB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,kBAAIuY,GAAmB,OAAO1Y,KAAsB,eAAE,CACtD,kBAAI0Y,CAAexY,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,cAAIsV,GAAe,OAAOzV,KAAkB,WAAE,CAC9C,cAAIyV,CAAWvV,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,oBAAIyY,GAAqB,OAAO3Y,KAAwB,iBAAE,CAC1D,oBAAI2Y,CAAiBzY,GACnBK,KACAP,KAAwB,kBAAIE,CAC9B,CACA,uBAAI0Y,GAAwB,OAAO5Y,KAA2B,oBAAE,CAChE,uBAAI4Y,CAAoB1Y,GACtBK,KACAP,KAA2B,qBAAIE,CACjC,CACA,UAAIwV,GAAW,OAAO1V,KAAc,OAAE,CACtC,UAAI0V,CAAOxV,GACTK,KACAP,KAAc,QAAIE,CACpB,CACA,YAAIyV,GAAa,OAAO3V,KAAgB,SAAE,CAC1C,YAAI2V,CAASzV,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,YAAI0V,GAAa,OAAO5V,KAAgB,SAAE,CAC1C,YAAI4V,CAAS1V,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,gBAAI2V,GAAiB,OAAO7V,KAAoB,aAAE,CAClD,gBAAI6V,CAAa3V,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,oBAAI4V,GAAqB,OAAO9V,KAAwB,iBAAE,CAC1D,oBAAI8V,CAAiB5V,GACnBK,KACAP,KAAwB,kBAAIE,CAC9B,CACA,gBAAI2Y,GAAiB,OAAO7Y,KAAoB,aAAE,CAClD,gBAAI6Y,CAAa3Y,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,oCAAI4Y,GAAqC,OAAO9Y,KAAwC,iCAAE,CAC1F,oCAAI8Y,CAAiC5Y,GACnC,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACA,iBAAI4Y,GAAkB,OAAO/Y,KAAqB,cAAE,CACpD,iBAAI+Y,CAAc7Y,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,2BAAI6Y,GAA4B,OAAOhZ,KAA+B,wBAAE,CACxE,2BAAIgZ,CAAwB9Y,GAC1B,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,mBAAImU,GAAoB,OAAOtU,KAAuB,gBAAE,CACxD,mBAAIsU,CAAgBpU,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,SAAI8V,GAAU,OAAOhW,KAAa,MAAE,CACpC,SAAIgW,CAAM9V,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,kBAAI+V,GAAmB,OAAOjW,KAAsB,eAAE,CACtD,kBAAIiW,CAAe/V,GACjBK,KACAP,KAAsB,gBAAIE,CAC5B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgP,GAqEd,MApEoB,kBAAVvQ,GAA+B,MAATA,GAC7BuB,EAAIyU,UAAYhW,EAAiB,UACjCuB,EAAI0U,WAAajW,EAAkB,WACnCuB,EAAI2U,SAAWlW,EAAgB,SAC/BuB,EAAI4U,OAASnW,EAAc,OAC3BuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI6U,qBAAuBpW,EAA4B,qBACvDuB,EAAI8U,mBAAoD,MAA/BrW,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAI+U,mBAAqBtW,EAA0B,mBACnDuB,EAAIgV,qBAAuBvW,EAA4B,qBACvDuB,EAAIiV,oBAAsBxW,EAA2B,oBACrDuB,EAAIkV,kBAAoBzW,EAAyB,kBACjDuB,EAAImV,oBAAsB1W,EAA2B,oBACrDuB,EAAIoV,qBAAuB3W,EAA4B,qBACvDuB,EAAIqV,wBAA8D,MAApC5W,EAA+B,wBAAY,KAAOA,EAA+B,wBAC/GuB,EAAImK,YAAc1L,EAAmB,YACrCuB,EAAIoK,MAAQ3L,EAAa,MACzBuB,EAAIqK,kBAAoB5L,EAAyB,kBACjDuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIkK,aAAezL,EAAoB,aACvCuB,EAAIsV,gBAAkB7W,EAAuB,gBAC7CuB,EAAIsK,0BAA4B7L,EAAiC,0BACjEuB,EAAIuK,gBAAkB9L,EAAuB,gBAC7CuB,EAAIuV,SAAW9W,EAAgB,SAC/BuB,EAAIwV,kBAAoBpS,GAAasG,GAAQ5J,SAArBsD,CAA+B3E,EAAyB,mBAChFuB,EAAIyV,mBAAqBhX,EAA0B,mBACnDuB,EAAI0V,qBAAuBjX,EAA4B,qBACvDuB,EAAI2V,mBAAqBlX,EAA0B,mBACnDuB,EAAI4V,qBAAuBnX,EAA4B,qBACvDuB,EAAI6V,mBAAqBpX,EAA0B,mBACnDuB,EAAI8V,oBAAsBrX,EAA2B,oBACrDuB,EAAI+V,kBAAoBtX,EAAyB,kBACjDuB,EAAIgW,YAAcvX,EAAmB,YACrCuB,EAAIiW,cAA0C,MAA1BxX,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIkW,WAAoC,MAAvBzX,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAImW,aAAe1X,EAAoB,aACvCuB,EAAIoW,iBAAmB3X,EAAwB,iBAC/CuB,EAAIqW,oBAAsB5X,EAA2B,oBACrDuB,EAAIsW,eAAiB7X,EAAsB,eAC3CuB,EAAIuW,UAAY9X,EAAiB,UACjCuB,EAAIyW,YAAchY,EAAmB,YACrCuB,EAAI0W,UAAYjY,EAAiB,UACjCuB,EAAI2W,cAAgBlY,EAAqB,cACzCuB,EAAI4W,QAAUnY,EAAe,QAC7BuB,EAAI6W,YAAsC,MAAxBpY,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAI8W,KAAOrY,EAAY,KACvBuB,EAAI+W,eAAiBtY,EAAsB,eAC3CuB,EAAIgX,mBAAqBvY,EAA0B,mBACnDuB,EAAIiX,eAAiBxY,EAAsB,eAC3CuB,EAAIgU,WAAaA,GAAWlU,SAASrB,EAAkB,YACvDuB,EAAIkX,iBAAgD,MAA7BzY,EAAwB,iBAAY,KAAO2E,GAAaoU,GAAgB1X,SAA7BsD,CAAuC3E,EAAwB,kBACjIuB,EAAImX,oBAAsD,MAAhC1Y,EAA2B,oBAAY,KAAO2E,GAAaqU,GAAmB3X,SAAhCsD,CAA0C3E,EAA2B,qBAC7IuB,EAAIiU,OAASA,GAAOnU,SAASrB,EAAc,QAC3CuB,EAAIkU,SAAWA,GAASpU,SAASrB,EAAgB,UACjDuB,EAAImU,SAAWA,GAASrU,SAASrB,EAAgB,UACjDuB,EAAIoU,aAAeA,GAAatU,SAASrB,EAAoB,cAC7DuB,EAAIqU,iBAAmBA,GAAiBvU,SAASrB,EAAwB,kBACzEuB,EAAIoX,aAAe9C,GAAqBxU,SAASrB,EAAoB,cACrEuB,EAAIqX,iCAAmC5Y,EAAwC,iCAC/EuB,EAAIsX,cAAgB7Y,EAAqB,cACzCuB,EAAIuX,wBAA0B9Y,EAA+B,wBAC7DuB,EAAI6S,gBAAkBzP,GAAaqG,GAAc3J,SAA3BsD,CAAqC3E,EAAuB,iBAClFuB,EAAIuU,MAAQA,GAAMzU,SAASrB,EAAa,OACxCuB,EAAIwU,eAAiBA,GAAe1U,SAASrB,EAAsB,iBAEnEzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMsU,GACXhW,cACEC,KAAqB,eAAI,KACzBA,KAAmB,aAAI,GACvBA,KAA8B,wBAAI,GAClCA,KAAmB,aAAI,GACvBA,KAAqB,eAAI,EAC3B,CACA,iBAAImZ,GAAkB,OAAOnZ,KAAqB,cAAE,CACpD,iBAAImZ,CAAcjZ,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CACA,eAAIkZ,GAAgB,OAAOpZ,KAAmB,YAAE,CAChD,eAAIoZ,CAAYlZ,GACd,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,0BAAIkZ,GAA2B,OAAOrZ,KAA8B,uBAAE,CACtE,0BAAIqZ,CAAuBnZ,GACzBK,KACAP,KAA8B,wBAAIE,CACpC,CACA,eAAIoZ,GAAgB,OAAOtZ,KAAmB,YAAE,CAChD,eAAIsZ,CAAYpZ,GACdK,KACAP,KAAmB,aAAIE,CACzB,CACA,iBAAIqZ,GAAkB,OAAOvZ,KAAqB,cAAE,CACpD,iBAAIuZ,CAAcrZ,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsU,GAWd,MAVoB,kBAAV7V,GAA+B,MAATA,GAC7BuB,EAAI0X,cAA0C,MAA1BjZ,EAAqB,cAAY,KAAO2E,GAAanE,GAAa,IAA1BmE,CAA+B3E,EAAqB,eAChHuB,EAAI2X,YAAclZ,EAAmB,YACrCuB,EAAI4X,uBAAyBxU,GAAa2U,GAAsBjY,SAAnCsD,CAA6C3E,EAA8B,wBACxGuB,EAAI6X,YAAczU,GAAasH,GAAK5K,SAAlBsD,CAA4B3E,EAAmB,aACjEuB,EAAI8X,cAAgB1U,GAAa4U,GAA4BlY,SAAzCsD,CAAmD3E,EAAqB,gBAE5FzB,GAAQ,uDAADiD,OAAwDxB,IAElEyB,KACOF,CACT,EAmDK,MAAMoP,GACX9Q,cACEC,KAAY,MAAI,GAChBA,KAAc,QAAI,GAClBA,KAAY,MAAI,GAChBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAiB,WAAI,GACrBA,KAAY,MAAI,GAChBA,KAAuB,iBAAI,GAC3BA,KAA4B,sBAAI,GAChCA,KAAuB,iBAAI,GAC3BA,KAAa,OAAI,GACjBA,KAAa,OAAI,EACnB,CACA,QAAI0Z,GAAS,OAAO1Z,KAAY,KAAE,CAClC,QAAI0Z,CAAKxZ,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,UAAIqP,GAAW,OAAOxP,KAAc,OAAE,CACtC,UAAIwP,CAAOtP,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,QAAIiL,GAAS,OAAOpL,KAAY,KAAE,CAClC,QAAIoL,CAAKlL,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAIgI,GAAQ,OAAOnI,KAAW,IAAE,CAChC,OAAImI,CAAIjI,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,aAAIwZ,GAAc,OAAO3Z,KAAiB,UAAE,CAC5C,aAAI2Z,CAAUzZ,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,QAAIyZ,GAAS,OAAO5Z,KAAY,KAAE,CAClC,QAAI4Z,CAAK1Z,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,mBAAI0Z,GAAoB,OAAO7Z,KAAuB,gBAAE,CACxD,mBAAI6Z,CAAgB3Z,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,wBAAI2Z,GAAyB,OAAO9Z,KAA4B,qBAAE,CAClE,wBAAI8Z,CAAqB5Z,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,mBAAI4Z,GAAoB,OAAO/Z,KAAuB,gBAAE,CACxD,mBAAI+Z,CAAgB7Z,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIoP,GAmBd,MAlBoB,kBAAV3Q,GAA+B,MAATA,GAC7BuB,EAAIiY,KAAOxZ,EAAY,KACvBuB,EAAI+N,OAAStP,EAAc,OAC3BuB,EAAI2J,KAAOlL,EAAY,KACvBuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI0G,IAAMjI,EAAW,IACrBuB,EAAIkY,UAAYzZ,EAAiB,UACjCuB,EAAImY,KAAO1Z,EAAY,KACvBuB,EAAIoY,gBAAkB3Z,EAAuB,gBAC7CuB,EAAIqY,qBAAuB5Z,EAA4B,qBACvDuB,EAAIsY,gBAAkB7Z,EAAuB,gBAC7CuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI2G,MAAQlI,EAAa,OAEzBzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAGK,MAAMuT,GACXjV,cACEC,KAAW,KAAI,GACfA,KAAgB,UAAI,GACpBA,KAAe,SAAI,GACnBA,KAAe,SAAI,GACnBA,KAAmB,aAAI,KACvBA,KAAkB,YAAI,IAAIoQ,GAC1BpQ,KAAoB,eAAI,CAC1B,CACA,OAAIkM,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,YAAIiP,GAAa,OAAOpP,KAAgB,SAAE,CAC1C,YAAIoP,CAASlP,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,WAAIgP,GAAY,OAAOnP,KAAe,QAAE,CACxC,WAAImP,CAAQjP,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,WAAImP,GAAY,OAAOtP,KAAe,QAAE,CACxC,WAAIsP,CAAQpP,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,cAAIiQ,GAAe,OAAOpQ,KAAkB,WAAE,CAC9C,cAAIoQ,CAAWlQ,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,gBAAIqP,GAAiB,OAAOvP,KAAoB,aAAE,CAClD,gBAAIuP,CAAarP,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuT,GAad,MAZoB,kBAAV9U,GAA+B,MAATA,GAC7BuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAI2N,SAAWlP,EAAgB,SAC/BuB,EAAI0N,QAAUjP,EAAe,QAC7BuB,EAAI6N,QAAUpP,EAAe,QAC7BuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAI2O,WAAaA,GAAW7O,SAASrB,EAAkB,YACvDuB,EAAI8N,aAAerP,EAAoB,cAEvCzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAMuY,GACXja,cACEC,KAAkB,YAAI,GACtBA,KAAsB,gBAAI,CAC5B,CACA,cAAIia,GAAe,OAAOja,KAAkB,WAAE,CAC9C,cAAIia,CAAW/Z,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,kBAAI+Z,GAAmB,OAAOla,KAAsB,eAAE,CACtD,kBAAIka,CAAeha,GACjB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuY,GAQd,MAPoB,kBAAV9Z,GAA+B,MAATA,GAC7BuB,EAAIwY,WAAa/Z,EAAkB,WACnCuB,EAAIyY,eAAiBha,EAAsB,gBAE3CzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAGK,MAAMwU,GACXlW,cACEC,KAAgB,WAAI,EACpBA,KAAiB,YAAI,EACrBA,KAAgB,WAAI,EACpBA,KAAkB,aAAI,EACtBA,KAAmB,cAAI,EACvBA,KAAc,SAAI,EAClBA,KAAmB,cAAI,EACvBA,KAAmB,cAAI,EACvBA,KAAqB,gBAAI,EACzBA,KAAgB,WAAI,CACtB,CACA,YAAIma,GAAa,OAAOna,KAAgB,SAAE,CAC1C,YAAIma,CAASja,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,aAAIia,GAAc,OAAOpa,KAAiB,UAAE,CAC5C,aAAIoa,CAAUla,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,YAAI4R,GAAa,OAAO/R,KAAgB,SAAE,CAC1C,YAAI+R,CAAS7R,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,cAAIka,GAAe,OAAOra,KAAkB,WAAE,CAC9C,cAAIqa,CAAWna,GACb,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAIma,GAAgB,OAAOta,KAAmB,YAAE,CAChD,eAAIsa,CAAYpa,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,UAAIoa,GAAW,OAAOva,KAAc,OAAE,CACtC,UAAIua,CAAOra,GACT,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,eAAIqa,GAAgB,OAAOxa,KAAmB,YAAE,CAChD,eAAIwa,CAAYta,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAImZ,GAAgB,OAAOtZ,KAAmB,YAAE,CAChD,eAAIsZ,CAAYpZ,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,iBAAIsa,GAAkB,OAAOza,KAAqB,cAAE,CACpD,iBAAIya,CAAcva,GAChB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,YAAIyV,GAAa,OAAO5V,KAAgB,SAAE,CAC1C,YAAI4V,CAAS1V,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIwU,GAgBd,MAfoB,kBAAV/V,GAA+B,MAATA,GAC7BuB,EAAI0Y,SAAWja,EAAgB,SAC/BuB,EAAI2Y,UAAYla,EAAiB,UACjCuB,EAAIsQ,SAAW7R,EAAgB,SAC/BuB,EAAI4Y,WAAana,EAAkB,WACnCuB,EAAI6Y,YAAcpa,EAAmB,YACrCuB,EAAI8Y,OAASra,EAAc,OAC3BuB,EAAI+Y,YAActa,EAAmB,YACrCuB,EAAI6X,YAAcpZ,EAAmB,YACrCuB,EAAIgZ,cAAgBva,EAAqB,cACzCuB,EAAImU,SAAW1V,EAAgB,UAE/BzB,GAAQ,iDAADiD,OAAkDxB,IAE5DyB,KACOF,CACT,EAGK,MAAMiZ,GACX3a,cACEC,KAAoB,cAAI,GACxBA,KAAoB,cAAI,GACxBA,KAAqB,eAAI,GACzBA,KAAoB,cAAI,GACxBA,KAA0B,oBAAI,EAChC,CACA,gBAAI2a,GAAiB,OAAO3a,KAAoB,aAAE,CAClD,gBAAI2a,CAAaza,GACf,IAAIC,EAAQoV,GAAY,GAAZA,CAAgBrV,GACxBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,gBAAIya,GAAiB,OAAO5a,KAAoB,aAAE,CAClD,gBAAI4a,CAAa1a,GACf,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI0a,GAAkB,OAAO7a,KAAqB,cAAE,CACpD,iBAAI6a,CAAc3a,GAChB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,gBAAI2a,GAAiB,OAAO9a,KAAoB,aAAE,CAClD,gBAAI8a,CAAa5a,GACf,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,sBAAI4a,GAAuB,OAAO/a,KAA0B,mBAAE,CAC9D,sBAAI+a,CAAmB7a,GACrB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIiZ,GAWd,MAVoB,kBAAVxa,GAA+B,MAATA,GAC7BuB,EAAIkZ,aAAeza,EAAoB,aACvCuB,EAAImZ,aAAe1a,EAAoB,aACvCuB,EAAIoZ,cAAgB3a,EAAqB,cACzCuB,EAAIqZ,aAAe5a,EAAoB,aACvCuB,EAAIsZ,mBAAqB7a,EAA0B,oBAEnDzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAGK,MAAMuZ,GACXjb,cACEC,KAAe,SAAI,GACnBA,KAAgB,UAAI,GACpBA,KAAe,SAAI,GACnBA,KAAW,KAAI,EACjB,CACA,WAAIib,GAAY,OAAOjb,KAAe,QAAE,CACxC,WAAIib,CAAQ/a,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,YAAI+a,GAAa,OAAOlb,KAAgB,SAAE,CAC1C,YAAIkb,CAAShb,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,WAAIgP,GAAY,OAAOnP,KAAe,QAAE,CACxC,WAAImP,CAAQjP,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuZ,GAUd,MAToB,kBAAV9a,GAA+B,MAATA,GAC7BuB,EAAIwZ,QAAU/a,EAAe,QAC7BuB,EAAIyZ,SAAWhb,EAAgB,SAC/BuB,EAAI0N,QAAUjP,EAAe,QAC7BuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,uDAADiD,OAAwDxB,IAElEyB,KACOF,CACT,EAGK,MAAMoU,GACX9V,cACEC,KAAkB,YAAI,KACtBA,KAAgB,UAAI,KACpBA,KAAgB,WAAI,EACpBA,KAAiB,YAAI,EACrBA,KAAiB,YAAI,EACrBA,KAAiB,YAAI,EACrBA,KAA2B,qBAAI,KAC/BA,KAAe,SAAI,KACnBA,KAA0B,oBAAI,KAC9BA,KAAqB,eAAI,KACzBA,KAAwB,kBAAI,KAC5BA,KAAyB,mBAAI,KAC7BA,KAAyB,mBAAI,KAC7BA,KAAuB,iBAAI,KAC3BA,KAAuB,iBAAI,KAC3BA,KAA2B,qBAAI,KAC/BA,KAAqB,eAAI,GACzBA,KAAqB,eAAI,KACzBA,KAAuB,iBAAI,KAC3BA,KAAyB,mBAAI,KAC7BA,KAAwB,kBAAI,KAC5BA,KAAuB,iBAAI,IAAIuJ,GAC/BvJ,KAAqB,eAAI,YACzBA,KAAiB,WAAI,WACrBA,KAA2B,qBAAI,IACjC,CACA,cAAImb,GAAe,OAAOnb,KAAkB,WAAE,CAC9C,cAAImb,CAAWjb,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,YAAIib,GAAa,OAAOpb,KAAgB,SAAE,CAC1C,YAAIob,CAASlb,GACX,GAAY,MAATA,EAAe,CAChB,GAAwB,MAArBF,KAAgB,UAAa,OAGhC,OAFAO,UACAP,KAAgB,UAAI,KAEtB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACF,CACA,YAAIkb,GAAa,OAAOrb,KAAgB,SAAE,CAC1C,YAAIqb,CAASnb,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,aAAImb,GAAc,OAAOtb,KAAiB,UAAE,CAC5C,aAAIsb,CAAUpb,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,aAAIob,GAAc,OAAOvb,KAAiB,UAAE,CAC5C,aAAIub,CAAUrb,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,aAAIqb,GAAc,OAAOxb,KAAiB,UAAE,CAC5C,aAAIwb,CAAUtb,GACZ,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,uBAAIsb,GAAwB,OAAOzb,KAA2B,oBAAE,CAChE,uBAAIyb,CAAoBvb,GACtB,GAAY,MAATA,EAAe,CAChB,GAAmC,MAAhCF,KAA2B,qBAAa,OAG3C,OAFAO,UACAP,KAA2B,qBAAI,KAEjC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACF,CACA,WAAIub,GAAY,OAAO1b,KAAe,QAAE,CACxC,WAAI0b,CAAQxb,GACV,GAAY,MAATA,EAAe,CAChB,GAAuB,MAApBF,KAAe,SAAa,OAG/B,OAFAO,UACAP,KAAe,SAAI,KAErB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACF,CACA,sBAAIwb,GAAuB,OAAO3b,KAA0B,mBAAE,CAC9D,sBAAI2b,CAAmBzb,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,iBAAIyb,GAAkB,OAAO5b,KAAqB,cAAE,CACpD,iBAAI4b,CAAc1b,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,oBAAI0b,GAAqB,OAAO7b,KAAwB,iBAAE,CAC1D,oBAAI6b,CAAiB3b,GACnB,GAAY,MAATA,EAAe,CAChB,GAAgC,MAA7BF,KAAwB,kBAAa,OAGxC,OAFAO,UACAP,KAAwB,kBAAI,KAE9B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACF,CACA,qBAAI2b,GAAsB,OAAO9b,KAAyB,kBAAE,CAC5D,qBAAI8b,CAAkB5b,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,qBAAI4b,GAAsB,OAAO/b,KAAyB,kBAAE,CAC5D,qBAAI+b,CAAkB7b,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,mBAAI6b,GAAoB,OAAOhc,KAAuB,gBAAE,CACxD,mBAAIgc,CAAgB9b,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,mBAAI8b,GAAoB,OAAOjc,KAAuB,gBAAE,CACxD,mBAAIic,CAAgB/b,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,uBAAI+b,GAAwB,OAAOlc,KAA2B,oBAAE,CAChE,uBAAIkc,CAAoBhc,GACtB,GAAY,MAATA,EAAe,CAChB,GAAmC,MAAhCF,KAA2B,qBAAa,OAG3C,OAFAO,UACAP,KAA2B,qBAAI,KAEjC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACF,CACA,iBAAIgc,GAAkB,OAAOnc,KAAqB,cAAE,CACpD,iBAAImc,CAAcjc,GAChB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,iBAAIic,GAAkB,OAAOpc,KAAqB,cAAE,CACpD,iBAAIoc,CAAclc,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,mBAAIkc,GAAoB,OAAOrc,KAAuB,gBAAE,CACxD,mBAAIqc,CAAgBnc,GAClB,GAAY,MAATA,EAAe,CAChB,GAA+B,MAA5BF,KAAuB,iBAAa,OAGvC,OAFAO,UACAP,KAAuB,iBAAI,KAE7B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACF,CACA,qBAAImc,GAAsB,OAAOtc,KAAyB,kBAAE,CAC5D,qBAAIsc,CAAkBpc,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,oBAAIoc,GAAqB,OAAOvc,KAAwB,iBAAE,CAC1D,oBAAIuc,CAAiBrc,GACnB,GAAY,MAATA,EAAe,CAChB,GAAgC,MAA7BF,KAAwB,kBAAa,OAGxC,OAFAO,UACAP,KAAwB,kBAAI,KAE9B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACF,CACA,mBAAIqc,GAAoB,OAAOxc,KAAuB,gBAAE,CACxD,mBAAIwc,CAAgBtc,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,iBAAIuc,GAAkB,OAAOzc,KAAqB,cAAE,CACpD,iBAAIyc,CAAcvc,GAChB,IAAIC,EAAQC,GAAW,CAAC,YAAY,aAAa,aAAa,YAAY,SAAS,YAAvEA,CAAoFF,GAC5FG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,aAAIuc,GAAc,OAAO1c,KAAiB,UAAE,CAC5C,aAAI0c,CAAUxc,GACZ,IAAIC,EAAQC,GAAW,CAAC,WAAW,kBAAkB,kBAAkB,WAA3DA,CAAuEF,GAC/EG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,uBAAIwc,GAAwB,OAAO3c,KAA2B,oBAAE,CAChE,uBAAI2c,CAAoBzc,GACtB,GAAY,MAATA,EAAe,CAChB,GAAmC,MAAhCF,KAA2B,qBAAa,OAG3C,OAFAO,UACAP,KAA2B,qBAAI,KAEjC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,KAAK,OAAO,KAAxBA,CAA8BF,GACtCG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIoU,GA+Bd,MA9BoB,kBAAV3V,GAA+B,MAATA,GAC7BuB,EAAI0Z,WAAoC,MAAvBjb,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAI2Z,SAAgC,MAArBlb,EAAgB,SAAY,KAAOA,EAAgB,SAClEuB,EAAI4Z,SAAWnb,EAAgB,SAC/BuB,EAAI6Z,UAAYpb,EAAiB,UACjCuB,EAAI8Z,UAAYrb,EAAiB,UACjCuB,EAAI+Z,UAAYtb,EAAiB,UACjCuB,EAAIga,oBAAsD,MAAhCvb,EAA2B,oBAAY,KAAOA,EAA2B,oBACnGuB,EAAIia,QAA8B,MAApBxb,EAAe,QAAY,KAAOA,EAAe,QAC/DuB,EAAIka,mBAAoD,MAA/Bzb,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAIma,cAA0C,MAA1B1b,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIoa,iBAAgD,MAA7B3b,EAAwB,iBAAY,KAAOA,EAAwB,iBAC1FuB,EAAIqa,kBAAkD,MAA9B5b,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAIsa,kBAAkD,MAA9B7b,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAIua,gBAA8C,MAA5B9b,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAIwa,gBAA8C,MAA5B/b,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAIya,oBAAsD,MAAhChc,EAA2B,oBAAY,KAAOA,EAA2B,oBACnGuB,EAAI0a,cAAgBjc,EAAqB,cACzCuB,EAAI2a,cAA0C,MAA1Blc,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAI4a,gBAA8C,MAA5Bnc,EAAuB,gBAAY,KAAOA,EAAuB,gBACvFuB,EAAI6a,kBAAkD,MAA9Bpc,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAI8a,iBAAgD,MAA7Brc,EAAwB,iBAAY,KAAOA,EAAwB,iBAC1FuB,EAAI+a,gBAAkBjT,GAAgBhI,SAASrB,EAAuB,iBACtEuB,EAAIgb,cAAgBvc,EAAqB,cACzCuB,EAAIib,UAAYxc,EAAiB,UACjCuB,EAAIkb,oBAAsD,MAAhCzc,EAA2B,oBAAY,KAAOA,EAA2B,qBAEnGzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAGK,MAAMmb,GACX7c,cACEC,KAAmB,aAAI,UACvBA,KAAwB,kBAAI,GAC5BA,KAAY,MAAI,GAChBA,KAAuB,iBAAI,UAC3BA,KAAgB,UAAI,GACpBA,KAAsB,gBAAI,UAC1BA,KAAe,SAAI,GACnBA,KAA0B,oBAAI,UAC9BA,KAAmB,aAAI,GACvBA,KAAuB,iBAAI,UAC3BA,KAAgB,UAAI,GACpBA,KAAoB,cAAI,UACxBA,KAAa,OAAI,EACnB,CACA,eAAI6c,GAAgB,OAAO7c,KAAmB,YAAE,CAChD,eAAI6c,CAAY3c,GACd,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,oBAAI2c,GAAqB,OAAO9c,KAAwB,iBAAE,CAC1D,oBAAI8c,CAAiB5c,GACnB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,QAAI4c,GAAS,OAAO/c,KAAY,KAAE,CAClC,QAAI+c,CAAK7c,GACP,IAAIC,EAAQ6c,GAAa,GAAbA,CAAiB9c,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,mBAAI8c,GAAoB,OAAOjd,KAAuB,gBAAE,CACxD,mBAAIid,CAAgB/c,GAClB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,YAAI+c,GAAa,OAAOld,KAAgB,SAAE,CAC1C,YAAIkd,CAAShd,GACX,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,kBAAIgd,GAAmB,OAAOnd,KAAsB,eAAE,CACtD,kBAAImd,CAAejd,GACjB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,WAAIid,GAAY,OAAOpd,KAAe,QAAE,CACxC,WAAIod,CAAQld,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,sBAAIkd,GAAuB,OAAOrd,KAA0B,mBAAE,CAC9D,sBAAIqd,CAAmBnd,GACrB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,eAAImd,GAAgB,OAAOtd,KAAmB,YAAE,CAChD,eAAIsd,CAAYpd,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,mBAAIod,GAAoB,OAAOvd,KAAuB,gBAAE,CACxD,mBAAIud,CAAgBrd,GAClB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,YAAIqd,GAAa,OAAOxd,KAAgB,SAAE,CAC1C,YAAIwd,CAAStd,GACX,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,gBAAIsd,GAAiB,OAAOzd,KAAoB,aAAE,CAClD,gBAAIyd,CAAavd,GACf,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,SAAI0I,GAAU,OAAO7I,KAAa,MAAE,CACpC,SAAI6I,CAAM3I,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAImb,GAmBd,MAlBoB,kBAAV1c,GAA+B,MAATA,GAC7BuB,EAAIob,YAAc3c,EAAmB,YACrCuB,EAAIqb,iBAAmB5c,EAAwB,iBAC/CuB,EAAIsb,KAAO7c,EAAY,KACvBuB,EAAIwb,gBAAkB/c,EAAuB,gBAC7CuB,EAAIyb,SAAWhd,EAAgB,SAC/BuB,EAAI0b,eAAiBjd,EAAsB,eAC3CuB,EAAI2b,QAAUld,EAAe,QAC7BuB,EAAI4b,mBAAqBnd,EAA0B,mBACnDuB,EAAI6b,YAAcpd,EAAmB,YACrCuB,EAAI8b,gBAAkBrd,EAAuB,gBAC7CuB,EAAI+b,SAAWtd,EAAgB,SAC/BuB,EAAIgc,aAAevd,EAAoB,aACvCuB,EAAIoH,MAAQ3I,EAAa,OAEzBzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAMqU,GACX/V,cACEC,KAAiB,WAAI,KACrBA,KAAgB,UAAI,IAAIyI,GACxBzI,KAAY,MAAI,IAAI6M,GACpB7M,KAAW,KAAI,IACjB,CACA,aAAI0d,GAAc,OAAO1d,KAAiB,UAAE,CAC5C,aAAI0d,CAAUxd,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,WAAW,WAAW,eAAe,WAAjDA,CAA6DF,GACrEG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CACA,YAAIwd,GAAa,OAAO3d,KAAgB,SAAE,CAC1C,YAAI2d,CAASzd,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,QAAI0d,GAAS,OAAO5d,KAAY,KAAE,CAClC,QAAI4d,CAAK1d,GACPK,KACAP,KAAY,MAAIE,CAClB,CACA,OAAI2d,GAAQ,OAAO7d,KAAW,IAAE,CAChC,OAAI6d,CAAI3d,GACN,GAAY,MAATA,EAAe,CAChB,GAAmB,MAAhBF,KAAW,KAAa,OAG3B,OAFAO,UACAP,KAAW,KAAI,KAEjB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,WAAW,OAAO,SAAS,SAAS,WAAhDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIqU,GAUd,MAToB,kBAAV5V,GAA+B,MAATA,GAC7BuB,EAAIic,UAAkC,MAAtBxd,EAAiB,UAAY,KAAOA,EAAiB,UACrEuB,EAAIkc,SAAWlV,GAASlH,SAASrB,EAAgB,UACjDuB,EAAImc,KAAO/Q,GAAKtL,SAASrB,EAAY,MACrCuB,EAAIoc,IAAsB,MAAhB3d,EAAW,IAAY,KAAOA,EAAW,KAEnDzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAM2R,GACXrT,cACEC,KAAoB,eAAI,EACxBA,KAAgB,UAAI,GACpBA,KAA4C,uCAAI,EAChDA,KAAoB,cAAI,GACxBA,KAAqB,eAAI,GACzBA,KAAa,OAAI,GACjBA,KAAa,OAAI,GACjBA,KAAsC,gCAAI,GAC1CA,KAA8B,wBAAI,GAClCA,KAA4B,sBAAI,GAChCA,KAA4B,sBAAI,GAChCA,KAAwB,kBAAI,GAC5BA,KAAyB,mBAAI,GAC7BA,KAAuB,iBAAI,GAC3BA,KAAiC,2BAAI,GACrCA,KAA+B,yBAAI,EACrC,CACA,gBAAI8d,GAAiB,OAAO9d,KAAoB,aAAE,CAClD,gBAAI8d,CAAa5d,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,YAAI4d,GAAa,OAAO/d,KAAgB,SAAE,CAC1C,YAAI+d,CAAS7d,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,wCAAI6d,GAAyC,OAAOhe,KAA4C,qCAAE,CAClG,wCAAIge,CAAqC9d,GACvC,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA4C,yCAC9DO,KACAP,KAA4C,sCAAIG,EAEpD,CACA,gBAAI8d,GAAiB,OAAOje,KAAoB,aAAE,CAClD,gBAAIie,CAAa/d,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI+d,GAAkB,OAAOle,KAAqB,cAAE,CACpD,iBAAIke,CAAche,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,kCAAIge,GAAmC,OAAOne,KAAsC,+BAAE,CACtF,kCAAIme,CAA+Bje,GACjC,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsC,mCACxDO,KACAP,KAAsC,gCAAIG,EAE9C,CACA,0BAAIie,GAA2B,OAAOpe,KAA8B,uBAAE,CACtE,0BAAIoe,CAAuBle,GACzB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,wBAAIke,GAAyB,OAAOre,KAA4B,qBAAE,CAClE,wBAAIqe,CAAqBne,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,wBAAIme,GAAyB,OAAOte,KAA4B,qBAAE,CAClE,wBAAIse,CAAqBpe,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,oBAAIoe,GAAqB,OAAOve,KAAwB,iBAAE,CAC1D,oBAAIue,CAAiBre,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,qBAAIqe,GAAsB,OAAOxe,KAAyB,kBAAE,CAC5D,qBAAIwe,CAAkBte,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,mBAAIse,GAAoB,OAAOze,KAAuB,gBAAE,CACxD,mBAAIye,CAAgBve,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,6BAAIue,GAA8B,OAAO1e,KAAiC,0BAAE,CAC5E,6BAAI0e,CAA0Bxe,GAC5B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,2BAAIwe,GAA4B,OAAO3e,KAA+B,wBAAE,CACxE,2BAAI2e,CAAwBze,GAC1B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI2R,GAsBd,MArBoB,kBAAVlT,GAA+B,MAATA,GAC7BuB,EAAIqc,aAAe5d,EAAoB,aACvCuB,EAAIsc,SAAW7d,EAAgB,SAC/BuB,EAAIuc,qCAAuC9d,EAA4C,qCACvFuB,EAAIwc,aAAe/d,EAAoB,aACvCuB,EAAIyc,cAAgBhe,EAAqB,cACzCuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI2G,MAAQlI,EAAa,MACzBuB,EAAI0c,+BAAiCje,EAAsC,+BAC3EuB,EAAI2c,uBAAyBle,EAA8B,uBAC3DuB,EAAI4c,qBAAuBne,EAA4B,qBACvDuB,EAAI6c,qBAAuBpe,EAA4B,qBACvDuB,EAAI8c,iBAAmBre,EAAwB,iBAC/CuB,EAAI+c,kBAAoBte,EAAyB,kBACjDuB,EAAIgd,gBAAkBve,EAAuB,gBAC7CuB,EAAIid,0BAA4Bxe,EAAiC,0BACjEuB,EAAIkd,wBAA0Bze,EAA+B,yBAE7DzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EAGK,MAAMkU,GACX5V,cACEC,KAAmB,aAAI,GACvBA,KAAyB,mBAAI,UAC7BA,KAA4B,sBAAI,GAChCA,KAAkC,4BAAI,UACtCA,KAA6B,uBAAI,GACjCA,KAAmC,6BAAI,UACvCA,KAA8B,wBAAI,GAClCA,KAAoC,8BAAI,UACxCA,KAA8B,wBAAI,GAClCA,KAAoC,8BAAI,UACxCA,KAAmB,aAAI,GACvBA,KAAyB,mBAAI,UAC7BA,KAAgC,0BAAI,GACpCA,KAAsC,gCAAI,UAC1CA,KAAoB,cAAI,GACxBA,KAA0B,oBAAI,SAChC,CACA,eAAI4e,GAAgB,OAAO5e,KAAmB,YAAE,CAChD,eAAI4e,CAAY1e,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,qBAAI0e,GAAsB,OAAO7e,KAAyB,kBAAE,CAC5D,qBAAI6e,CAAkB3e,GACpB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,wBAAI2e,GAAyB,OAAO9e,KAA4B,qBAAE,CAClE,wBAAI8e,CAAqB5e,GACvB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,8BAAI4e,GAA+B,OAAO/e,KAAkC,2BAAE,CAC9E,8BAAI+e,CAA2B7e,GAC7B,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAkC,+BACpDO,KACAP,KAAkC,4BAAIG,EAE1C,CACA,yBAAI6e,GAA0B,OAAOhf,KAA6B,sBAAE,CACpE,yBAAIgf,CAAsB9e,GACxB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,+BAAI8e,GAAgC,OAAOjf,KAAmC,4BAAE,CAChF,+BAAIif,CAA4B/e,GAC9B,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAmC,gCACrDO,KACAP,KAAmC,6BAAIG,EAE3C,CACA,0BAAI+e,GAA2B,OAAOlf,KAA8B,uBAAE,CACtE,0BAAIkf,CAAuBhf,GACzB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,gCAAIgf,GAAiC,OAAOnf,KAAoC,6BAAE,CAClF,gCAAImf,CAA6Bjf,GAC/B,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAoC,iCACtDO,KACAP,KAAoC,8BAAIG,EAE5C,CACA,0BAAIif,GAA2B,OAAOpf,KAA8B,uBAAE,CACtE,0BAAIof,CAAuBlf,GACzB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,gCAAIkf,GAAiC,OAAOrf,KAAoC,6BAAE,CAClF,gCAAIqf,CAA6Bnf,GAC/B,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAoC,iCACtDO,KACAP,KAAoC,8BAAIG,EAE5C,CACA,eAAImf,GAAgB,OAAOtf,KAAmB,YAAE,CAChD,eAAIsf,CAAYpf,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,qBAAIof,GAAsB,OAAOvf,KAAyB,kBAAE,CAC5D,qBAAIuf,CAAkBrf,GACpB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,4BAAIqf,GAA6B,OAAOxf,KAAgC,yBAAE,CAC1E,4BAAIwf,CAAyBtf,GAC3B,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACA,kCAAIsf,GAAmC,OAAOzf,KAAsC,+BAAE,CACtF,kCAAIyf,CAA+Bvf,GACjC,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAsC,mCACxDO,KACAP,KAAsC,gCAAIG,EAE9C,CACA,gBAAIuf,GAAiB,OAAO1f,KAAoB,aAAE,CAClD,gBAAI0f,CAAaxf,GACf,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,sBAAIwf,GAAuB,OAAO3f,KAA0B,mBAAE,CAC9D,sBAAI2f,CAAmBzf,GACrB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIkU,GAsBd,MArBoB,kBAAVzV,GAA+B,MAATA,GAC7BuB,EAAImd,YAAc1e,EAAmB,YACrCuB,EAAIod,kBAAoB3e,EAAyB,kBACjDuB,EAAIqd,qBAAuB5e,EAA4B,qBACvDuB,EAAIsd,2BAA6B7e,EAAkC,2BACnEuB,EAAIud,sBAAwB9e,EAA6B,sBACzDuB,EAAIwd,4BAA8B/e,EAAmC,4BACrEuB,EAAIyd,uBAAyBhf,EAA8B,uBAC3DuB,EAAI0d,6BAA+Bjf,EAAoC,6BACvEuB,EAAI2d,uBAAyBlf,EAA8B,uBAC3DuB,EAAI4d,6BAA+Bnf,EAAoC,6BACvEuB,EAAI6d,YAAcpf,EAAmB,YACrCuB,EAAI8d,kBAAoBrf,EAAyB,kBACjDuB,EAAI+d,yBAA2Btf,EAAgC,yBAC/DuB,EAAIge,+BAAiCvf,EAAsC,+BAC3EuB,EAAIie,aAAexf,EAAoB,aACvCuB,EAAIke,mBAAqBzf,EAA0B,oBAEnDzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMsD,GACXhF,cACEC,KAA0B,oBAAI,GAC9BA,KAAuB,iBAAI,GAC3BA,KAAkC,4BAAI,EACtCA,KAAmB,aAAI,EACvBA,KAAkB,YAAI,GACtBA,KAAgB,UAAI,GACpBA,KAAsC,gCAAI,GAC1CA,KAA4B,sBAAI,EAChCA,KAAmB,aAAI,EACvBA,KAAe,SAAI,EACnBA,KAAwB,kBAAI,EAC5BA,KAAsB,gBAAI,EAC1BA,KAA+B,yBAAI,CACrC,CACA,sBAAI4f,GAAuB,OAAO5f,KAA0B,mBAAE,CAC9D,sBAAI4f,CAAmB1f,GACrBK,KACAP,KAA0B,oBAAIE,CAChC,CACA,mBAAI2f,GAAoB,OAAO7f,KAAuB,gBAAE,CACxD,mBAAI6f,CAAgB3f,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,8BAAI4f,GAA+B,OAAO9f,KAAkC,2BAAE,CAC9E,8BAAI8f,CAA2B5f,GAC7B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAkC,+BACpDO,KACAP,KAAkC,4BAAIG,EAE1C,CACA,eAAI4f,GAAgB,OAAO/f,KAAmB,YAAE,CAChD,eAAI+f,CAAY7f,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,cAAI6f,GAAe,OAAOhgB,KAAkB,WAAE,CAC9C,cAAIggB,CAAW9f,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,YAAI+f,GAAa,OAAOjgB,KAAgB,SAAE,CAC1C,YAAIigB,CAAS/f,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,kCAAIggB,GAAmC,OAAOlgB,KAAsC,+BAAE,CACtF,kCAAIkgB,CAA+BhgB,GACjCK,KACAP,KAAsC,gCAAIE,CAC5C,CACA,wBAAIigB,GAAyB,OAAOngB,KAA4B,qBAAE,CAClE,wBAAImgB,CAAqBjgB,GACvB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,eAAIwD,GAAgB,OAAO3D,KAAmB,YAAE,CAChD,eAAI2D,CAAYzD,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,WAAIwS,GAAY,OAAO3S,KAAe,QAAE,CACxC,WAAI2S,CAAQzS,GACV,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,oBAAIigB,GAAqB,OAAOpgB,KAAwB,iBAAE,CAC1D,oBAAIogB,CAAiBlgB,GACnB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,kBAAIkgB,GAAmB,OAAOrgB,KAAsB,eAAE,CACtD,kBAAIqgB,CAAengB,GACjB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,2BAAImgB,GAA4B,OAAOtgB,KAA+B,wBAAE,CACxE,2BAAIsgB,CAAwBpgB,GAC1B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsD,GAmBd,MAlBoB,kBAAV7E,GAA+B,MAATA,GAC7BuB,EAAIme,mBAAqB/a,GAAa0b,GAAQhf,SAArBsD,CAA+B3E,EAA0B,oBAClFuB,EAAIoe,gBAAkBhb,GAAa0b,GAAQhf,SAArBsD,CAA+B3E,EAAuB,iBAC5EuB,EAAIqe,2BAA6B5f,EAAkC,2BACnEuB,EAAIse,YAAc7f,EAAmB,YACrCuB,EAAIue,WAAanb,GAAamV,GAAOzY,SAApBsD,CAA8B3E,EAAkB,YACjEuB,EAAIwe,SAAWpb,GAAa2b,GAAQjf,SAArBsD,CAA+B3E,EAAgB,UAC9DuB,EAAIye,+BAAiCrb,GAAa2b,GAAQjf,SAArBsD,CAA+B3E,EAAsC,gCAC1GuB,EAAI0e,qBAAuBjgB,EAA4B,qBACvDuB,EAAIkC,YAAczD,EAAmB,YACrCuB,EAAIkR,QAAUzS,EAAe,QAC7BuB,EAAI2e,iBAAmBlgB,EAAwB,iBAC/CuB,EAAI4e,eAAiBngB,EAAsB,eAC3CuB,EAAI6e,wBAA0BpgB,EAA+B,yBAE7DzB,GAAQ,uCAADiD,OAAwCxB,IAElDyB,KACOF,CACT,EA2FK,MAAMmU,GACX7V,cACEC,KAAe,SAAI,IACrB,CACA,WAAI+P,GAAY,OAAO/P,KAAe,QAAE,CACxC,WAAI+P,CAAQ7P,GACVK,KACAP,KAAe,SAAIE,CACrB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAImU,GAOd,MANoB,kBAAV1V,GAA+B,MAATA,EAC7BuB,EAAIsO,QAA8B,MAApB7P,EAAe,QAAY,KAAO2E,GAAakL,GAAQxO,SAArBsD,CAA+B3E,EAAe,SAE9FzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMwT,GACXlV,cACEC,KAAiB,WAAI,OACrBA,KAAiB,WAAI,KACrBA,KAAyB,mBAAI,GAC7BA,KAAc,QAAI,QAClBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAmB,aAAI,IACzB,CACA,aAAIygB,GAAc,OAAOzgB,KAAiB,UAAE,CAC5C,aAAIygB,CAAUvgB,GACZ,IAAIC,EAAQC,GAAW,CAAC,OAAO,yBAAyB,aAAa,kCAAkC,kBAAkB,aAAa,uBAAuB,QAAQ,+BAA+B,gBAAgB,kBAAkB,aAAa,QAAQ,6CAA6C,uCAAuC,0BAA0B,4BAA4B,iBAAiB,iBAAiB,QAAQ,eAAe,gBAAgB,OAAlcA,CAA0cF,GACldG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,aAAIugB,GAAc,OAAO1gB,KAAiB,UAAE,CAC5C,aAAI0gB,CAAUxgB,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CACA,qBAAIwgB,GAAsB,OAAO3gB,KAAyB,kBAAE,CAC5D,qBAAI2gB,CAAkBzgB,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,UAAIygB,GAAW,OAAO5gB,KAAc,OAAE,CACtC,UAAI4gB,CAAO1gB,GACT,IAAIC,EAAQC,GAAW,CAAC,qBAAqB,WAAW,gBAAgB,cAAc,WAAW,qBAAqB,cAAc,mBAAmB,SAAS,SAAS,QAA7JA,CAAsKF,GAC9KG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAIqV,GAAU,OAAOxV,KAAa,MAAE,CACpC,SAAIwV,CAAMtV,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIwT,GAad,MAZoB,kBAAV/U,GAA+B,MAATA,GAC7BuB,EAAIgf,UAAYvgB,EAAiB,UACjCuB,EAAIif,UAAkC,MAAtBxgB,EAAiB,UAAY,KAAOA,EAAiB,UACrEuB,EAAIkf,kBAAoBzgB,EAAyB,kBACjDuB,EAAImf,OAAS1gB,EAAc,OAC3BuB,EAAI+T,MAAQtV,EAAa,MACzBuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,aAE3EzB,GAAQ,uCAADiD,OAAwCxB,IAElDyB,KACOF,CACT,EAGK,MAAMiU,GACX3V,cACEC,KAAoB,cAAI,KACxBA,KAAwB,kBAAI,SAC5BA,KAAiB,WAAI,GACrBA,KAAwB,kBAAI,UAC5BA,KAAiB,WAAI,IACrBA,KAA0B,oBAAI,UAC9BA,KAAmB,aAAI,IACzB,CACA,gBAAI6gB,GAAiB,OAAO7gB,KAAoB,aAAE,CAClD,gBAAI6gB,CAAa3gB,GACf,GAAY,MAATA,EAAe,CAChB,GAA4B,MAAzBF,KAAoB,cAAa,OAGpC,OAFAO,UACAP,KAAoB,cAAI,KAE1B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACF,CACA,oBAAI2gB,GAAqB,OAAO9gB,KAAwB,iBAAE,CAC1D,oBAAI8gB,CAAiB5gB,GACnB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,SAAjDA,CAA2DF,GACnEG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,aAAI4gB,GAAc,OAAO/gB,KAAiB,UAAE,CAC5C,aAAI+gB,CAAU7gB,GACZ,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,oBAAI6gB,GAAqB,OAAOhhB,KAAwB,iBAAE,CAC1D,oBAAIghB,CAAiB9gB,GACnB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,aAAI8gB,GAAc,OAAOjhB,KAAiB,UAAE,CAC5C,aAAIihB,CAAU/gB,GACZ,IAAIC,EAAQU,GAAc,IAAdA,CAAmBX,GAC3BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,sBAAI+gB,GAAuB,OAAOlhB,KAA0B,mBAAE,CAC9D,sBAAIkhB,CAAmBhhB,GACrB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,eAAIma,GAAgB,OAAOta,KAAmB,YAAE,CAChD,eAAIsa,CAAYpa,GACdK,KACAP,KAAmB,aAAIE,CACzB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIiU,GAad,MAZoB,kBAAVxV,GAA+B,MAATA,GAC7BuB,EAAIof,aAAwC,MAAzB3gB,EAAoB,aAAY,KAAOA,EAAoB,aAC9EuB,EAAIqf,iBAAmB5gB,EAAwB,iBAC/CuB,EAAIsf,UAAY7gB,EAAiB,UACjCuB,EAAIuf,iBAAmB9gB,EAAwB,iBAC/CuB,EAAIwf,UAAY/gB,EAAiB,UACjCuB,EAAIyf,mBAAqBhhB,EAA0B,mBACnDuB,EAAI6Y,YAAsC,MAAxBpa,EAAmB,YAAY,KAAO2E,GAAayV,GAAY/Y,SAAzBsD,CAAmC3E,EAAmB,cAE9GzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAGK,MAAM2T,GACXrV,cACEC,KAAc,QAAI,GAClBA,KAAgB,UAAI,GACpBA,KAAiB,WAAI,GACrBA,KAAW,KAAI,GACfA,KAAmB,aAAI,IACzB,CACA,UAAImhB,GAAW,OAAOnhB,KAAc,OAAE,CACtC,UAAImhB,CAAOjhB,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,YAAIihB,GAAa,OAAOphB,KAAgB,SAAE,CAC1C,YAAIohB,CAASlhB,GACX,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,aAAIkhB,GAAc,OAAOrhB,KAAiB,UAAE,CAC5C,aAAIqhB,CAAUnhB,GACZ,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI2T,GAWd,MAVoB,kBAAVlV,GAA+B,MAATA,GAC7BuB,EAAI0f,OAASjhB,EAAc,OAC3BuB,EAAI2f,SAAWlhB,EAAgB,SAC/BuB,EAAI4f,UAAYnhB,EAAiB,UACjCuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,aAE3EzB,GAAQ,4CAADiD,OAA6CxB,IAEvDyB,KACOF,CACT,EAGK,MAAM6f,GACXvhB,cACEC,KAAY,MAAI,EAChBA,KAAW,KAAI,EACfA,KAAwB,mBAAI,EAC5BA,KAA+B,0BAAI,EACnCA,KAAyB,oBAAI,CAC/B,CACA,QAAIuhB,GAAS,OAAOvhB,KAAY,KAAE,CAClC,QAAIuhB,CAAKrhB,GACP,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,OAAIqhB,GAAQ,OAAOxhB,KAAW,IAAE,CAChC,OAAIwhB,CAAIthB,GACN,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,oBAAIshB,GAAqB,OAAOzhB,KAAwB,iBAAE,CAC1D,oBAAIyhB,CAAiBvhB,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,2BAAIuhB,GAA4B,OAAO1hB,KAA+B,wBAAE,CACxE,2BAAI0hB,CAAwBxhB,GAC1B,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,qBAAIwhB,GAAsB,OAAO3hB,KAAyB,kBAAE,CAC5D,qBAAI2hB,CAAkBzhB,GACpB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6f,GAWd,MAVoB,kBAAVphB,GAA+B,MAATA,GAC7BuB,EAAI8f,KAAOrhB,EAAY,KACvBuB,EAAI+f,IAAMthB,EAAW,IACrBuB,EAAIggB,iBAAmBvhB,EAAwB,iBAC/CuB,EAAIigB,wBAA0BxhB,EAA+B,wBAC7DuB,EAAIkgB,kBAAoBzhB,EAAyB,mBAEjDzB,GAAQ,gDAADiD,OAAiDxB,IAE3DyB,KACOF,CACT,EAGK,MAAM6H,GACXvJ,cACEC,KAAY,MAAI,GAChBA,KAAiB,WAAI,EACrBA,KAAuB,iBAAI,GAC3BA,KAA4B,sBAAI,EAChCA,KAAa,OAAI,GACjBA,KAAa,OAAI,EACnB,CACA,QAAI0Z,GAAS,OAAO1Z,KAAY,KAAE,CAClC,QAAI0Z,CAAKxZ,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,aAAIwZ,GAAc,OAAO3Z,KAAiB,UAAE,CAC5C,aAAI2Z,CAAUzZ,GACZ,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,mBAAI0Z,GAAoB,OAAO7Z,KAAuB,gBAAE,CACxD,mBAAI6Z,CAAgB3Z,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,wBAAI2Z,GAAyB,OAAO9Z,KAA4B,qBAAE,CAClE,wBAAI8Z,CAAqB5Z,GACvB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6H,GAYd,MAXoB,kBAAVpJ,GAA+B,MAATA,GAC7BuB,EAAIiY,KAAOxZ,EAAY,KACvBuB,EAAIkY,UAAYzZ,EAAiB,UACjCuB,EAAIoY,gBAAkB3Z,EAAuB,gBAC7CuB,EAAIqY,qBAAuB5Z,EAA4B,qBACvDuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAI2G,MAAQlI,EAAa,OAEzBzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAmCK,MAAM0K,GACXpM,cACEC,KAAkB,YAAI,GACtBA,KAAY,MAAI,GAChBA,KAAe,SAAI,GACnBA,KAAqB,eAAI,GACzBA,KAAsB,gBAAI,GAC1BA,KAAgC,2BAAI,EACpCA,KAAwB,kBAAI,GAC5BA,KAAmB,aAAI,GACvBA,KAAuB,iBAAI,GAC3BA,KAA2B,qBAAI,KAC/BA,KAAyB,mBAAI,KAC7BA,KAAsB,gBAAI,KAC1BA,KAAkC,4BAAI,KACtCA,KAA2C,qCAAI,KAC/CA,KAAwC,kCAAI,KAC5CA,KAAgC,0BAAI,KACpCA,KAA2C,qCAAI,KAC/CA,KAAkB,YAAI,GACtBA,KAA6B,uBAAI,GACjCA,KAA2B,qBAAI,GAC/BA,KAAe,SAAI,GACnBA,KAA0B,oBAAI,KAC9BA,KAA2B,qBAAI,KAC/BA,KAAkB,YAAI,KACtBA,KAAiB,WAAI,KACrBA,KAAqB,eAAI,KACzBA,KAAY,MAAI,GAChBA,KAAkB,YAAI,OACtBA,KAAmB,aAAI,GACvBA,KAAmB,aAAI,KACvBA,KAAuB,iBAAI,GAC3BA,KAA8B,wBAAI,KAClCA,KAAW,KAAI,GACfA,KAAwB,kBAAI,GAC5BA,KAAmB,aAAI,EACzB,CACA,cAAI4hB,GAAe,OAAO5hB,KAAkB,WAAE,CAC9C,cAAI4hB,CAAW1hB,GACb,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,QAAIuZ,GAAS,OAAO1Z,KAAY,KAAE,CAClC,QAAI0Z,CAAKxZ,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,WAAIgL,GAAY,OAAOnL,KAAe,QAAE,CACxC,WAAImL,CAAQjL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,iBAAI0hB,GAAkB,OAAO7hB,KAAqB,cAAE,CACpD,iBAAI6hB,CAAc3hB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,kBAAIiO,GAAmB,OAAOpO,KAAsB,eAAE,CACtD,kBAAIoO,CAAelO,GACjB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,4BAAI2hB,GAA6B,OAAO9hB,KAAgC,yBAAE,CAC1E,4BAAI8hB,CAAyB5hB,GAC3B,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACA,oBAAI4hB,GAAqB,OAAO/hB,KAAwB,iBAAE,CAC1D,oBAAI+hB,CAAiB7hB,GACnB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,eAAI6hB,GAAgB,OAAOhiB,KAAmB,YAAE,CAChD,eAAIgiB,CAAY9hB,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,mBAAI8hB,GAAoB,OAAOjiB,KAAuB,gBAAE,CACxD,mBAAIiiB,CAAgB/hB,GAClB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,uBAAI+hB,GAAwB,OAAOliB,KAA2B,oBAAE,CAChE,uBAAIkiB,CAAoBhiB,GACtB,GAAY,MAATA,EAAe,CAChB,GAAmC,MAAhCF,KAA2B,qBAAa,OAG3C,OAFAO,UACAP,KAA2B,qBAAI,KAEjC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAA7DA,CAAkEF,GAC1EG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACF,CACA,qBAAIgiB,GAAsB,OAAOniB,KAAyB,kBAAE,CAC5D,qBAAImiB,CAAkBjiB,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,kBAAkB,SAAS,WAAW,aAAa,aAAa,aAAa,kBAAkB,iBAAiB,6BAA6B,cAAc,eAAe,4BAA4B,aAAa,YAAY,yBAAyB,kBAApQA,CAAuRF,GAC/RG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,kBAAIiiB,GAAmB,OAAOpiB,KAAsB,eAAE,CACtD,kBAAIoiB,CAAeliB,GACjB,GAAY,MAATA,EAAe,CAChB,GAA8B,MAA3BF,KAAsB,gBAAa,OAGtC,OAFAO,UACAP,KAAsB,gBAAI,KAE5B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,cAAc,WAAW,uBAAuB,eAAe,YAAY,yBAAyB,aAAa,gBAAgB,gCAAgC,OAAO,WAAW,qBAAqB,SAAS,gBAAgB,4BAA4B,eAAe,aAAa,qBAAqB,UAAU,qBAAqB,6BAA6B,yBAAyB,qBAAqB,2BAA2B,oCAAoC,gBAAgB,mBAAmB,iCAAiC,aAAa,oBAAoB,YAAY,wBAAwB,sBAAsB,iBAAiB,cAAc,aAAa,0BAA0B,gBAAgB,gCAAgC,0BAA0B,wBAAwB,qBAAqB,wBAAwB,mBAAmB,oBAAoB,4BAA4B,0BAA0B,iBAAiB,kBAAkB,8BAA8B,wBAAwB,8BAA8B,iCAAiC,gCAAgC,mCAAmC,aAAa,yBAAyB,kBAAkB,iBAAiB,uCAAuC,wBAAwB,kBAAkB,2BAA2B,kBAAkB,QAAQ,wBAAwB,iBAAiB,mBAAmB,cAAc,aAAa,cAAc,WAAW,WAAW,sBAAsB,QAAQ,mBAAmB,eAAe,wBAAwB,+BAA+B,2CAA2C,gCAAgC,eAAe,sBAAsB,YAAY,yBAAyB,kBAAkB,kBAAkB,gBAAgB,yBAAyB,iBAAiB,UAAU,oBAAoB,oBAAoB,yBAAyB,6BAA6B,oBAAoB,gBAAgB,kCAAkC,iBAAiB,aAAa,kBAAkB,YAAY,UAAU,iBAAiB,6BAA6B,4CAA4C,cAAjpEA,CAAgqEF,GACxqEG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACF,CACA,8BAAIkiB,GAA+B,OAAOriB,KAAkC,2BAAE,CAC9E,8BAAIqiB,CAA2BniB,GAC7B,GAAY,MAATA,EAAe,CAChB,GAA0C,MAAvCF,KAAkC,4BAAa,OAGlD,OAFAO,UACAP,KAAkC,4BAAI,KAExC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,aAAa,cAAc,WAAW,OAAO,YAAY,WAAW,aAAhFA,CAA8FF,GACtGG,KAAEC,QAAQH,EAAMH,KAAkC,+BACpDO,KACAP,KAAkC,4BAAIG,EAE1C,CACF,CACA,uCAAImiB,GAAwC,OAAOtiB,KAA2C,oCAAE,CAChG,uCAAIsiB,CAAoCpiB,GACtC,GAAY,MAATA,EAAe,CAChB,GAAmD,MAAhDF,KAA2C,qCAAa,OAG3D,OAFAO,UACAP,KAA2C,qCAAI,KAEjD,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,iBAAiB,UAAU,WAAW,aAAa,4BAA4B,qBAAqB,QAAQ,aAAa,aAAa,gBAAgB,iBAAlKA,CAAoLF,GAC5LG,KAAEC,QAAQH,EAAMH,KAA2C,wCAC7DO,KACAP,KAA2C,qCAAIG,EAEnD,CACF,CACA,oCAAIoiB,GAAqC,OAAOviB,KAAwC,iCAAE,CAC1F,oCAAIuiB,CAAiCriB,GACnC,GAAY,MAATA,EAAe,CAChB,GAAgD,MAA7CF,KAAwC,kCAAa,OAGxD,OAFAO,UACAP,KAAwC,kCAAI,KAE9C,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,SAAS,SAAS,OAAO,OAAO,aAAa,eAAe,SAAxEA,CAAkFF,GAC1FG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACF,CACA,4BAAIqiB,GAA6B,OAAOxiB,KAAgC,yBAAE,CAC1E,4BAAIwiB,CAAyBtiB,GAC3B,GAAY,MAATA,EAAe,CAChB,GAAwC,MAArCF,KAAgC,0BAAa,OAGhD,OAFAO,UACAP,KAAgC,0BAAI,KAEtC,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,sBAAsB,2BAA2B,uBAAuB,8BAA8B,uBAAuB,wBAAwB,iCAAiC,oBAAoB,0BAA0B,kBAAkB,mBAAmB,4BAA4B,4BAA4B,iCAAiC,yBAAyB,kBAAkB,kBAAkB,8BAA8B,oCAAoC,uBAAuB,4BAA4B,sBAAsB,kBAAkB,wBAAwB,8BAA8B,2BAA2B,0BAA0B,qBAAqB,6BAA6B,2BAA2B,4BAA4B,iDAAiD,uCAAuC,sCAAsC,sCAAsC,qBAAqB,6CAA6C,mCAAmC,qCAAqC,6CAA6C,oBAAoB,mBAAmB,qCAAqC,sBAAsB,sBAAsB,mBAAmB,4BAA4B,uBAAuB,yBAAyB,2BAA2B,2BAA2B,+BAA+B,eAAe,oCAAoC,0BAA0B,oBAAoB,0BAA0B,kBAAkB,iBAAiB,uBAAuB,sBAAsB,sBAAsB,yCAAyC,wCAAwC,8CAA8C,0BAA0B,gCAAgC,yCAAyC,8BAA8B,gCAAgC,mBAAmB,gBAAgB,yBAAyB,0BAA0B,2CAA2C,0BAA0B,gCAAgC,0CAA0C,qDAAqD,qCAAqC,+BAA+B,iCAAiC,sCAAsC,0BAA0B,kCAAkC,gCAAgC,2BAA2B,oCAAoC,4CAA4C,4BAA4B,mCAAmC,gCAAgC,+CAA+C,6BAA6B,qCAAqC,gCAAgC,sCAAsC,6BAA6B,mCAAmC,qBAAqB,sBAAsB,wBAAwB,yBAAyB,8CAA8C,+CAA+C,yCAAyC,wCAAwC,wCAAwC,+CAA+C,oDAAoD,2DAA2D,+CAA+C,wCAAwC,6CAA6C,qCAAqC,kDAAkD,kCAAkC,0CAA0C,wCAAwC,0CAA0C,6CAA6C,yCAAyC,gDAAgD,8CAA8C,yCAAyC,gDAAgD,qDAAqD,kDAAkD,uCAAuC,8BAA8B,6BAA6B,oCAAoC,sBAAsB,0CAA0C,qCAAqC,0CAA0C,iCAAiC,6CAA6C,uCAAuC,gCAAgC,qCAAqC,iCAAiC,8BAA8B,qCAAqC,+BAA+B,gCAAgC,6BAA6B,qBAAqB,2BAA2B,iCAAiC,0BAA0B,sBAA7xJA,CAAozJF,GAC5zJG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACF,CACA,uCAAIsiB,GAAwC,OAAOziB,KAA2C,oCAAE,CAChG,uCAAIyiB,CAAoCviB,GACtC,GAAY,MAATA,EAAe,CAChB,GAAmD,MAAhDF,KAA2C,qCAAa,OAG3D,OAFAO,UACAP,KAA2C,qCAAI,KAEjD,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,WAAW,6BAA6B,YAAY,aAAa,wBAAwB,cAAc,4BAA4B,aAAa,aAAa,aAAa,kBAAkB,kBAAkB,eAAe,SAAS,kBAAkB,WAApQA,CAAgRF,GACxRG,KAAEC,QAAQH,EAAMH,KAA2C,wCAC7DO,KACAP,KAA2C,qCAAIG,EAEnD,CACF,CACA,cAAIuiB,GAAe,OAAO1iB,KAAkB,WAAE,CAC9C,cAAI0iB,CAAWxiB,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,yBAAIyiB,GAA0B,OAAO3iB,KAA6B,sBAAE,CACpE,yBAAI2iB,CAAsBziB,GACxB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,uBAAIyiB,GAAwB,OAAO5iB,KAA2B,oBAAE,CAChE,uBAAI4iB,CAAoB1iB,GACtB,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACA,WAAI0iB,GAAY,OAAO7iB,KAAe,QAAE,CACxC,WAAI6iB,CAAQ3iB,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,sBAAI2iB,GAAuB,OAAO9iB,KAA0B,mBAAE,CAC9D,sBAAI8iB,CAAmB5iB,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,uBAAI4iB,GAAwB,OAAO/iB,KAA2B,oBAAE,CAChE,uBAAI+iB,CAAoB7iB,GACtB,GAAY,MAATA,EAAe,CAChB,GAAmC,MAAhCF,KAA2B,qBAAa,OAG3C,OAFAO,UACAP,KAA2B,qBAAI,KAEjC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CACF,CACA,cAAI6iB,GAAe,OAAOhjB,KAAkB,WAAE,CAC9C,cAAIgjB,CAAW9iB,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,aAAI8iB,GAAc,OAAOjjB,KAAiB,UAAE,CAC5C,aAAIijB,CAAU/iB,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CACA,iBAAI+iB,GAAkB,OAAOljB,KAAqB,cAAE,CACpD,iBAAIkjB,CAAchjB,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,MAAM,eAAe,gBAAgB,MAAjDA,CAAwDF,GAChEG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,QAAIgjB,GAAS,OAAOnjB,KAAY,KAAE,CAClC,QAAImjB,CAAKjjB,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,cAAIijB,GAAe,OAAOpjB,KAAkB,WAAE,CAC9C,cAAIojB,CAAWljB,GACb,IAAIC,EAAQC,GAAW,CAAC,OAAO,cAAc,gBAAgB,iBAAiB,YAAY,SAAS,OAAvFA,CAA+FF,GACvGG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAIkjB,GAAgB,OAAOrjB,KAAmB,YAAE,CAChD,eAAIqjB,CAAYnjB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,mBAAImjB,GAAoB,OAAOtjB,KAAuB,gBAAE,CACxD,mBAAIsjB,CAAgBpjB,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,0BAAIojB,GAA2B,OAAOvjB,KAA8B,uBAAE,CACtE,0BAAIujB,CAAuBrjB,GACzB,GAAY,MAATA,EAAe,CAChB,GAAsC,MAAnCF,KAA8B,wBAAa,OAG9C,OAFAO,UACAP,KAA8B,wBAAI,KAEpC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACF,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,oBAAIqjB,GAAqB,OAAOxjB,KAAwB,iBAAE,CAC1D,oBAAIwjB,CAAiBtjB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,eAAIsjB,GAAgB,OAAOzjB,KAAmB,YAAE,CAChD,eAAIyjB,CAAYvjB,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0K,GAyCd,MAxCoB,kBAAVjM,GAA+B,MAATA,GAC7BuB,EAAImgB,WAAa1hB,EAAkB,WACnCuB,EAAIiY,KAAOxZ,EAAY,KACvBuB,EAAI0J,QAAUjL,EAAe,QAC7BuB,EAAIogB,cAAgB3hB,EAAqB,cACzCuB,EAAI2M,eAAiBlO,EAAsB,eAC3CuB,EAAIqgB,yBAA2B5hB,EAAgC,yBAC/DuB,EAAIsgB,iBAAmB7hB,EAAwB,iBAC/CuB,EAAIugB,YAAc9hB,EAAmB,YACrCuB,EAAIwgB,gBAAkB/hB,EAAuB,gBAC7CuB,EAAIygB,oBAAsD,MAAhChiB,EAA2B,oBAAY,KAAOA,EAA2B,oBACnGuB,EAAI0gB,kBAAkD,MAA9BjiB,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAI2gB,eAA4C,MAA3BliB,EAAsB,eAAY,KAAOA,EAAsB,eACpFuB,EAAI4gB,2BAAoE,MAAvCniB,EAAkC,2BAAY,KAAOA,EAAkC,2BACxHuB,EAAI6gB,oCAAsF,MAAhDpiB,EAA2C,oCAAY,KAAOA,EAA2C,oCACnJuB,EAAI8gB,iCAAgF,MAA7CriB,EAAwC,iCAAY,KAAOA,EAAwC,iCAC1IuB,EAAI+gB,yBAAgE,MAArCtiB,EAAgC,yBAAY,KAAOA,EAAgC,yBAClHuB,EAAIghB,oCAAsF,MAAhDviB,EAA2C,oCAAY,KAAOA,EAA2C,oCACnJuB,EAAIihB,WAAa7d,GAAazE,GAAW,CAAC,UAAU,WAAW,cAAc,WAA5DyE,CAAwE3E,EAAkB,YAC3GuB,EAAIkhB,sBAAwBziB,EAA6B,sBACzDuB,EAAImhB,oBAAsB1iB,EAA2B,oBACrDuB,EAAIohB,QAAU3iB,EAAe,QAC7BuB,EAAIqhB,mBAAoD,MAA/B5iB,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAIshB,oBAAsD,MAAhC7iB,EAA2B,oBAAY,KAAOA,EAA2B,oBACnGuB,EAAIuhB,WAAoC,MAAvB9iB,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAIwhB,UAAkC,MAAtB/iB,EAAiB,UAAY,KAAOA,EAAiB,UACrEuB,EAAIyhB,cAA0C,MAA1BhjB,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAI0hB,KAAOjjB,EAAY,KACvBuB,EAAI2hB,WAAaljB,EAAkB,WACnCuB,EAAI4hB,YAAcnjB,EAAmB,YACrCuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAI6hB,gBAAkBpjB,EAAuB,gBAC7CuB,EAAI8hB,uBAA4D,MAAnCrjB,EAA8B,uBAAY,KAAOA,EAA8B,uBAC5GuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAI+hB,iBAAmBtjB,EAAwB,iBAC/CuB,EAAIgiB,YAAcvjB,EAAmB,aAErCzB,GAAQ,uCAADiD,OAAwCxB,IAElDyB,KACOF,CACT,EA+PK,MAAMyT,GACXnV,cACEC,KAAgB,UAAI,GACpBA,KAAgB,UAAI,KACpBA,KAAqB,eAAI,GACzBA,KAAkB,YAAI,GACtBA,KAAmB,aAAI,GACvBA,KAAW,KAAI,EACjB,CACA,YAAIkb,GAAa,OAAOlb,KAAgB,SAAE,CAC1C,YAAIkb,CAAShb,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,YAAIujB,GAAa,OAAO1jB,KAAgB,SAAE,CAC1C,YAAI0jB,CAASxjB,GACX,GAAY,MAATA,EAAe,CAChB,GAAwB,MAArBF,KAAgB,UAAa,OAGhC,OAFAO,UACAP,KAAgB,UAAI,KAEtB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,YAAY,mBAAmB,YAA3CA,CAAwDF,GAChEG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACF,CACA,iBAAIwjB,GAAkB,OAAO3jB,KAAqB,cAAE,CACpD,iBAAI2jB,CAAczjB,GAChB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,cAAIyjB,GAAe,OAAO5jB,KAAkB,WAAE,CAC9C,cAAI4jB,CAAW1jB,GACb,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAIsjB,GAAgB,OAAOzjB,KAAmB,YAAE,CAChD,eAAIyjB,CAAYvjB,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIyT,GAYd,MAXoB,kBAAVhV,GAA+B,MAATA,GAC7BuB,EAAIyZ,SAAWhb,EAAgB,SAC/BuB,EAAIiiB,SAAgC,MAArBxjB,EAAgB,SAAY,KAAOA,EAAgB,SAClEuB,EAAIkiB,cAAgBzjB,EAAqB,cACzCuB,EAAImiB,WAAa1jB,EAAkB,WACnCuB,EAAIgiB,YAAcvjB,EAAmB,YACrCuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGK,MAAMuU,GACXjW,cACEC,KAAuB,iBAAI,GAC3BA,KAAyB,mBAAI,UAC7BA,KAAyB,mBAAI,EAC/B,CACA,mBAAI6jB,GAAoB,OAAO7jB,KAAuB,gBAAE,CACxD,mBAAI6jB,CAAgB3jB,GAClBK,KACAP,KAAuB,iBAAIE,CAC7B,CACA,qBAAI4jB,GAAsB,OAAO9jB,KAAyB,kBAAE,CAC5D,qBAAI8jB,CAAkB5jB,GACpB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,qBAAI4jB,GAAsB,OAAO/jB,KAAyB,kBAAE,CAC5D,qBAAI+jB,CAAkB7jB,GACpB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuU,GASd,MARoB,kBAAV9V,GAA+B,MAATA,GAC7BuB,EAAIoiB,gBAAkBhf,GAAazE,GAAW,CAAC,UAAU,cAAc,oBAAoB,MAAM,UAAU,4BAA4B,4BAA4B,4BAA4B,4BAA4B,eAAe,eAAe,OAAO,OAAO,KAAK,iBAAiB,mBAAmB,2BAA2B,WAAW,WAAhUyE,CAA4U3E,EAAuB,iBACzXuB,EAAIqiB,kBAAoB5jB,EAAyB,kBACjDuB,EAAIsiB,kBAAoB7jB,EAAyB,mBAEjDzB,GAAQ,wCAADiD,OAAyCxB,IAEnDyB,KACOF,CACT,EAmFK,MAAMgU,GACX1V,cACEC,KAAqB,eAAI,KACzBA,KAAoB,cAAI,GACxBA,KAAuB,iBAAI,GAC3BA,KAAY,MAAI,GAChBA,KAAqB,eAAI,GACzBA,KAAsB,gBAAI,GAC1BA,KAAa,OAAI,GACjBA,KAAyB,mBAAI,GAC7BA,KAA0B,oBAAI,GAC9BA,KAAoB,eAAI,EACxBA,KAAuB,kBAAI,EAC3BA,KAAwB,kBAAI,GAC5BA,KAAoB,cAAI,GACxBA,KAA0B,oBAAI,UAC9BA,KAAc,QAAI,IAAI4c,GACtB5c,KAAqB,eAAI,IAC3B,CACA,iBAAIgkB,GAAkB,OAAOhkB,KAAqB,cAAE,CACpD,iBAAIgkB,CAAc9jB,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,aAAa,UAAU,YAAY,aAA/CA,CAA6DF,GACrEG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,gBAAI8jB,GAAiB,OAAOjkB,KAAoB,aAAE,CAClD,gBAAIikB,CAAa/jB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAI+jB,GAAoB,OAAOlkB,KAAuB,gBAAE,CACxD,mBAAIkkB,CAAgBhkB,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,QAAIgkB,GAAS,OAAOnkB,KAAY,KAAE,CAClC,QAAImkB,CAAKjkB,GACP,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,iBAAIikB,GAAkB,OAAOpkB,KAAqB,cAAE,CACpD,iBAAIokB,CAAclkB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,kBAAIkkB,GAAmB,OAAOrkB,KAAsB,eAAE,CACtD,kBAAIqkB,CAAenkB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,qBAAImkB,GAAsB,OAAOtkB,KAAyB,kBAAE,CAC5D,qBAAIskB,CAAkBpkB,GACpB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,sBAAIokB,GAAuB,OAAOvkB,KAA0B,mBAAE,CAC9D,sBAAIukB,CAAmBrkB,GACrB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,gBAAIqkB,GAAiB,OAAOxkB,KAAoB,aAAE,CAClD,gBAAIwkB,CAAatkB,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAIskB,GAAoB,OAAOzkB,KAAuB,gBAAE,CACxD,mBAAIykB,CAAgBvkB,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,oBAAIukB,GAAqB,OAAO1kB,KAAwB,iBAAE,CAC1D,oBAAI0kB,CAAiBxkB,GACnB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,gBAAIwkB,GAAiB,OAAO3kB,KAAoB,aAAE,CAClD,gBAAI2kB,CAAazkB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,sBAAIykB,GAAuB,OAAO5kB,KAA0B,mBAAE,CAC9D,sBAAI4kB,CAAmB1kB,GACrB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,UAAIuV,GAAW,OAAO1V,KAAc,OAAE,CACtC,UAAI0V,CAAOxV,GACTK,KACAP,KAAc,QAAIE,CACpB,CACA,iBAAI2kB,GAAkB,OAAO7kB,KAAqB,cAAE,CACpD,iBAAI6kB,CAAc3kB,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,YAAY,YAAY,QAAQ,SAAS,QAAQ,YAAY,cAAc,YAAvFA,CAAoGF,GAC5GG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgU,GAsBd,MArBoB,kBAAVvV,GAA+B,MAATA,GAC7BuB,EAAIuiB,cAA0C,MAA1B9jB,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIwiB,aAAe/jB,EAAoB,aACvCuB,EAAIyiB,gBAAkBhkB,EAAuB,gBAC7CuB,EAAI0iB,KAAOjkB,EAAY,KACvBuB,EAAI2iB,cAAgBlkB,EAAqB,cACzCuB,EAAI4iB,eAAiBnkB,EAAsB,eAC3CuB,EAAI2G,MAAQlI,EAAa,MACzBuB,EAAI6iB,kBAAoBpkB,EAAyB,kBACjDuB,EAAI8iB,mBAAqBrkB,EAA0B,mBACnDuB,EAAI+iB,aAAetkB,EAAoB,aACvCuB,EAAIgjB,gBAAkBvkB,EAAuB,gBAC7CuB,EAAIijB,iBAAmBxkB,EAAwB,iBAC/CuB,EAAIkjB,aAAezkB,EAAoB,aACvCuB,EAAImjB,mBAAqB1kB,EAA0B,mBACnDuB,EAAIiU,OAASkH,GAAiBrb,SAASrB,EAAc,QACrDuB,EAAIojB,cAA0C,MAA1B3kB,EAAqB,cAAY,KAAOA,EAAqB,eAEjFzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EAGK,MAAM0T,GACXpV,cACEC,KAAmB,aAAI,GACvBA,KAAiB,WAAI,yCACrBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAmB,aAAI,IACzB,CACA,eAAI+J,GAAgB,OAAO/J,KAAmB,YAAE,CAChD,eAAI+J,CAAY7J,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,aAAIsgB,GAAc,OAAOzgB,KAAiB,UAAE,CAC5C,aAAIygB,CAAUvgB,GACZ,IAAIC,EAAQC,GAAW,CAAC,yCAAyC,uCAAuC,uBAAuB,yBAAyB,QAAQ,eAAe,qBAAqB,YAAY,kBAAkB,aAAa,cAAc,eAAe,yCAAhQA,CAA0SF,GAClTG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,SAAIqV,GAAU,OAAOxV,KAAa,MAAE,CACpC,SAAIwV,CAAMtV,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0T,GAWd,MAVoB,kBAAVjV,GAA+B,MAATA,GAC7BuB,EAAIsI,YAAc7J,EAAmB,YACrCuB,EAAIgf,UAAYvgB,EAAiB,UACjCuB,EAAI+T,MAAQtV,EAAa,MACzBuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,aAE3EzB,GAAQ,6CAADiD,OAA8CxB,IAExDyB,KACOF,CACT,EAGK,MAAM6Y,GACXva,cACEC,KAAW,KAAI,GACfA,KAAkB,YAAI,QACtBA,KAAmB,aAAI,GACvBA,KAAc,QAAI,UAClBA,KAAc,QAAI,EACpB,CACA,OAAIkM,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,cAAI2kB,GAAe,OAAO9kB,KAAkB,WAAE,CAC9C,cAAI8kB,CAAW5kB,GACb,IAAIC,EAAQC,GAAW,CAAC,sBAAsB,UAAU,sBAAsB,OAAO,gBAAgB,QAAQ,eAAe,eAAe,cAAc,gBAAgB,0BAA0B,aAAa,oBAAoB,2BAA2B,aAAa,mBAAmB,8BAA8B,kBAAkB,2BAA2B,oBAAoB,oBAAoB,oBAAoB,sBAAsB,kBAAkB,4BAA4B,2BAA2B,mCAAmC,4BAA4B,uBAAuB,kBAAkB,0BAA0B,6BAA6B,6BAA6B,QAAQ,WAAW,UAAU,sCAAsC,mBAAmB,mCAAmC,YAAY,sBAAsB,iBAAiB,iBAAiB,YAAY,QAAQ,eAAe,2BAA2B,iBAAiB,aAAa,oBAAoB,QAAl+BA,CAA2+BF,GACn/BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,eAAI4J,GAAgB,OAAO/J,KAAmB,YAAE,CAChD,eAAI+J,CAAY7J,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,UAAI4kB,GAAW,OAAO/kB,KAAc,OAAE,CACtC,UAAI+kB,CAAO7kB,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,UAAI2J,GAAW,OAAO9J,KAAc,OAAE,CACtC,UAAI8J,CAAO5J,GACT,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6Y,GAWd,MAVoB,kBAAVpa,GAA+B,MAATA,GAC7BuB,EAAIyK,IAAMhM,EAAW,IACrBuB,EAAIqjB,WAAa5kB,EAAkB,WACnCuB,EAAIsI,YAAc7J,EAAmB,YACrCuB,EAAIsjB,OAAS7kB,EAAc,OAC3BuB,EAAIqI,OAAS5J,EAAc,QAE3BzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGK,MAAMyR,GACXnT,cACEC,KAAc,QAAI,GAClBA,KAAe,SAAI,GACnBA,KAAe,SAAI,GACnBA,KAAuB,iBAAI,EAC3BA,KAAe,SAAI,GACnBA,KAAa,OAAI,aACjBA,KAAe,SAAI,KACnBA,KAA0B,oBAAI,KAC9BA,KAAqB,eAAI,KACzBA,KAAiB,WAAI,KACrBA,KAA8B,wBAAI,KAClCA,KAAY,MAAI,EAClB,CACA,UAAIsJ,GAAW,OAAOtJ,KAAc,OAAE,CACtC,UAAIsJ,CAAOpJ,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,WAAI6kB,GAAY,OAAOhlB,KAAe,QAAE,CACxC,WAAIglB,CAAQ9kB,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,WAAImP,GAAY,OAAOtP,KAAe,QAAE,CACxC,WAAIsP,CAAQpP,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,mBAAI8hB,GAAoB,OAAOjiB,KAAuB,gBAAE,CACxD,mBAAIiiB,CAAgB/hB,GAClB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,WAAIgP,GAAY,OAAOnP,KAAe,QAAE,CACxC,WAAImP,CAAQjP,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,SAAI8kB,GAAU,OAAOjlB,KAAa,MAAE,CACpC,SAAIilB,CAAM/kB,GACR,IAAIC,EAAQC,GAAW,CAAC,aAAa,QAAQ,cAAc,aAA/CA,CAA6DF,GACrEG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,WAAI+kB,GAAY,OAAOllB,KAAe,QAAE,CACxC,WAAIklB,CAAQhlB,GACV,GAAY,MAATA,EAAe,CAChB,GAAuB,MAApBF,KAAe,SAAa,OAG/B,OAFAO,UACAP,KAAe,SAAI,KAErB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACF,CACA,sBAAI2iB,GAAuB,OAAO9iB,KAA0B,mBAAE,CAC9D,sBAAI8iB,CAAmB5iB,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,iBAAI+iB,GAAkB,OAAOljB,KAAqB,cAAE,CACpD,iBAAIkjB,CAAchjB,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,MAAM,eAAe,gBAAgB,MAAjDA,CAAwDF,GAChEG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,aAAI8iB,GAAc,OAAOjjB,KAAiB,UAAE,CAC5C,aAAIijB,CAAU/iB,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CACA,0BAAIojB,GAA2B,OAAOvjB,KAA8B,uBAAE,CACtE,0BAAIujB,CAAuBrjB,GACzB,GAAY,MAATA,EAAe,CAChB,GAAsC,MAAnCF,KAA8B,wBAAa,OAG9C,OAFAO,UACAP,KAA8B,wBAAI,KAEpC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACF,CACA,QAAIgjB,GAAS,OAAOnjB,KAAY,KAAE,CAClC,QAAImjB,CAAKjjB,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIyR,GAkBd,MAjBoB,kBAAVhT,GAA+B,MAATA,GAC7BuB,EAAI6H,OAASpJ,EAAc,OAC3BuB,EAAIujB,QAAU9kB,EAAe,QAC7BuB,EAAI6N,QAAUpP,EAAe,QAC7BuB,EAAIwgB,gBAAkB/hB,EAAuB,gBAC7CuB,EAAI0N,QAAUjP,EAAe,QAC7BuB,EAAIwjB,MAAQ/kB,EAAa,MACzBuB,EAAIyjB,QAA8B,MAApBhlB,EAAe,QAAY,KAAOA,EAAe,QAC/DuB,EAAIqhB,mBAAoD,MAA/B5iB,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAIyhB,cAA0C,MAA1BhjB,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIwhB,UAAkC,MAAtB/iB,EAAiB,UAAY,KAAOA,EAAiB,UACrEuB,EAAI8hB,uBAA4D,MAAnCrjB,EAA8B,uBAAY,KAAOA,EAA8B,uBAC5GuB,EAAI0hB,KAAOjjB,EAAY,MAEvBzB,GAAQ,4CAADiD,OAA6CxB,IAEvDyB,KACOF,CACT,EAGK,MAAMwX,GACXlZ,cACEC,KAAoB,cAAI,GACxBA,KAAuB,iBAAI,GAC3BA,KAAY,MAAI,GAChBA,KAAqB,eAAI,GACzBA,KAAsB,gBAAI,GAC1BA,KAAa,OAAI,GACjBA,KAAyB,mBAAI,GAC7BA,KAA0B,oBAAI,GAC9BA,KAAoB,eAAI,EACxBA,KAAuB,kBAAI,EAC3BA,KAAwB,kBAAI,GAC5BA,KAAoB,cAAI,GACxBA,KAA0B,oBAAI,UAC9BA,KAAc,QAAI,IAAI4c,GACtB5c,KAAqB,eAAI,KACzBA,KAAW,KAAI,EACjB,CACA,gBAAIikB,GAAiB,OAAOjkB,KAAoB,aAAE,CAClD,gBAAIikB,CAAa/jB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAI+jB,GAAoB,OAAOlkB,KAAuB,gBAAE,CACxD,mBAAIkkB,CAAgBhkB,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,QAAIgkB,GAAS,OAAOnkB,KAAY,KAAE,CAClC,QAAImkB,CAAKjkB,GACP,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,iBAAIikB,GAAkB,OAAOpkB,KAAqB,cAAE,CACpD,iBAAIokB,CAAclkB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,kBAAIkkB,GAAmB,OAAOrkB,KAAsB,eAAE,CACtD,kBAAIqkB,CAAenkB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,qBAAImkB,GAAsB,OAAOtkB,KAAyB,kBAAE,CAC5D,qBAAIskB,CAAkBpkB,GACpB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,sBAAIokB,GAAuB,OAAOvkB,KAA0B,mBAAE,CAC9D,sBAAIukB,CAAmBrkB,GACrB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,gBAAIqkB,GAAiB,OAAOxkB,KAAoB,aAAE,CAClD,gBAAIwkB,CAAatkB,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAIskB,GAAoB,OAAOzkB,KAAuB,gBAAE,CACxD,mBAAIykB,CAAgBvkB,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,oBAAIukB,GAAqB,OAAO1kB,KAAwB,iBAAE,CAC1D,oBAAI0kB,CAAiBxkB,GACnB,IAAIC,EAAQuP,GAAW,GAAXA,CAAexP,GACvBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,gBAAIwkB,GAAiB,OAAO3kB,KAAoB,aAAE,CAClD,gBAAI2kB,CAAazkB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,sBAAIykB,GAAuB,OAAO5kB,KAA0B,mBAAE,CAC9D,sBAAI4kB,CAAmB1kB,GACrB,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,UAAIuV,GAAW,OAAO1V,KAAc,OAAE,CACtC,UAAI0V,CAAOxV,GACTK,KACAP,KAAc,QAAIE,CACpB,CACA,iBAAI2kB,GAAkB,OAAO7kB,KAAqB,cAAE,CACpD,iBAAI6kB,CAAc3kB,GAChB,GAAY,MAATA,EAAe,CAChB,GAA6B,MAA1BF,KAAqB,eAAa,OAGrC,OAFAO,UACAP,KAAqB,eAAI,KAE3B,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,YAAY,YAAY,QAAQ,SAAS,QAAQ,YAAY,cAAc,YAAvFA,CAAoGF,GAC5GG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACF,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIwX,GAsBd,MArBoB,kBAAV/Y,GAA+B,MAATA,GAC7BuB,EAAIwiB,aAAe/jB,EAAoB,aACvCuB,EAAIyiB,gBAAkBhkB,EAAuB,gBAC7CuB,EAAI0iB,KAAOjkB,EAAY,KACvBuB,EAAI2iB,cAAgBlkB,EAAqB,cACzCuB,EAAI4iB,eAAiBnkB,EAAsB,eAC3CuB,EAAI2G,MAAQlI,EAAa,MACzBuB,EAAI6iB,kBAAoBpkB,EAAyB,kBACjDuB,EAAI8iB,mBAAqBrkB,EAA0B,mBACnDuB,EAAI+iB,aAAetkB,EAAoB,aACvCuB,EAAIgjB,gBAAkBvkB,EAAuB,gBAC7CuB,EAAIijB,iBAAmBxkB,EAAwB,iBAC/CuB,EAAIkjB,aAAezkB,EAAoB,aACvCuB,EAAImjB,mBAAqB1kB,EAA0B,mBACnDuB,EAAIiU,OAASkH,GAAiBrb,SAASrB,EAAc,QACrDuB,EAAIojB,cAA0C,MAA1B3kB,EAAqB,cAAY,KAAOA,EAAqB,cACjFuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,kDAADiD,OAAmDxB,IAE7DyB,KACOF,CACT,EAGK,MAAM+e,GACXzgB,cACEC,KAAmB,aAAI,GACvBA,KAAc,QAAI,EAClBA,KAAc,QAAI,UAClBA,KAAsB,gBAAI,EAC1BA,KAA4B,sBAAI,EAChCA,KAAgB,WAAI,EACpBA,KAAkC,4BAAI,CACxC,CACA,eAAImlB,GAAgB,OAAOnlB,KAAmB,YAAE,CAChD,eAAImlB,CAAYjlB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,UAAI2J,GAAW,OAAO9J,KAAc,OAAE,CACtC,UAAI8J,CAAO5J,GACT,IAAIC,EAAQuC,GAAY,EAAZA,CAAiBxC,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,UAAI4kB,GAAW,OAAO/kB,KAAc,OAAE,CACtC,UAAI+kB,CAAO7kB,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,SAAS,QAAQ,UAAU,UAAjDA,CAA4DF,GACpEG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,kBAAIilB,GAAmB,OAAOplB,KAAsB,eAAE,CACtD,kBAAIolB,CAAellB,GACjB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,wBAAIklB,GAAyB,OAAOrlB,KAA4B,qBAAE,CAClE,wBAAIqlB,CAAqBnlB,GACvB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,YAAImlB,GAAa,OAAOtlB,KAAgB,SAAE,CAC1C,YAAIslB,CAASplB,GACX,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,8BAAIolB,GAA+B,OAAOvlB,KAAkC,2BAAE,CAC9E,8BAAIulB,CAA2BrlB,GAC7B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAkC,+BACpDO,KACAP,KAAkC,4BAAIG,EAE1C,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI+e,GAad,MAZoB,kBAAVtgB,GAA+B,MAATA,GAC7BuB,EAAI0jB,YAAcjlB,EAAmB,YACrCuB,EAAIqI,OAAS5J,EAAc,OAC3BuB,EAAIsjB,OAAS7kB,EAAc,OAC3BuB,EAAI2jB,eAAiBllB,EAAsB,eAC3CuB,EAAI4jB,qBAAuBnlB,EAA4B,qBACvDuB,EAAI6jB,SAAWplB,EAAgB,SAC/BuB,EAAI8jB,2BAA6BrlB,EAAkC,4BAEnEzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAM+jB,GACXzlB,cACEC,KAAiB,WAAI,GACrBA,KAAkB,YAAI,GACtBA,KAAgB,UAAI,GACpBA,KAAc,QAAI,GAClBA,KAAa,OAAI,GACjBA,KAAsB,gBAAI,GAC1BA,KAAmB,aAAI,EACzB,CACA,aAAIkW,GAAc,OAAOlW,KAAiB,UAAE,CAC5C,aAAIkW,CAAUhW,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,cAAIgW,GAAe,OAAOnW,KAAkB,WAAE,CAC9C,cAAImW,CAAWjW,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,YAAIiW,GAAa,OAAOpW,KAAgB,SAAE,CAC1C,YAAIoW,CAASlW,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,UAAIkW,GAAW,OAAOrW,KAAc,OAAE,CACtC,UAAIqW,CAAOnW,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,kBAAI4X,GAAmB,OAAO/X,KAAsB,eAAE,CACtD,kBAAI+X,CAAe7X,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,eAAIsX,GAAgB,OAAOzX,KAAmB,YAAE,CAChD,eAAIyX,CAAYvX,GACd,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI+jB,GAad,MAZoB,kBAAVtlB,GAA+B,MAATA,GAC7BuB,EAAIyU,UAAYhW,EAAiB,UACjCuB,EAAI0U,WAAajW,EAAkB,WACnCuB,EAAI2U,SAAWlW,EAAgB,SAC/BuB,EAAI4U,OAASnW,EAAc,OAC3BuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAIsW,eAAiB7X,EAAsB,eAC3CuB,EAAIgW,YAAcvX,EAAmB,aAErCzB,GAAQ,yCAADiD,OAA0CxB,IAEpDyB,KACOF,CACT,EAGK,MAAM+X,GACXzZ,cACEC,KAAc,QAAI,IAAIwlB,GACtBxlB,KAAmB,aAAI,EACzB,CACA,UAAIwlB,GAAW,OAAOxlB,KAAc,OAAE,CACtC,UAAIwlB,CAAOtlB,GACTK,KACAP,KAAc,QAAIE,CACpB,CACA,eAAIulB,GAAgB,OAAOzlB,KAAmB,YAAE,CAChD,eAAIylB,CAAYvlB,GACdK,KACAP,KAAmB,aAAIE,CACzB,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI+X,GAQd,MAPoB,kBAAVtZ,GAA+B,MAATA,GAC7BuB,EAAI+jB,OAASA,GAAOjkB,SAASrB,EAAc,QAC3CuB,EAAIgkB,YAAc5gB,GAAasG,GAAQ5J,SAArBsD,CAA+B3E,EAAmB,cAEpEzB,GAAQ,wDAADiD,OAAyDxB,IAEnEyB,KACOF,CACT,EA0CK,MAAMyX,GACXnZ,cACEC,KAAoB,cAAI,GACxBA,KAAuB,iBAAI,GAC3BA,KAAY,MAAI,GAChBA,KAAU,IAAI,GACdA,KAAqB,eAAI,GACzBA,KAAsB,gBAAI,GAC1BA,KAAa,OAAI,GACjBA,KAAc,QAAI,GAClBA,KAAoB,cAAI,GACxBA,KAAoB,eAAI,EACxBA,KAAuB,kBAAI,EAC3BA,KAAW,KAAI,EACjB,CACA,gBAAIikB,GAAiB,OAAOjkB,KAAoB,aAAE,CAClD,gBAAIikB,CAAa/jB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAI+jB,GAAoB,OAAOlkB,KAAuB,gBAAE,CACxD,mBAAIkkB,CAAgBhkB,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,QAAIgkB,GAAS,OAAOnkB,KAAY,KAAE,CAClC,QAAImkB,CAAKjkB,GACP,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,MAAIulB,GAAO,OAAO1lB,KAAU,GAAE,CAC9B,MAAI0lB,CAAGxlB,GACL,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAU,OAC5BO,KACAP,KAAU,IAAIG,EAElB,CACA,iBAAIikB,GAAkB,OAAOpkB,KAAqB,cAAE,CACpD,iBAAIokB,CAAclkB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,kBAAIkkB,GAAmB,OAAOrkB,KAAsB,eAAE,CACtD,kBAAIqkB,CAAenkB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,SAAIiI,GAAU,OAAOpI,KAAa,MAAE,CACpC,SAAIoI,CAAMlI,GACR,IAAIC,EAAQ8X,GAAa,GAAbA,CAAiB/X,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAIuV,GAAW,OAAO1V,KAAc,OAAE,CACtC,UAAI0V,CAAOxV,GACT,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,gBAAIwlB,GAAiB,OAAO3lB,KAAoB,aAAE,CAClD,gBAAI2lB,CAAazlB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,gBAAIqkB,GAAiB,OAAOxkB,KAAoB,aAAE,CAClD,gBAAIwkB,CAAatkB,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,mBAAIskB,GAAoB,OAAOzkB,KAAuB,gBAAE,CACxD,mBAAIykB,CAAgBvkB,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIyX,GAkBd,MAjBoB,kBAAVhZ,GAA+B,MAATA,GAC7BuB,EAAIwiB,aAAe/jB,EAAoB,aACvCuB,EAAIyiB,gBAAkBhkB,EAAuB,gBAC7CuB,EAAI0iB,KAAOjkB,EAAY,KACvBuB,EAAIikB,GAAKxlB,EAAU,GACnBuB,EAAI2iB,cAAgBlkB,EAAqB,cACzCuB,EAAI4iB,eAAiBnkB,EAAsB,eAC3CuB,EAAI2G,MAAQlI,EAAa,MACzBuB,EAAIiU,OAASxV,EAAc,OAC3BuB,EAAIkkB,aAAezlB,EAAoB,aACvCuB,EAAI+iB,aAAetkB,EAAoB,aACvCuB,EAAIgjB,gBAAkBvkB,EAAuB,gBAC7CuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,qDAADiD,OAAsDxB,IAEhEyB,KACOF,CACT,EAGK,MAAMkP,GACX5Q,cACEC,KAAkB,YAAI,GACtBA,KAAkB,YAAI,IAAIsJ,GAC1BtJ,KAAmB,aAAI,GACvBA,KAAuB,iBAAI,eAC3BA,KAAqB,eAAI,GACzBA,KAAwB,kBAAI,GAC5BA,KAAwB,kBAAI,GAC5BA,KAAoB,cAAI,GACxBA,KAAoB,cAAI,SACxBA,KAA0B,oBAAI,EAC9BA,KAAoB,cAAI,QACxBA,KAAyB,mBAAI,EAC/B,CACA,cAAI4lB,GAAe,OAAO5lB,KAAkB,WAAE,CAC9C,cAAI4lB,CAAW1lB,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,cAAIiJ,GAAe,OAAOpJ,KAAkB,WAAE,CAC9C,cAAIoJ,CAAWlJ,GACbK,KACAP,KAAkB,YAAIE,CACxB,CACA,eAAIsE,GAAgB,OAAOxE,KAAmB,YAAE,CAChD,eAAIwE,CAAYtE,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,mBAAI0lB,GAAoB,OAAO7lB,KAAuB,gBAAE,CACxD,mBAAI6lB,CAAgB3lB,GAClB,IAAIC,EAAQC,GAAW,CAAC,eAAe,KAAK,MAAM,OAAO,kBAAkB,QAAQ,WAAW,mBAAmB,QAAQ,gBAAgB,SAAS,eAAtIA,CAAsJF,GAC9JG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,iBAAI2lB,GAAkB,OAAO9lB,KAAqB,cAAE,CACpD,iBAAI8lB,CAAc5lB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,oBAAI4lB,GAAqB,OAAO/lB,KAAwB,iBAAE,CAC1D,oBAAI+lB,CAAiB7lB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,oBAAI6lB,GAAqB,OAAOhmB,KAAwB,iBAAE,CAC1D,oBAAIgmB,CAAiB9lB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,gBAAI8lB,GAAiB,OAAOjmB,KAAoB,aAAE,CAClD,gBAAIimB,CAAa/lB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,gBAAI+lB,GAAiB,OAAOlmB,KAAoB,aAAE,CAClD,gBAAIkmB,CAAahmB,GACf,IAAIC,EAAQC,GAAW,CAAC,SAAS,SAAS,SAAS,SAAS,SAAS,QAAQ,QAAQ,SAAS,SAAlFA,CAA4FF,GACpGG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,sBAAImG,GAAuB,OAAOtG,KAA0B,mBAAE,CAC9D,sBAAIsG,CAAmBpG,GACrB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,gBAAIyC,GAAiB,OAAO5C,KAAoB,aAAE,CAClD,gBAAI4C,CAAa1C,GACf,IAAIC,EAAQC,GAAW,CAAC,QAAQ,iBAAiB,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM,eAAe,eAAe,SAAS,oBAAoB,aAAa,YAAY,aAAa,QAA9LA,CAAuMF,GAC/MG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,qBAAIgmB,GAAsB,OAAOnmB,KAAyB,kBAAE,CAC5D,qBAAImmB,CAAkBjmB,GACpB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIkP,GAkBd,MAjBoB,kBAAVzQ,GAA+B,MAATA,GAC7BuB,EAAImkB,WAAa1lB,EAAkB,WACnCuB,EAAI2H,WAAaE,GAAO/H,SAASrB,EAAkB,YACnDuB,EAAI+C,YAActE,EAAmB,YACrCuB,EAAIokB,gBAAkB3lB,EAAuB,gBAC7CuB,EAAIqkB,cAAgB5lB,EAAqB,cACzCuB,EAAIskB,iBAAmB7lB,EAAwB,iBAC/CuB,EAAIukB,iBAAmB9lB,EAAwB,iBAC/CuB,EAAIwkB,aAAe/lB,EAAoB,aACvCuB,EAAIykB,aAAehmB,EAAoB,aACvCuB,EAAI6E,mBAAqBpG,EAA0B,mBACnDuB,EAAImB,aAAe1C,EAAoB,aACvCuB,EAAI0kB,kBAAoBjmB,EAAyB,mBAEjDzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAMc,GACXxC,cACEC,KAA4B,uBAAI,EAChCA,KAA+B,yBAAI,EACnCA,KAA6B,uBAAI,EACjCA,KAAyB,oBAAI,EAC7BA,KAA4B,sBAAI,EAChCA,KAAyB,mBAAI,CAC/B,CACA,wBAAIomB,GAAyB,OAAOpmB,KAA4B,qBAAE,CAClE,wBAAIomB,CAAqBlmB,GACvB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,2BAAIkmB,GAA4B,OAAOrmB,KAA+B,wBAAE,CACxE,2BAAIqmB,CAAwBnmB,GAC1B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,yBAAImmB,GAA0B,OAAOtmB,KAA6B,sBAAE,CACpE,yBAAIsmB,CAAsBpmB,GACxB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,qBAAIomB,GAAsB,OAAOvmB,KAAyB,kBAAE,CAC5D,qBAAIumB,CAAkBrmB,GACpB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,wBAAIqmB,GAAyB,OAAOxmB,KAA4B,qBAAE,CAClE,wBAAIwmB,CAAqBtmB,GACvB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,qBAAIsmB,GAAsB,OAAOzmB,KAAyB,kBAAE,CAC5D,qBAAIymB,CAAkBvmB,GACpB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIc,GAYd,MAXoB,kBAAVrC,GAA+B,MAATA,GAC7BuB,EAAI2kB,qBAAuBlmB,EAA4B,qBACvDuB,EAAI4kB,wBAA0BnmB,EAA+B,wBAC7DuB,EAAI6kB,sBAAwBpmB,EAA6B,sBACzDuB,EAAI8kB,kBAAoBrmB,EAAyB,kBACjDuB,EAAI+kB,qBAAuBtmB,EAA4B,qBACvDuB,EAAIglB,kBAAoBvmB,EAAyB,mBAEjDzB,GAAQ,kDAADiD,OAAmDxB,IAE7DyB,KACOF,CACT,EAGK,MAAM+M,GACXzO,cACEC,KAAa,OAAI,GACjBA,KAAiB,WAAI,IAAIshB,GACzBthB,KAAe,SAAI,IAAIuhB,GACvBvhB,KAAa,OAAI,IAAI0mB,GACrB1mB,KAAiB,WAAI,IACvB,CACA,SAAI2mB,GAAU,OAAO3mB,KAAa,MAAE,CACpC,SAAI2mB,CAAMzmB,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,aAAIymB,GAAc,OAAO5mB,KAAiB,UAAE,CAC5C,aAAI4mB,CAAU1mB,GACZK,KACAP,KAAiB,WAAIE,CACvB,CACA,WAAI2mB,GAAY,OAAO7mB,KAAe,QAAE,CACxC,WAAI6mB,CAAQ3mB,GACVK,KACAP,KAAe,SAAIE,CACrB,CACA,SAAIwmB,GAAU,OAAO1mB,KAAa,MAAE,CACpC,SAAI0mB,CAAMxmB,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,aAAI4mB,GAAc,OAAO9mB,KAAiB,UAAE,CAC5C,aAAI8mB,CAAU5mB,GACZ,GAAY,MAATA,EAAe,CAChB,GAAyB,MAAtBF,KAAiB,WAAa,OAGjC,OAFAO,UACAP,KAAiB,WAAI,KAEvB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACF,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI+M,GAWd,MAVoB,kBAAVtO,GAA+B,MAATA,GAC7BuB,EAAIklB,MAAQzmB,EAAa,MACzBuB,EAAImlB,UAAYtF,GAAc/f,SAASrB,EAAiB,WACxDuB,EAAIolB,QAAUtF,GAAKhgB,SAASrB,EAAe,SAC3CuB,EAAIilB,MAAQA,GAAMnlB,SAASrB,EAAa,OACxCuB,EAAIqlB,UAAkC,MAAtB5mB,EAAiB,UAAY,KAAOA,EAAiB,WAErEzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMsQ,GACXhS,cACEC,KAAe,SAAI,GACnBA,KAAyB,mBAAI,KAC7BA,KAAgB,UAAI,KACpBA,KAAe,SAAI,KACnBA,KAAc,QAAI,UAClBA,KAAoB,cAAI,uBACxBA,KAAmB,aAAI,GACvBA,KAAa,OAAI,GACjBA,KAAyB,mBAAI,GAC7BA,KAAe,SAAI,GACnBA,KAAiC,2BAAI,GACrCA,KAAuB,iBAAI,GAC3BA,KAAmB,aAAI,KACvBA,KAAW,KAAI,EACjB,CACA,WAAImL,GAAY,OAAOnL,KAAe,QAAE,CACxC,WAAImL,CAAQjL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,qBAAIoL,GAAsB,OAAOvL,KAAyB,kBAAE,CAC5D,qBAAIuL,CAAkBrL,GACpB,GAAY,MAATA,EAAe,CAChB,GAAiC,MAA9BF,KAAyB,mBAAa,OAGzC,OAFAO,UACAP,KAAyB,mBAAI,KAE/B,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACF,CACA,YAAI+a,GAAa,OAAOlb,KAAgB,SAAE,CAC1C,YAAIkb,CAAShb,GACX,GAAY,MAATA,EAAe,CAChB,GAAwB,MAArBF,KAAgB,UAAa,OAGhC,OAFAO,UACAP,KAAgB,UAAI,KAEtB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACF,CACA,WAAIgP,GAAY,OAAOnP,KAAe,QAAE,CACxC,WAAImP,CAAQjP,GACV,GAAY,MAATA,EAAe,CAChB,GAAuB,MAApBF,KAAe,SAAa,OAG/B,OAFAO,UACAP,KAAe,SAAI,KAErB,CAAO,CACL,IAAIG,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACF,CACA,UAAIsL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,OAAO,YAAY,UAAzCA,CAAoDF,GAC5DG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,IAAIC,EAAQC,GAAW,CAAC,uBAAuB,uBAAuB,cAAc,sBAAsB,cAAc,cAAc,kBAAkB,YAAY,cAAc,aAAa,aAAa,mBAAmB,OAAO,aAAa,YAAY,WAAW,cAAc,uBAA5QA,CAAoSF,GAC5SG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,eAAIyL,GAAgB,OAAO5L,KAAmB,YAAE,CAChD,eAAI4L,CAAY1L,GACd,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,SAAI0L,GAAU,OAAO7L,KAAa,MAAE,CACpC,SAAI6L,CAAM3L,GACR,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,qBAAI2L,GAAsB,OAAO9L,KAAyB,kBAAE,CAC5D,qBAAI8L,CAAkB5L,GACpB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAyB,sBAC3CO,KACAP,KAAyB,mBAAIG,EAEjC,CACA,WAAIqgB,GAAY,OAAOxgB,KAAe,QAAE,CACxC,WAAIwgB,CAAQtgB,GACV,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,6BAAI4L,GAA8B,OAAO/L,KAAiC,0BAAE,CAC5E,6BAAI+L,CAA0B7L,GAC5B,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,mBAAI6L,GAAoB,OAAOhM,KAAuB,gBAAE,CACxD,mBAAIgM,CAAgB9L,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,eAAI8L,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsQ,GAoBd,MAnBoB,kBAAV7R,GAA+B,MAATA,GAC7BuB,EAAI0J,QAAUjL,EAAe,QAC7BuB,EAAI8J,kBAAkD,MAA9BrL,EAAyB,kBAAY,KAAOA,EAAyB,kBAC7FuB,EAAIyZ,SAAgC,MAArBhb,EAAgB,SAAY,KAAOA,EAAgB,SAClEuB,EAAI0N,QAA8B,MAApBjP,EAAe,QAAY,KAAOA,EAAe,QAC/DuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIkK,aAAezL,EAAoB,aACvCuB,EAAImK,YAAc1L,EAAmB,YACrCuB,EAAIoK,MAAQ3L,EAAa,MACzBuB,EAAIqK,kBAAoB5L,EAAyB,kBACjDuB,EAAI+e,QAAUtgB,EAAe,QAC7BuB,EAAIsK,0BAA4B7L,EAAiC,0BACjEuB,EAAIuK,gBAAkB9L,EAAuB,gBAC7CuB,EAAIwK,YAAsC,MAAxB/L,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAMiG,GACX3H,cACEC,KAAmB,aAAI,GACvBA,KAAmB,aAAI,GACvBA,KAAY,MAAI,GAChBA,KAAa,OAAI,GACjBA,KAAc,QAAI,GAClBA,KAAW,KAAI,GACfA,KAAqB,eAAI,GACzBA,KAAoB,cAAI,GACxBA,KAAwB,kBAAI,GAC5BA,KAAoB,cAAI,uBACxBA,KAAmB,aAAI,GACvBA,KAAkB,YAAI,GACtBA,KAAgB,UAAI,GACpBA,KAAoB,cAAI,EAC1B,CACA,eAAI+H,GAAgB,OAAO/H,KAAmB,YAAE,CAChD,eAAI+H,CAAY7H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAI6H,GAAgB,OAAOhI,KAAmB,YAAE,CAChD,eAAIgI,CAAY9H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAIkL,GAAW,OAAOrL,KAAc,OAAE,CACtC,UAAIqL,CAAOnL,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,OAAIgI,GAAQ,OAAOnI,KAAW,IAAE,CAChC,OAAImI,CAAIjI,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,iBAAI4mB,GAAkB,OAAO/mB,KAAqB,cAAE,CACpD,iBAAI+mB,CAAc7mB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,gBAAI6mB,GAAiB,OAAOhnB,KAAoB,aAAE,CAClD,gBAAIgnB,CAAa9mB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,oBAAI8mB,GAAqB,OAAOjnB,KAAwB,iBAAE,CAC1D,oBAAIinB,CAAiB/mB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,IAAIC,EAAQC,GAAW,CAAC,uBAAuB,uBAAuB,cAAc,sBAAsB,cAAc,cAAc,kBAAkB,YAAY,cAAc,aAAa,aAAa,mBAAmB,OAAO,aAAa,YAAY,WAAW,cAAc,uBAA5QA,CAAoSF,GAC5SG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,eAAI+mB,GAAgB,OAAOlnB,KAAmB,YAAE,CAChD,eAAIknB,CAAYhnB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,cAAIgnB,GAAe,OAAOnnB,KAAkB,WAAE,CAC9C,cAAImnB,CAAWjnB,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,YAAIinB,GAAa,OAAOpnB,KAAgB,SAAE,CAC1C,YAAIonB,CAASlnB,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,gBAAIknB,GAAiB,OAAOrnB,KAAoB,aAAE,CAClD,gBAAIqnB,CAAannB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIiG,GAoBd,MAnBoB,kBAAVxH,GAA+B,MAATA,GAC7BuB,EAAIsG,YAAc7H,EAAmB,YACrCuB,EAAIuG,YAAc9H,EAAmB,YACrCuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI4J,OAASnL,EAAc,OAC3BuB,EAAI0G,IAAMjI,EAAW,IACrBuB,EAAIslB,cAAgB7mB,EAAqB,cACzCuB,EAAIulB,aAAe9mB,EAAoB,aACvCuB,EAAIwlB,iBAAmB/mB,EAAwB,iBAC/CuB,EAAIkK,aAAezL,EAAoB,aACvCuB,EAAIylB,YAAchnB,EAAmB,YACrCuB,EAAI0lB,WAAajnB,EAAkB,WACnCuB,EAAI2lB,SAAWlnB,EAAgB,SAC/BuB,EAAI4lB,aAAennB,EAAoB,cAEvCzB,GAAQ,6DAADiD,OAA8DxB,IAExEyB,KACOF,CACT,EAGK,MAAM6lB,GACXvnB,cACEC,KAA4B,sBAAI,aAChCA,KAAiB,WAAI,GACrBA,KAAuB,iBAAI,GAC3BA,KAAuB,iBAAI,cAC3BA,KAAuC,iCAAI,GAC3CA,KAAiB,WAAI,GACrBA,KAAc,QAAI,GAClBA,KAAqB,eAAI,GACzBA,KAAkB,YAAI,YACtBA,KAAkC,4BAAI,EACxC,CACA,wBAAIunB,GAAyB,OAAOvnB,KAA4B,qBAAE,CAClE,wBAAIunB,CAAqBrnB,GACvB,IAAIC,EAAQC,GAAW,CAAC,aAAa,QAAQ,cAAc,aAA/CA,CAA6DF,GACrEG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,aAAIqnB,GAAc,OAAOxnB,KAAiB,UAAE,CAC5C,aAAIwnB,CAAUtnB,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,mBAAIsnB,GAAoB,OAAOznB,KAAuB,gBAAE,CACxD,mBAAIynB,CAAgBvnB,GAClB,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,mBAAIunB,GAAoB,OAAO1nB,KAAuB,gBAAE,CACxD,mBAAI0nB,CAAgBxnB,GAClB,IAAIC,EAAQC,GAAW,CAAC,cAAc,WAAW,WAAW,YAAY,YAAY,aAAa,YAAY,cAAc,QAAQ,UAAU,0BAA0B,iBAAiB,QAAQ,OAAO,mBAAmB,UAAU,iBAAiB,WAAW,YAAY,YAAY,UAAU,UAAU,aAAa,cAAc,UAAU,wBAAwB,aAAa,cAA1WA,CAAyXF,GACjYG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,mCAAIwnB,GAAoC,OAAO3nB,KAAuC,gCAAE,CACxF,mCAAI2nB,CAAgCznB,GAClC,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuC,oCACzDO,KACAP,KAAuC,iCAAIG,EAE/C,CACA,aAAIynB,GAAc,OAAO5nB,KAAiB,UAAE,CAC5C,aAAI4nB,CAAU1nB,GACZ,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,UAAI2J,GAAW,OAAO9J,KAAc,OAAE,CACtC,UAAI8J,CAAO5J,GACT,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,iBAAI0nB,GAAkB,OAAO7nB,KAAqB,cAAE,CACpD,iBAAI6nB,CAAc3nB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,cAAI2nB,GAAe,OAAO9nB,KAAkB,WAAE,CAC9C,cAAI8nB,CAAW5nB,GACb,IAAIC,EAAQC,GAAW,CAAC,YAAY,aAAa,sBAAsB,sBAAsB,sBAAsB,qBAAqB,gCAAgC,8BAA8B,wBAAwB,eAAe,aAAa,mBAAmB,gBAAgB,gBAAgB,iBAAiB,sBAAsB,qBAAqB,mBAAmB,cAAc,cAAc,WAAW,UAAU,OAAO,gBAAgB,cAAc,oBAAoB,kBAAkB,QAAQ,aAAa,sBAAsB,eAAe,gBAAgB,cAAc,cAAc,gBAAgB,iBAAiB,eAAe,eAAe,cAAc,UAAU,oBAAoB,YAA7rBA,CAA0sBF,GACltBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,8BAAI4nB,GAA+B,OAAO/nB,KAAkC,2BAAE,CAC9E,8BAAI+nB,CAA2B7nB,GAC7B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkC,+BACpDO,KACAP,KAAkC,4BAAIG,EAE1C,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI6lB,GAgBd,MAfoB,kBAAVpnB,GAA+B,MAATA,GAC7BuB,EAAI8lB,qBAAuBrnB,EAA4B,qBACvDuB,EAAI+lB,UAAYtnB,EAAiB,UACjCuB,EAAIgmB,gBAAkBvnB,EAAuB,gBAC7CuB,EAAIimB,gBAAkBxnB,EAAuB,gBAC7CuB,EAAIkmB,gCAAkCznB,EAAuC,gCAC7EuB,EAAImmB,UAAY1nB,EAAiB,UACjCuB,EAAIqI,OAAS5J,EAAc,OAC3BuB,EAAIomB,cAAgB3nB,EAAqB,cACzCuB,EAAIqmB,WAAa5nB,EAAkB,WACnCuB,EAAIsmB,2BAA6B7nB,EAAkC,4BAEnEzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAGK,MAAMgY,GACX1Z,cACEC,KAAmB,aAAI,EACvBA,KAAoB,cAAI,IAAIsnB,EAC9B,CACA,eAAIrb,GAAgB,OAAOjM,KAAmB,YAAE,CAChD,eAAIiM,CAAY/L,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,gBAAImnB,GAAiB,OAAOtnB,KAAoB,aAAE,CAClD,gBAAIsnB,CAAapnB,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIgY,GAQd,MAPoB,kBAAVvZ,GAA+B,MAATA,GAC7BuB,EAAIwK,YAAc/L,EAAmB,YACrCuB,EAAI6lB,aAAeA,GAAa/lB,SAASrB,EAAoB,eAE7DzB,GAAQ,8DAADiD,OAA+DxB,IAEzEyB,KACOF,CACT,EAGK,MAAMumB,GACXjoB,cACEC,KAAwC,kCAAI,GAC5CA,KAAsC,gCAAI,EAC5C,CACA,oCAAIioB,GAAqC,OAAOjoB,KAAwC,iCAAE,CAC1F,oCAAIioB,CAAiC/nB,GACnC,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACA,kCAAI+nB,GAAmC,OAAOloB,KAAsC,+BAAE,CACtF,kCAAIkoB,CAA+BhoB,GACjC,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsC,mCACxDO,KACAP,KAAsC,gCAAIG,EAE9C,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIumB,GAQd,MAPoB,kBAAV9nB,GAA+B,MAATA,GAC7BuB,EAAIwmB,iCAAmC/nB,EAAwC,iCAC/EuB,EAAIymB,+BAAiChoB,EAAsC,gCAE3EzB,GAAQ,2CAADiD,OAA4CxB,IAEtDyB,KACOF,CACT,EAGK,MAAM0mB,GACXpoB,cACEC,KAAoB,cAAI,GACxBA,KAAoB,cAAI,GACxBA,KAAqB,eAAI,GACzBA,KAAmB,aAAI,GACvBA,KAAsB,gBAAI,QAC1BA,KAAe,SAAI,oBACnBA,KAAwB,kBAAI,GAC5BA,KAA0B,oBAAI,iBAC9BA,KAAY,MAAI,IAChBA,KAAmC,6BAAI,IACvCA,KAA2B,qBAAI,EACjC,CACA,gBAAI2a,GAAiB,OAAO3a,KAAoB,aAAE,CAClD,gBAAI2a,CAAaza,GACf,IAAIC,EAAQoV,GAAY,GAAZA,CAAgBrV,GACxBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,gBAAIya,GAAiB,OAAO5a,KAAoB,aAAE,CAClD,gBAAI4a,CAAa1a,GACf,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI0a,GAAkB,OAAO7a,KAAqB,cAAE,CACpD,iBAAI6a,CAAc3a,GAChB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,eAAIioB,GAAgB,OAAOpoB,KAAmB,YAAE,CAChD,eAAIooB,CAAYloB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,kBAAIkoB,GAAmB,OAAOroB,KAAsB,eAAE,CACtD,kBAAIqoB,CAAenoB,GACjB,IAAIC,EAAQC,GAAW,CAAC,QAAQ,MAAM,SAAS,QAAQ,uBAAuB,eAAe,UAAU,QAA3FA,CAAoGF,GAC5GG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,WAAIiE,GAAY,OAAOpE,KAAe,QAAE,CACxC,WAAIoE,CAAQlE,GACV,IAAIC,EAAQC,GAAW,CAAC,oBAAoB,kBAAkB,iBAAiB,kBAAkB,6BAA6B,iBAAiB,wBAAwB,qBAAqB,SAAS,oBAAzLA,CAA8MF,GACtNG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,oBAAImoB,GAAqB,OAAOtoB,KAAwB,iBAAE,CAC1D,oBAAIsoB,CAAiBpoB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,sBAAIooB,GAAuB,OAAOvoB,KAA0B,mBAAE,CAC9D,sBAAIuoB,CAAmBroB,GACrB,IAAIC,EAAQC,GAAW,CAAC,iBAAiB,OAAO,YAAY,iBAAhDA,CAAkEF,GAC1EG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,QAAIqoB,GAAS,OAAOxoB,KAAY,KAAE,CAClC,QAAIwoB,CAAKtoB,GACP,IAAIC,EAAQU,GAAc,IAAdA,CAAmBX,GAC3BG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,+BAAIsoB,GAAgC,OAAOzoB,KAAmC,4BAAE,CAChF,+BAAIyoB,CAA4BvoB,GAC9B,IAAIC,EAAQU,GAAc,IAAdA,CAAmBX,GAC3BG,KAAEC,QAAQH,EAAMH,KAAmC,gCACrDO,KACAP,KAAmC,6BAAIG,EAE3C,CACA,uBAAIuoB,GAAwB,OAAO1oB,KAA2B,oBAAE,CAChE,uBAAI0oB,CAAoBxoB,GACtB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA2B,wBAC7CO,KACAP,KAA2B,qBAAIG,EAEnC,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0mB,GAiBd,MAhBoB,kBAAVjoB,GAA+B,MAATA,GAC7BuB,EAAIkZ,aAAeza,EAAoB,aACvCuB,EAAImZ,aAAe1a,EAAoB,aACvCuB,EAAIoZ,cAAgB3a,EAAqB,cACzCuB,EAAI2mB,YAAcloB,EAAmB,YACrCuB,EAAI4mB,eAAiBnoB,EAAsB,eAC3CuB,EAAI2C,QAAUlE,EAAe,QAC7BuB,EAAI6mB,iBAAmBpoB,EAAwB,iBAC/CuB,EAAI8mB,mBAAqBroB,EAA0B,mBACnDuB,EAAI+mB,KAAOtoB,EAAY,KACvBuB,EAAIgnB,4BAA8BvoB,EAAmC,4BACrEuB,EAAIinB,oBAAsBxoB,EAA2B,qBAErDzB,GAAQ,4CAADiD,OAA6CxB,IAEvDyB,KACOF,CACT,EAGK,MAAMuE,GACXjG,cACEC,KAA6B,uBAAI,GACjCA,KAAsB,gBAAI,GAC1BA,KAA6B,uBAAI,GACjCA,KAA0B,oBAAI,GAC9BA,KAAsB,gBAAI,GAC1BA,KAAwB,kBAAI,GAC5BA,KAAgC,0BAAI,GACpCA,KAAuB,kBAAI,EAC3BA,KAAuB,kBAAI,CAC7B,CACA,yBAAI2oB,GAA0B,OAAO3oB,KAA6B,sBAAE,CACpE,yBAAI2oB,CAAsBzoB,GACxB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,kBAAIyoB,GAAmB,OAAO5oB,KAAsB,eAAE,CACtD,kBAAI4oB,CAAe1oB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,yBAAI0oB,GAA0B,OAAO7oB,KAA6B,sBAAE,CACpE,yBAAI6oB,CAAsB3oB,GACxB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,sBAAI2oB,GAAuB,OAAO9oB,KAA0B,mBAAE,CAC9D,sBAAI8oB,CAAmB5oB,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,kBAAI4oB,GAAmB,OAAO/oB,KAAsB,eAAE,CACtD,kBAAI+oB,CAAe7oB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,oBAAI6oB,GAAqB,OAAOhpB,KAAwB,iBAAE,CAC1D,oBAAIgpB,CAAiB9oB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,4BAAI8oB,GAA6B,OAAOjpB,KAAgC,yBAAE,CAC1E,4BAAIipB,CAAyB/oB,GAC3B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACA,mBAAI+oB,GAAoB,OAAOlpB,KAAuB,gBAAE,CACxD,mBAAIkpB,CAAgBhpB,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,mBAAIgpB,GAAoB,OAAOnpB,KAAuB,gBAAE,CACxD,mBAAImpB,CAAgBjpB,GAClB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIuE,GAed,MAdoB,kBAAV9F,GAA+B,MAATA,GAC7BuB,EAAIknB,sBAAwBzoB,EAA6B,sBACzDuB,EAAImnB,eAAiB1oB,EAAsB,eAC3CuB,EAAIonB,sBAAwB3oB,EAA6B,sBACzDuB,EAAIqnB,mBAAqB5oB,EAA0B,mBACnDuB,EAAIsnB,eAAiB7oB,EAAsB,eAC3CuB,EAAIunB,iBAAmB9oB,EAAwB,iBAC/CuB,EAAIwnB,yBAA2B/oB,EAAgC,yBAC/DuB,EAAIynB,gBAAkBhpB,EAAuB,gBAC7CuB,EAAI0nB,gBAAkBjpB,EAAuB,iBAE7CzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAMsE,GACXhG,cACEC,KAAsB,gBAAI,GAC1BA,KAA4B,sBAAI,GAChCA,KAAkB,aAAI,EACtBA,KAAiB,WAAI,GACrBA,KAAmB,cAAI,CACzB,CACA,kBAAIopB,GAAmB,OAAOppB,KAAsB,eAAE,CACtD,kBAAIopB,CAAelpB,GACjB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,wBAAIkpB,GAAyB,OAAOrpB,KAA4B,qBAAE,CAClE,wBAAIqpB,CAAqBnpB,GACvB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,cAAImpB,GAAe,OAAOtpB,KAAkB,WAAE,CAC9C,cAAIspB,CAAWppB,GACb,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,aAAIopB,GAAc,OAAOvpB,KAAiB,UAAE,CAC5C,aAAIupB,CAAUrpB,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,eAAIqpB,GAAgB,OAAOxpB,KAAmB,YAAE,CAChD,eAAIwpB,CAAYtpB,GACd,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIsE,GAWd,MAVoB,kBAAV7F,GAA+B,MAATA,GAC7BuB,EAAI2nB,eAAiBlpB,EAAsB,eAC3CuB,EAAI4nB,qBAAuBnpB,EAA4B,qBACvDuB,EAAI6nB,WAAappB,EAAkB,WACnCuB,EAAI8nB,UAAYrpB,EAAiB,UACjCuB,EAAI+nB,YAActpB,EAAmB,aAErCzB,GAAQ,+CAADiD,OAAgDxB,IAE1DyB,KACOF,CACT,EAGK,MAAM0R,GACXpT,cACEC,KAAiB,WAAI,GACrBA,KAAgB,UAAI,GACpBA,KAAa,OAAI,GACjBA,KAAsB,iBAAI,EAC1BA,KAAc,QAAI,UAClBA,KAAoB,eAAI,EACxBA,KAAW,KAAI,EACjB,CACA,aAAIkW,GAAc,OAAOlW,KAAiB,UAAE,CAC5C,aAAIkW,CAAUhW,GACZ,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,YAAIiW,GAAa,OAAOpW,KAAgB,SAAE,CAC1C,YAAIoW,CAASlW,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,SAAIkI,GAAU,OAAOrI,KAAa,MAAE,CACpC,SAAIqI,CAAMnI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,kBAAIspB,GAAmB,OAAOzpB,KAAsB,eAAE,CACtD,kBAAIypB,CAAevpB,GACjB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,UAAIsL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,UAAU,WAAW,eAAe,cAAc,iBAAiB,UAAzFA,CAAoGF,GAC5GG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,gBAAIupB,GAAiB,OAAO1pB,KAAoB,aAAE,CAClD,gBAAI0pB,CAAaxpB,GACf,IAAIC,EAAQ2B,IAAW,EAAXA,CAAiB5B,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,OAAI+L,GAAQ,OAAOlM,KAAW,IAAE,CAChC,OAAIkM,CAAIhM,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI0R,GAad,MAZoB,kBAAVjT,GAA+B,MAATA,GAC7BuB,EAAIyU,UAAYhW,EAAiB,UACjCuB,EAAI2U,SAAWlW,EAAgB,SAC/BuB,EAAI4G,MAAQnI,EAAa,MACzBuB,EAAIgoB,eAAiBvpB,EAAsB,eAC3CuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIioB,aAAexpB,EAAoB,aACvCuB,EAAIyK,IAAMhM,EAAW,KAErBzB,GAAQ,mDAADiD,OAAoDxB,IAE9DyB,KACOF,CACT,EAGK,MAAMkG,GACX5H,cACEC,KAAmB,aAAI,GACvBA,KAAmB,aAAI,GACvBA,KAAY,MAAI,GAChBA,KAAc,QAAI,GAClBA,KAAa,OAAI,GACjBA,KAAW,KAAI,GACfA,KAAwB,kBAAI,GAC5BA,KAAoB,cAAI,uBACxBA,KAAqB,eAAI,GACzBA,KAAoB,cAAI,GACxBA,KAAsB,iBAAI,EAC1BA,KAAmB,aAAI,GACvBA,KAAgB,UAAI,GACpBA,KAAoB,cAAI,EAC1B,CACA,eAAI+H,GAAgB,OAAO/H,KAAmB,YAAE,CAChD,eAAI+H,CAAY7H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,eAAI6H,GAAgB,OAAOhI,KAAmB,YAAE,CAChD,eAAIgI,CAAY9H,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,UAAIkL,GAAW,OAAOrL,KAAc,OAAE,CACtC,UAAIqL,CAAOnL,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,OAAIgI,GAAQ,OAAOnI,KAAW,IAAE,CAChC,OAAImI,CAAIjI,GACN,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CACA,oBAAI8mB,GAAqB,OAAOjnB,KAAwB,iBAAE,CAC1D,oBAAIinB,CAAiB/mB,GACnB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,IAAIC,EAAQC,GAAW,CAAC,uBAAuB,uBAAuB,cAAc,sBAAsB,cAAc,cAAc,kBAAkB,YAAY,cAAc,aAAa,aAAa,mBAAmB,OAAO,aAAa,YAAY,WAAW,cAAc,uBAA5QA,CAAoSF,GAC5SG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,iBAAI4mB,GAAkB,OAAO/mB,KAAqB,cAAE,CACpD,iBAAI+mB,CAAc7mB,GAChB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,gBAAI6mB,GAAiB,OAAOhnB,KAAoB,aAAE,CAClD,gBAAIgnB,CAAa9mB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,kBAAIwpB,GAAmB,OAAO3pB,KAAsB,eAAE,CACtD,kBAAI2pB,CAAezpB,GACjB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,eAAIypB,GAAgB,OAAO5pB,KAAmB,YAAE,CAChD,eAAI4pB,CAAY1pB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,YAAIinB,GAAa,OAAOpnB,KAAgB,SAAE,CAC1C,YAAIonB,CAASlnB,GACX,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAgB,aAClCO,KACAP,KAAgB,UAAIG,EAExB,CACA,gBAAIknB,GAAiB,OAAOrnB,KAAoB,aAAE,CAClD,gBAAIqnB,CAAannB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIkG,GAoBd,MAnBoB,kBAAVzH,GAA+B,MAATA,GAC7BuB,EAAIsG,YAAc7H,EAAmB,YACrCuB,EAAIuG,YAAc9H,EAAmB,YACrCuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAI4J,OAASnL,EAAc,OAC3BuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI0G,IAAMjI,EAAW,IACrBuB,EAAIwlB,iBAAmB/mB,EAAwB,iBAC/CuB,EAAIkK,aAAezL,EAAoB,aACvCuB,EAAIslB,cAAgB7mB,EAAqB,cACzCuB,EAAIulB,aAAe9mB,EAAoB,aACvCuB,EAAIkoB,eAAiBzpB,EAAsB,eAC3CuB,EAAImoB,YAAc1pB,EAAmB,YACrCuB,EAAI2lB,SAAWlnB,EAAgB,SAC/BuB,EAAI4lB,aAAennB,EAAoB,cAEvCzB,GAAQ,2DAADiD,OAA4DxB,IAEtEyB,KACOF,CACT,EAsHK,MAAM8e,GACXxgB,cACEC,KAAmB,aAAI,GACvBA,KAAsB,gBAAI,EAC1BA,KAA0B,oBAAI,GAC9BA,KAAmB,aAAI,EACzB,CACA,eAAI6pB,GAAgB,OAAO7pB,KAAmB,YAAE,CAChD,eAAI6pB,CAAY3pB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,kBAAI+Z,GAAmB,OAAOla,KAAsB,eAAE,CACtD,kBAAIka,CAAeha,GACjB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,sBAAI2pB,GAAuB,OAAO9pB,KAA0B,mBAAE,CAC9D,sBAAI8pB,CAAmB5pB,GACrB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,eAAI4pB,GAAgB,OAAO/pB,KAAmB,YAAE,CAChD,eAAI+pB,CAAY7pB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI8e,GAUd,MAToB,kBAAVrgB,GAA+B,MAATA,GAC7BuB,EAAIooB,YAAc3pB,EAAmB,YACrCuB,EAAIyY,eAAiBha,EAAsB,eAC3CuB,EAAIqoB,mBAAqB5pB,EAA0B,mBACnDuB,EAAIsoB,YAAc7pB,EAAmB,aAErCzB,GAAQ,0CAADiD,OAA2CxB,IAErDyB,KACOF,CACT,EAGK,MAAM8f,GACXxhB,cACEC,KAAY,MAAI,EAChBA,KAAW,KAAI,CACjB,CACA,QAAIuhB,GAAS,OAAOvhB,KAAY,KAAE,CAClC,QAAIuhB,CAAKrhB,GACP,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,OAAIqhB,GAAQ,OAAOxhB,KAAW,IAAE,CAChC,OAAIwhB,CAAIthB,GACN,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAW,QAC7BO,KACAP,KAAW,KAAIG,EAEnB,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAI8f,GAQd,MAPoB,kBAAVrhB,GAA+B,MAATA,GAC7BuB,EAAI8f,KAAOrhB,EAAY,KACvBuB,EAAI+f,IAAMthB,EAAW,KAErBzB,GAAQ,uCAADiD,OAAwCxB,IAElDyB,KACOF,CACT,EAGK,MAAMiP,GACX3Q,cACEC,KAAe,SAAI,GACnBA,KAAa,OAAI,GACjBA,KAAc,QAAI,GAClBA,KAAY,MAAI,GAChBA,KAAe,SAAI,GACnBA,KAAmB,aAAI,GACvBA,KAAiB,WAAI,YACrBA,KAAmB,aAAI,KACvBA,KAAoB,cAAI,uBACxBA,KAAe,SAAI,KACnBA,KAAa,OAAI,IACjBA,KAAiB,WAAI,GACrBA,KAAwB,mBAAI,EAC5BA,KAAkB,YAAI,GACtBA,KAAoB,cAAI,GACxBA,KAAoB,cAAI,YACxBA,KAAsB,gBAAI,GAC1BA,KAAe,SAAI,GACnBA,KAAgB,UAAI,IAAIgoB,GACxBhoB,KAAiB,WAAI,IAAImoB,GACzBnoB,KAAoB,cAAI,IAAI0a,GAC5B1a,KAAiB,WAAI,GACrBA,KAAkB,YAAI,GACtBA,KAAqB,eAAI,IAAIyM,GAC7BzM,KAAmB,aAAI,IAAIgO,GAC3BhO,KAAgC,0BAAI,KACpCA,KAA0B,oBAAI,KAC9BA,KAAkB,YAAI,KACtBA,KAAgB,UAAI,KACpBA,KAAc,QAAI,UAClBA,KAAiC,2BAAI,GACrCA,KAAuB,iBAAI,GAC3BA,KAAa,OAAI,GACjBA,KAAsB,gBAAI,IAAIgK,EAChC,CACA,WAAImB,GAAY,OAAOnL,KAAe,QAAE,CACxC,WAAImL,CAAQjL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,SAAI+H,GAAU,OAAOlI,KAAa,MAAE,CACpC,SAAIkI,CAAMhI,GACR,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,UAAIkL,GAAW,OAAOrL,KAAc,OAAE,CACtC,UAAIqL,CAAOnL,GACT,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,QAAI8H,GAAS,OAAOjI,KAAY,KAAE,CAClC,QAAIiI,CAAK/H,GACP,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAY,SAC9BO,KACAP,KAAY,MAAIG,EAEpB,CACA,WAAImL,GAAY,OAAOtL,KAAe,QAAE,CACxC,WAAIsL,CAAQpL,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,eAAI4J,GAAgB,OAAO/J,KAAmB,YAAE,CAChD,eAAI+J,CAAY7J,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,aAAIuL,GAAc,OAAO1L,KAAiB,UAAE,CAC5C,aAAI0L,CAAUxL,GACZ,IAAIC,EAAQC,GAAW,CAAC,YAAY,aAAa,aAAa,YAAY,SAAS,YAAvEA,CAAoFF,GAC5FG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,eAAI6pB,GAAgB,OAAOhqB,KAAmB,YAAE,CAChD,eAAIgqB,CAAY9pB,GACd,GAAY,MAATA,EAAe,CAChB,GAA2B,MAAxBF,KAAmB,aAAa,OAGnC,OAFAO,UACAP,KAAmB,aAAI,KAEzB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACF,CACA,gBAAIwL,GAAiB,OAAO3L,KAAoB,aAAE,CAClD,gBAAI2L,CAAazL,GACf,IAAIC,EAAQC,GAAW,CAAC,uBAAuB,uBAAuB,cAAc,sBAAsB,cAAc,cAAc,kBAAkB,YAAY,cAAc,aAAa,aAAa,mBAAmB,OAAO,aAAa,YAAY,WAAW,cAAc,uBAA5QA,CAAoSF,GAC5SG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,WAAIiE,GAAY,OAAOpE,KAAe,QAAE,CACxC,WAAIoE,CAAQlE,GACV,GAAY,MAATA,EAAe,CAChB,GAAuB,MAApBF,KAAe,SAAa,OAG/B,OAFAO,UACAP,KAAe,SAAI,KAErB,CAAO,CACL,IAAIG,EAAQC,GAAW,CAAC,YAAY,WAAW,gBAAgB,eAAe,yBAAyB,cAAc,oBAAoB,YAA7HA,CAA0IF,GAClJG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACF,CACA,SAAI8pB,GAAU,OAAOjqB,KAAa,MAAE,CACpC,SAAIiqB,CAAM/pB,GACR,IAAIC,EAAQuP,GAAW,IAAXA,CAAgBxP,GACxBG,KAAEC,QAAQH,EAAMH,KAAa,UAC/BO,KACAP,KAAa,OAAIG,EAErB,CACA,aAAI+pB,GAAc,OAAOlqB,KAAiB,UAAE,CAC5C,aAAIkqB,CAAUhqB,GACZ,IAAIC,EAAQoV,GAAY,GAAZA,CAAgBrV,GACxBG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,oBAAIgqB,GAAqB,OAAOnqB,KAAwB,iBAAE,CAC1D,oBAAImqB,CAAiBjqB,GACnB,IAAIC,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAwB,qBAC1CO,KACAP,KAAwB,kBAAIG,EAEhC,CACA,cAAIiqB,GAAe,OAAOpqB,KAAkB,WAAE,CAC9C,cAAIoqB,CAAWlqB,GACb,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,gBAAIkqB,GAAiB,OAAOrqB,KAAoB,aAAE,CAClD,gBAAIqqB,CAAanqB,GACf,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,gBAAImqB,GAAiB,OAAOtqB,KAAoB,aAAE,CAClD,gBAAIsqB,CAAapqB,GACf,IAAIC,EAAQC,GAAW,CAAC,YAAY,aAAa,YAArCA,CAAkDF,GAC1DG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,kBAAIoqB,GAAmB,OAAOvqB,KAAsB,eAAE,CACtD,kBAAIuqB,CAAerqB,GACjB,IAAIC,EAAQgE,GAAY,GAAZA,CAAgBjE,GACxBG,KAAEC,QAAQH,EAAMH,KAAsB,mBACxCO,KACAP,KAAsB,gBAAIG,EAE9B,CACA,WAAIqqB,GAAY,OAAOxqB,KAAe,QAAE,CACxC,WAAIwqB,CAAQtqB,GACV,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAe,YACjCO,KACAP,KAAe,SAAIG,EAEvB,CACA,YAAI6nB,GAAa,OAAOhoB,KAAgB,SAAE,CAC1C,YAAIgoB,CAAS9nB,GACXK,KACAP,KAAgB,UAAIE,CACtB,CACA,aAAIioB,GAAc,OAAOnoB,KAAiB,UAAE,CAC5C,aAAImoB,CAAUjoB,GACZK,KACAP,KAAiB,WAAIE,CACvB,CACA,gBAAIwa,GAAiB,OAAO1a,KAAoB,aAAE,CAClD,gBAAI0a,CAAaxa,GACfK,KACAP,KAAoB,cAAIE,CAC1B,CACA,aAAIuqB,GAAc,OAAOzqB,KAAiB,UAAE,CAC5C,aAAIyqB,CAAUvqB,GACZ,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiB,cACnCO,KACAP,KAAiB,WAAIG,EAEzB,CACA,cAAIgnB,GAAe,OAAOnnB,KAAkB,WAAE,CAC9C,cAAImnB,CAAWjnB,GACb,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,iBAAIuqB,GAAkB,OAAO1qB,KAAqB,cAAE,CACpD,iBAAI0qB,CAAcxqB,GAChBK,KACAP,KAAqB,eAAIE,CAC3B,CACA,eAAIyqB,GAAgB,OAAO3qB,KAAmB,YAAE,CAChD,eAAI2qB,CAAYzqB,GACdK,KACAP,KAAmB,aAAIE,CACzB,CACA,4BAAI0qB,GAA6B,OAAO5qB,KAAgC,yBAAE,CAC1E,4BAAI4qB,CAAyB1qB,GAC3B,GAAY,MAATA,EAAe,CAChB,GAAwC,MAArCF,KAAgC,0BAAa,OAGhD,OAFAO,UACAP,KAAgC,0BAAI,KAEtC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACF,CACA,sBAAI0qB,GAAuB,OAAO7qB,KAA0B,mBAAE,CAC9D,sBAAI6qB,CAAmB3qB,GACrB,GAAY,MAATA,EAAe,CAChB,GAAkC,MAA/BF,KAA0B,oBAAa,OAG1C,OAFAO,UACAP,KAA0B,oBAAI,KAEhC,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACF,CACA,cAAI2qB,GAAe,OAAO9qB,KAAkB,WAAE,CAC9C,cAAI8qB,CAAW5qB,GACb,GAAY,MAATA,EAAe,CAChB,GAA0B,MAAvBF,KAAkB,YAAa,OAGlC,OAFAO,UACAP,KAAkB,YAAI,KAExB,CAAO,CACL,IAAIG,EAAQ2B,IAAW,EAAXA,CAAkB5B,GAC1BG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACF,CACA,YAAIwV,GAAa,OAAO3V,KAAgB,SAAE,CAC1C,YAAI2V,CAASzV,GACX,GAAY,MAATA,EAAe,CAChB,GAAwB,MAArBF,KAAgB,UAAa,OAGhC,OAFAO,UACAP,KAAgB,UAAI,KAEtB,CACEO,KACAP,KAAgB,UAAIE,CAExB,CACA,UAAIuL,GAAW,OAAOzL,KAAc,OAAE,CACtC,UAAIyL,CAAOvL,GACT,IAAIC,EAAQC,GAAW,CAAC,UAAU,OAAO,YAAY,UAAzCA,CAAoDF,GAC5DG,KAAEC,QAAQH,EAAMH,KAAc,WAChCO,KACAP,KAAc,QAAIG,EAEtB,CACA,6BAAI4L,GAA8B,OAAO/L,KAAiC,0BAAE,CAC5E,6BAAI+L,CAA0B7L,GAC5B,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAiC,8BACnDO,KACAP,KAAiC,2BAAIG,EAEzC,CACA,mBAAI6L,GAAoB,OAAOhM,KAAuB,gBAAE,CACxD,mBAAIgM,CAAgB9L,GAClB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,SAAIqL,GAAU,OAAOxL,KAAa,MAAE,CACpC,SAAIwL,CAAMtL,GACRK,KACAP,KAAa,OAAIE,CACnB,CACA,kBAAI6qB,GAAmB,OAAO/qB,KAAsB,eAAE,CACtD,kBAAI+qB,CAAe7qB,GACjBK,KACAP,KAAsB,gBAAIE,CAC5B,CAEAgB,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIiP,GAwCd,MAvCoB,kBAAVxQ,GAA+B,MAATA,GAC7BuB,EAAI0J,QAAUjL,EAAe,QAC7BuB,EAAIyG,MAAQhI,EAAa,MACzBuB,EAAI4J,OAASnL,EAAc,OAC3BuB,EAAIwG,KAAO/H,EAAY,KACvBuB,EAAI6J,QAAUpL,EAAe,QAC7BuB,EAAIsI,YAAc7J,EAAmB,YACrCuB,EAAIiK,UAAYxL,EAAiB,UACjCuB,EAAIuoB,YAAsC,MAAxB9pB,EAAmB,YAAY,KAAOA,EAAmB,YAC3EuB,EAAIkK,aAAezL,EAAoB,aACvCuB,EAAI2C,QAA8B,MAApBlE,EAAe,QAAY,KAAOA,EAAe,QAC/DuB,EAAIwoB,MAAQ/pB,EAAa,MACzBuB,EAAIyoB,UAAYhqB,EAAiB,UACjCuB,EAAI0oB,iBAAmBjqB,EAAwB,iBAC/CuB,EAAI2oB,WAAalqB,EAAkB,WACnCuB,EAAI4oB,aAAenqB,EAAoB,aACvCuB,EAAI6oB,aAAepqB,EAAoB,aACvCuB,EAAI8oB,eAAiBrqB,EAAsB,eAC3CuB,EAAI+oB,QAAUtqB,EAAe,QAC7BuB,EAAIumB,SAAWA,GAASzmB,SAASrB,EAAgB,UACjDuB,EAAI0mB,UAAYA,GAAU5mB,SAASrB,EAAiB,WACpDuB,EAAIiZ,aAAeA,GAAanZ,SAASrB,EAAoB,cAC7DuB,EAAIgpB,UAAYvqB,EAAiB,UACjCuB,EAAI0lB,WAAajnB,EAAkB,WACnCuB,EAAIipB,cAAgBje,GAAclL,SAASrB,EAAqB,eAChEuB,EAAIkpB,YAAc3c,GAAYzM,SAASrB,EAAmB,aAC1DuB,EAAImpB,yBAAgE,MAArC1qB,EAAgC,yBAAY,KAAOA,EAAgC,yBAClHuB,EAAIopB,mBAAoD,MAA/B3qB,EAA0B,mBAAY,KAAOA,EAA0B,mBAChGuB,EAAIqpB,WAAoC,MAAvB5qB,EAAkB,WAAY,KAAOA,EAAkB,WACxEuB,EAAIkU,SAAgC,MAArBzV,EAAgB,SAAY,KAAOgF,GAAe3D,SAASrB,EAAgB,UAC1FuB,EAAIgK,OAASvL,EAAc,OAC3BuB,EAAIsK,0BAA4B7L,EAAiC,0BACjEuB,EAAIuK,gBAAkB9L,EAAuB,gBAC7CuB,EAAI+J,MAAQ3G,GAAasH,GAAK5K,SAAlBsD,CAA4B3E,EAAa,OACrDuB,EAAIspB,eAAiB/gB,GAAezI,SAASrB,EAAsB,iBAEnEzB,GAAQ,kDAADiD,OAAmDxB,IAE7DyB,KACOF,CACT,EAGK,MAAMilB,GACX3mB,cACEC,KAAmB,aAAI,EACzB,CACA,eAAIgrB,GAAgB,OAAOhrB,KAAmB,YAAE,CAChD,eAAIgrB,CAAY9qB,GACd,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAIilB,GAOd,MANoB,kBAAVxmB,GAA+B,MAATA,EAC7BuB,EAAIupB,YAAc9qB,EAAmB,YAErCzB,GAAQ,wCAADiD,OAAyCxB,IAEnDyB,KACOF,CACT,EAGK,MAAMmP,GACX7Q,cACEC,KAAqB,eAAI,EACzBA,KAA+B,yBAAI,EACnCA,KAAgC,0BAAI,EACpCA,KAA0B,oBAAI,EAC9BA,KAA6B,uBAAI,EACjCA,KAA6B,uBAAI,EACjCA,KAAqB,eAAI,EACzBA,KAA8B,wBAAI,EAClCA,KAAkB,YAAI,EACtBA,KAA4B,sBAAI,EAChCA,KAAwC,kCAAI,EAC5CA,KAAoB,cAAI,EACxBA,KAA+B,yBAAI,GACnCA,KAA6B,uBAAI,EACjCA,KAA6B,uBAAI,EACjCA,KAAmB,aAAI,EACvBA,KAA0B,oBAAI,EAC9BA,KAAuB,iBAAI,GAC3BA,KAAqB,eAAI,GACzBA,KAAoB,cAAI,EACxBA,KAAmB,aAAI,CACzB,CACA,iBAAI+mB,GAAkB,OAAO/mB,KAAqB,cAAE,CACpD,iBAAI+mB,CAAc7mB,GAChB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,2BAAI8qB,GAA4B,OAAOjrB,KAA+B,wBAAE,CACxE,2BAAIirB,CAAwB/qB,GAC1B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,4BAAI+qB,GAA6B,OAAOlrB,KAAgC,yBAAE,CAC1E,4BAAIkrB,CAAyBhrB,GAC3B,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAgC,6BAClDO,KACAP,KAAgC,0BAAIG,EAExC,CACA,sBAAIgrB,GAAuB,OAAOnrB,KAA0B,mBAAE,CAC9D,sBAAImrB,CAAmBjrB,GACrB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,yBAAIirB,GAA0B,OAAOprB,KAA6B,sBAAE,CACpE,yBAAIorB,CAAsBlrB,GACxB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,yBAAIkE,GAA0B,OAAOrE,KAA6B,sBAAE,CACpE,yBAAIqE,CAAsBnE,GACxB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,iBAAIkrB,GAAkB,OAAOrrB,KAAqB,cAAE,CACpD,iBAAIqrB,CAAcnrB,GAChB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,0BAAImrB,GAA2B,OAAOtrB,KAA8B,uBAAE,CACtE,0BAAIsrB,CAAuBprB,GACzB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA8B,2BAChDO,KACAP,KAA8B,wBAAIG,EAEtC,CACA,cAAIorB,GAAe,OAAOvrB,KAAkB,WAAE,CAC9C,cAAIurB,CAAWrrB,GACb,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAkB,eACpCO,KACAP,KAAkB,YAAIG,EAE1B,CACA,wBAAIqrB,GAAyB,OAAOxrB,KAA4B,qBAAE,CAClE,wBAAIwrB,CAAqBtrB,GACvB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA4B,yBAC9CO,KACAP,KAA4B,sBAAIG,EAEpC,CACA,oCAAIsrB,GAAqC,OAAOzrB,KAAwC,iCAAE,CAC1F,oCAAIyrB,CAAiCvrB,GACnC,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAwC,qCAC1DO,KACAP,KAAwC,kCAAIG,EAEhD,CACA,gBAAIurB,GAAiB,OAAO1rB,KAAoB,aAAE,CAClD,gBAAI0rB,CAAaxrB,GACf,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,2BAAIwrB,GAA4B,OAAO3rB,KAA+B,wBAAE,CACxE,2BAAI2rB,CAAwBzrB,GAC1B,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAA+B,4BACjDO,KACAP,KAA+B,yBAAIG,EAEvC,CACA,yBAAIyrB,GAA0B,OAAO5rB,KAA6B,sBAAE,CACpE,yBAAI4rB,CAAsB1rB,GACxB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,yBAAI0rB,GAA0B,OAAO7rB,KAA6B,sBAAE,CACpE,yBAAI6rB,CAAsB3rB,GACxB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA6B,0BAC/CO,KACAP,KAA6B,uBAAIG,EAErC,CACA,eAAI2rB,GAAgB,OAAO9rB,KAAmB,YAAE,CAChD,eAAI8rB,CAAY5rB,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CACA,sBAAI4rB,GAAuB,OAAO/rB,KAA0B,mBAAE,CAC9D,sBAAI+rB,CAAmB7rB,GACrB,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAA0B,uBAC5CO,KACAP,KAA0B,oBAAIG,EAElC,CACA,mBAAI6rB,GAAoB,OAAOhsB,KAAuB,gBAAE,CACxD,mBAAIgsB,CAAgB9rB,GAClB,IAAIC,EAAQO,GAAa,GAAbA,CAAiBR,GACzBG,KAAEC,QAAQH,EAAMH,KAAuB,oBACzCO,KACAP,KAAuB,iBAAIG,EAE/B,CACA,iBAAI8rB,GAAkB,OAAOjsB,KAAqB,cAAE,CACpD,iBAAIisB,CAAc/rB,GAChB,IAAIC,EAAQU,GAAc,GAAdA,CAAkBX,GAC1BG,KAAEC,QAAQH,EAAMH,KAAqB,kBACvCO,KACAP,KAAqB,eAAIG,EAE7B,CACA,gBAAI+rB,GAAiB,OAAOlsB,KAAoB,aAAE,CAClD,gBAAIksB,CAAahsB,GACf,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAoB,iBACtCO,KACAP,KAAoB,cAAIG,EAE5B,CACA,eAAIgsB,GAAgB,OAAOnsB,KAAmB,YAAE,CAChD,eAAImsB,CAAYjsB,GACd,IAAIC,EAAQc,GAAU,EAAVA,CAAaf,GACrBG,KAAEC,QAAQH,EAAMH,KAAmB,gBACrCO,KACAP,KAAmB,aAAIG,EAE3B,CAEAe,SAAW,OAAOC,KAAKC,UAAUpB,MAAMqB,MAAM,MAAMC,KAAK,IAAK,CAE7D,eAAOC,CAASrB,GACdsB,KACA,IAAIC,EAAM,IAAImP,GA2Bd,MA1BoB,kBAAV1Q,GAA+B,MAATA,GAC7BuB,EAAIslB,cAAgB7mB,EAAqB,cACzCuB,EAAIwpB,wBAA0B/qB,EAA+B,wBAC7DuB,EAAIypB,yBAA2BhrB,EAAgC,yBAC/DuB,EAAI0pB,mBAAqBjrB,EAA0B,mBACnDuB,EAAI2pB,sBAAwBlrB,EAA6B,sBACzDuB,EAAI4C,sBAAwBnE,EAA6B,sBACzDuB,EAAI4pB,cAAgBnrB,EAAqB,cACzCuB,EAAI6pB,uBAAyBprB,EAA8B,uBAC3DuB,EAAI8pB,WAAarrB,EAAkB,WACnCuB,EAAI+pB,qBAAuBtrB,EAA4B,qBACvDuB,EAAIgqB,iCAAmCvrB,EAAwC,iCAC/EuB,EAAIiqB,aAAexrB,EAAoB,aACvCuB,EAAIkqB,wBAA0BzrB,EAA+B,wBAC7DuB,EAAImqB,sBAAwB1rB,EAA6B,sBACzDuB,EAAIoqB,sBAAwB3rB,EAA6B,sBACzDuB,EAAIqqB,YAAc5rB,EAAmB,YACrCuB,EAAIsqB,mBAAqB7rB,EAA0B,mBACnDuB,EAAIuqB,gBAAkB9rB,EAAuB,gBAC7CuB,EAAIwqB,cAAgB/rB,EAAqB,cACzCuB,EAAIyqB,aAAehsB,EAAoB,aACvCuB,EAAI0qB,YAAcjsB,EAAmB,aAErCzB,GAAQ,8CAADiD,OAA+CxB,IAEzDyB,KACOF,CACT,EAGF,MAAMiO,GAAa,MACjB,MAAM0c,EAAIC,OAAO,UACjB,OAASC,GACLpsB,GACGG,KAAEksB,SAASrsB,IAAUksB,EAAEI,KAAKtsB,GACtBA,GAETzB,GAAQ,eAADiD,OAAgBxB,EAAK,oBACzBG,KAAEosB,UAAUvsB,GACNA,EAAMwsB,WAERJ,EAGZ,EAdkB,GAebtP,GAAe,MACnB,MAAMoP,EAAIC,OAAO,uCACjB,OAASC,GACLpsB,GACGG,KAAEksB,SAASrsB,KAAqB,KAAVA,GAAgBksB,EAAEI,KAAKtsB,IACvCA,GAETzB,GAAQ,iBAADiD,OAAkBxB,EAAK,qBAC3BG,KAAEssB,SAASzsB,GACLA,EAAMwsB,WAERJ,EAGZ,EAdoB,GAefzrB,GAAgB,MACpB,MAAMurB,EAAIC,OAAO,UACjB,OAASC,GACLpsB,GACGG,KAAEksB,SAASrsB,IAAUksB,EAAEI,KAAKtsB,GACtBA,GAETzB,GAAQ,kBAADiD,OAAmBxB,EAAK,sBAC5BG,KAAEosB,UAAUvsB,GACNA,EAAMwsB,WAERJ,EAGZ,EAdqB,GAehB/W,GAAc,MAClB,MAAM6W,EAAIC,OAAO,UACjB,OAASC,GACLpsB,GACGG,KAAEksB,SAASrsB,IAAUksB,EAAEI,KAAKtsB,GACtBA,GAETzB,GAAQ,gBAADiD,OAAiBxB,EAAK,oBAC1BG,KAAEosB,UAAUvsB,GACNA,EAAMwsB,WAERJ,EAGZ,EAdmB,GAedrU,GAEKqU,GACLpsB,GACGG,KAAEksB,SAASrsB,GACLA,GAETzB,GAAQ,iBAADiD,OAAkBxB,EAAK,qBACvBosB,GAIPnoB,GAEKmoB,GACLpsB,GACGG,KAAEksB,SAASrsB,GACLA,GAETzB,GAAQ,gBAADiD,OAAiBxB,EAAK,oBACtBosB,GAIb,SAASxqB,GAAWwqB,GAClB,OAASpsB,GACJG,KAAEusB,UAAU1sB,GACNA,GAETzB,GAAQ,eAADiD,OAAgBxB,EAAK,sBACf,QAAVA,GAA6B,SAAVA,GAGT,OAAVA,GAA4B,UAAVA,GAGdosB,EAEX,CACA,SAASrrB,GAAUqrB,GACjB,OAASpsB,IACP,GAAGG,KAAEosB,UAAUvsB,GACb,OAAOA,EAGT,GADAzB,GAAQ,cAADiD,OAAexB,EAAK,uBACxBG,KAAEksB,SAASrsB,GAAQ,CACpB,IAAI2sB,EAAIC,SAAS5sB,GACjB,GAAGG,KAAEssB,SAASE,GACZ,OAAOA,CAEX,CACA,OAAOP,CAAQ,CAEnB,CACA,SAAS5pB,GAAY4pB,GACnB,OAASpsB,IACP,GAAGG,KAAEssB,SAASzsB,GACZ,OAAOA,EAGT,GADAzB,GAAQ,gBAADiD,OAAiBxB,EAAK,qBAC1BG,KAAEksB,SAASrsB,GAAQ,CACpB,IAAI2sB,EAAIE,WAAW7sB,GACnB,GAAGG,KAAEssB,SAASE,GACZ,OAAOA,CAEX,CACA,OAAOP,CAAQ,CAEnB,CACA,SAAS5rB,GAAa4rB,GACpB,OAASpsB,GACJG,KAAEksB,SAASrsB,GACLA,GAETzB,GAAQ,iBAADiD,OAAkBxB,EAAK,qBACvBosB,EAEX,CACA,SAASznB,GAAamoB,GACpB,OAAS9sB,GACHG,KAAE4sB,QAAQ/sB,GAIPA,EAAMgtB,IAAIF,IAHfvuB,GAAQ,gBAADiD,OAAiBxB,EAAK,qBACtB,GAIb,CACA,SAASE,GAAWD,EAAMmsB,GACxB,OAASpsB,GACHG,KAAEksB,SAASrsB,GAIZA,IAAUosB,GAAajsB,KAAE8sB,SAAShtB,EAAMD,GAIpCA,GAHLzB,GAAQ,eAADiD,OAAgBxB,EAAK,eAAAwB,OAAcvB,IACnCmsB,IALP7tB,GAAQ,eAADiD,OAAgBxB,EAAK,qBACrBosB,EAQb,CAEA,IAAI/rB,GAAeA,KAAQ/B,IAAY,CAAI,GACtCgD,GAAUG,IAAY,MACvB,IAAIyrB,EAAI,EACR,MAAO,CAAC,KACG,IAANA,GACD7sB,GAAeA,OACf6sB,EAAI,GAEJA,GAAK,CACP,EAEF,KACW,IAANA,GACD7sB,GAAeA,KAAQ/B,IAAY,CAAI,EACvC4uB,EAAI,GAEJA,GAAK,CACP,EAEL,EAlB0B,GCt7Y3B,MAAMC,GAAYC,EAAQ,KAEpBC,GAA0B,IAAIhf,GAC9Bif,GAA8BrsB,KAAKssB,MAAOF,GAAwBrsB,UAy0CzDwsB,OAv0Cf,WAA0E,IAA9CxlB,EAAKylB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGH,GAA6BM,EAAMH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAGnE,OADA3lB,EAAQqG,GAAYhN,SAAS2G,GACrB4lB,EAAOC,MACX,KAAKx9B,EAED2X,EAASqG,GAAYhN,SAAUusB,EAAOE,SACtC,MACJ,KAAKx9B,EACD,IAAIy9B,EAAQH,EAAOI,KAAK7sB,MAAM,KAC1B8sB,EAAMjmB,EACV,IAAI,IAAIkmB,EAAI,EAAGA,EAAIH,EAAML,OAAQQ,IAC1BA,IAAMH,EAAML,OAAS,EACpBO,EAAIF,EAAMG,IAAMN,EAAOtY,MAEvB2Y,EAAMA,EAAIF,EAAMG,IAGxB,MAEJ,KAAKzxB,GACDuL,EAAM4J,KAAOgb,SAASgB,EAAOE,SAC7B,MACJ,KAAKpxB,GACDsL,EAAMsI,qBAAqBuE,SAAW+Y,EAAOE,QAC7C,MAEJ,KAAKnxB,GACDqL,EAAMsI,qBAAqBuE,SAAW,KACtC,MACJ,KAAKld,GACDqQ,EAAMgK,UAAU4b,EAAOO,MAAQP,EAAOE,QACtC,MACJ,KAAKl2B,GACDoQ,EAAMgK,UAAUpE,aAAaggB,EAAOO,MAAQP,EAAOE,QACnD,MACJ,KAAKj2B,GAEDmQ,EAAMgK,UAAUpE,aAAa9J,iBAAiB8pB,EAAOla,OAAOka,EAAOO,MAAQP,EAAOE,QAElF,MAEJ,KAAKv9B,EACDyX,EAAM+I,cAAgB6c,EAAOE,QAAS,MAC1C,KAAK/zB,GACSiO,EAAM4lB,EAAOQ,KACnBR,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAKr9B,EACSuX,EAEN4lB,EAAOO,MAASP,EAAOE,QAC3B,MAEJ,KAAKn9B,EACSqX,EAAqB,cAC3B4lB,EAAOO,MAASP,EAAOE,QAC3B,MAEJ,KAAKp9B,EACSsX,EAAM4lB,EAAOQ,KACnBR,EAAOO,MAASP,EAAOE,QAC3B,MAEJ,KAAKj9B,EACSmX,EAAMgK,UAAUpE,aACtBggB,EAAOO,MAASP,EAAOE,QAC3B,MAEJ,KAAKt9B,EACDwX,EAAMgJ,WAAa4c,EAAOE,QAAS,MACvC,KAAKl9B,EACDoX,EAAMuJ,sBAAwBqc,EAAOE,QAAS,MAClD,KAAK97B,EACDgW,EAAMqmB,yBAA2BT,EAAOE,QAAS,MACrD,KAAK77B,EACD+V,EAAM4lB,EAAOQ,KAAK1Y,SAASkY,EAAOO,MAAQP,EAAOE,QACjD,MAEJ,KAAKh9B,EACSkX,EAAM4lB,EAAOQ,KAAKtY,MACxB8X,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAK/8B,EACSiX,EAAM4lB,EAAOQ,KAAK7Y,WACxBqY,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAK98B,EACSgX,EAAM4lB,EAAOQ,KAAK1V,oBAAoBkV,EAAOla,OACnDka,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAK38B,EACS6W,EAAM4lB,EAAOQ,KACnB1V,oBAAsB,GAC1B,MAEJ,KAAKznB,EAA2B,CAC5B,IAAIg9B,EAAMjmB,EAAM4lB,EAAOQ,KACQ,OAA5BH,EAAIvV,sBACHuV,EAAIvV,oBAAsB,IAC9B,IAAI4V,EAAM,IAAItV,GACdsV,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIvV,oBAAoB+V,KAAKH,GAC7B,KACJ,CACA,KAAKp9B,EAA8B,CAC/B,IAAI+8B,EAAMjmB,EAAM4lB,EAAOQ,KACvBH,EAAIvV,oBAAoBgW,OAAO9B,SAASgB,EAAOla,OAAQ,GACvDua,EAAIvV,oBAAqByU,GAAUc,EAAIvV,qBACvC,KACJ,CAEA,KAAKtnB,EACS4W,EAAM4lB,EAAOQ,KAAKrX,kBAAkB6W,EAAOla,OACjDka,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAKv8B,EACSyW,EAAM4lB,EAAOQ,KACnBrX,kBAAoB,GACxB,MAEJ,KAAK1lB,EAAsB,CACvB,IAAI48B,EAAMjmB,EAAM4lB,EAAOQ,KACnBE,EAAM,IAAIrjB,GACdqjB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIlX,kBAAkB0X,KAAKH,GAC3B,KACJ,CACA,KAAKh9B,EAAyB,CAC1B,IAAI28B,EAAMjmB,EAAM4lB,EAAOQ,KACvBH,EAAIlX,kBAAkB2X,OAAO9B,SAASgB,EAAOla,OAAQ,GACrDua,EAAIlX,kBAAmBoW,GAAUc,EAAIlX,mBACrC,KACJ,CACA,KAAKvlB,EACSwW,EAAM4lB,EAAOQ,KAAK7Y,WACxBC,OAAOoY,EAAOO,MAAQP,EAAOE,QACjC,MAEJ,KAAKr8B,EACSuW,EAAM4lB,EAAOQ,KACnB5Y,OAAOoY,EAAOO,MAAQP,EAAOE,QACjC,MAEJ,KAAKp8B,EACSsW,EAAM4lB,EAAOQ,KAAK5Y,OACxB4E,YAAc,GAClB,MAEJ,KAAKzoB,EAAuB,CACxB,IAAIs8B,EAAMjmB,EAAM4lB,EAAOQ,KAAK5Y,OACL,OAApByY,EAAI7T,cACH6T,EAAI7T,YAAc,IACtB,IAAIkU,EAAM,IAAIlU,GACdkU,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAI7T,YAAYqU,KAAKH,GACrB,KACJ,CACA,KAAKz8B,EACSmW,EAAM4lB,EAAOQ,KAAK5Y,OACxBmZ,eAAiBf,EAAOE,QAC5B,MAEJ,KAAKl8B,EAA0B,CAC3B,IAAIq8B,EAAMjmB,EAAM4lB,EAAOQ,KAAK5Y,OAC5ByY,EAAI7T,YAAYsU,OAAO9B,SAASgB,EAAOE,SAAU,GACjD9lB,EAAMuI,SAASiF,OAAO4E,YAAc+S,GAAUc,EAAI7T,aAClD,KACJ,CACA,KAAKroB,EACSiW,EAAM4lB,EAAOQ,KAAK3Y,SACxBmY,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAKh8B,EACSkW,EAAM4lB,EAAOQ,KAAK5Y,OACxB4E,YAAYwS,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAC9D,MAEJ,KAAKp7B,EACSsV,EAAMsI,qBACZ4D,SAAW,GACf,MAEJ,KAAKhiB,EAA0B,CAC3B,IAAI+7B,EAAMjmB,EAAMsI,qBACb,OAAS2d,EAAI/Z,WACZ+Z,EAAI/Z,SAAW,IACnB,IAAIoa,EAAM,IAAIrf,GACdqf,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAI/Z,SAASua,KAAKH,GAClB,KACJ,CACA,KAAKn8B,EACS6V,EAAMsI,qBACZ4D,SAAW0Z,EAAOE,QACtB,MAEJ,KAAK17B,EACS4V,EAAMsI,qBACZ4D,SAASwa,OAAO9B,SAASgB,EAAOE,SAAU,GAC9C,MAEJ,KAAKz7B,EACS2V,EAAMsI,qBACZ4D,SAAS0Y,SAASgB,EAAOla,QAAQxE,SAAW0e,EAAOE,QACvD,MAEJ,KAAKx7B,EACS0V,EAAMsI,qBACZ4D,SAAS0Y,SAASgB,EAAOla,QAAQzE,QAAU2e,EAAOE,QACtD,MAEJ,KAAKv7B,EACSyV,EAAMsI,qBACZ4D,SAAS0Y,SAASgB,EAAOla,QAAQtE,QAAUwe,EAAOE,QACtD,MAEJ,KAAKr7B,EACSuV,EAAMsI,qBACZ4D,SAAS0Y,SAASgB,EAAOla,QAAQvE,YAAcye,EAAOE,QAC1D,MAEJ,KAAKt7B,EACSwV,EAAMsI,qBACZ4D,SAAS0Y,SAASgB,EAAOla,QAAQ3H,YAAc6gB,SAASgB,EAAOE,SACnE,MAEJ,KAAKl7B,EACSoV,EAAMsI,qBACZ6D,WAAa,GACjB,MAEJ,KAAKxhB,EAA4B,CAC7B,IAAIs7B,EAAMjmB,EAAMsI,qBACb,OAAS2d,EAAI9Z,aACZ8Z,EAAI9Z,WAAa,IACrB,IAAIma,EAAM,IAAIrf,GACdqf,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxB8B,EAAIpe,WAAa,IAAIA,GACrB+d,EAAI9Z,WAAWsa,KAAKH,GACpB,KACJ,CACA,KAAKz7B,EACSmV,EAAMsI,qBACZ6D,WAAWua,OAAO9B,SAASgB,EAAOE,SAAU,GAChD,MAEJ,KAAKh7B,EACSkV,EAAMsI,qBACZ6D,WAAWyY,SAASgB,EAAOla,QAAQxE,SAAW0e,EAAOE,QACzD,MAEJ,KAAK/6B,EACSiV,EAAMsI,qBACZ6D,WAAWyY,SAASgB,EAAOla,QAAQzE,QAAU2e,EAAOE,QACxD,MAEJ,KAAKvzB,GACSyN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAU+d,EAAOE,QACrB,MAEJ,KAAKxzB,GAAsB,CACpB,OAAS0N,EAAM4lB,EAAOQ,KAAK1Y,SAAS7F,UACnC7H,EAAM4lB,EAAOQ,KAAK1Y,SAAS7F,QAAU,IACzC,IAAIoe,EAAMjmB,EAAM4lB,EAAOQ,KAAK1Y,SACxB4Y,EAAM,IAAIze,GACdye,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIpe,QAAQ4e,KAAMH,GAClB,KACJ,CACA,KAAK9zB,GACSwN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAQ6e,OAAO9B,SAASgB,EAAOE,SAAU,GAC7C,MAEJ,KAAKrzB,GACSuN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAU,GACd,MAEJ,KAAKnV,GACSsN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAQ+c,SAASgB,EAAOla,QAAQ9J,OAASgkB,EAAOE,QACpD,MAGJ,KAAKjzB,GACSmN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAQ+c,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAC1D,MAGJ,KAAKlzB,GACSoN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAQ+c,SAASgB,EAAOla,QAAQ3D,iBAAmB6d,EAAOE,QAC9D,MAIJ,KAAKnzB,GACSqN,EAAM4lB,EAAOQ,KAAK1Y,SACxB7F,QAAQ+c,SAASgB,EAAOla,QAAQ5D,OAAS8d,EAAOE,QACpD,MAGJ,KAAK96B,GACSgV,EAAMsI,qBACZ6D,WAAWyY,SAASgB,EAAOla,QAAQtE,QAAUwe,EAAOE,QACxD,MAEJ,KAAK76B,GACS+U,EAAMsI,qBACZ6D,WAAWyY,SAASgB,EAAOla,QAAQ3H,YAAc6gB,SAASgB,EAAOE,SACrE,MAEJ,KAAK56B,GACS8U,EAAMsI,qBACZ6D,WAAWyY,SAASgB,EAAOla,QAAQrE,aAAeue,EAAOE,QAC7D,MAEJ,KAAK36B,GAAkC,CACnC,IAAI86B,EAAMjmB,EAAMsI,qBACZse,EAAI,IAAI1e,GACZ0e,EAAEze,OAASyd,EAAOE,QAAQ,GAC1Bc,EAAExe,MAAQwd,EAAOE,QAAQ,GACzBc,EAAEve,KAAOud,EAAOE,QAAQ,GACxBG,EAAI9Z,WAAWyY,SAASgB,EAAOla,QAAQxD,WAAa0e,EACpD,KACJ,CAEA,KAAKx7B,GACS4U,EAAM0K,WACZkb,EAAOO,MAAQP,EAAOE,QAC1B,MAIJ,KAAKhzB,GACSkN,EAAMsI,qBACZoE,cAAgB,GACpB,MAEJ,KAAK3Z,GACSiN,EAAMsI,qBACZoE,cAAcga,OAAO9B,SAASgB,EAAOE,SAAU,GACnD,MAEJ,KAAK9yB,GAA+B,CAChC,IAAIizB,EAAMjmB,EAAMsI,qBACb,OAAS2d,EAAIvZ,gBAChBuZ,EAAIvZ,cAAgB,IACpB,IAAI4Z,EAAM,IAAIpZ,GACdoZ,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIvZ,cAAc+Z,KAAKH,GACvB,KACJ,CACA,KAAKrzB,GACS+M,EAAMsI,qBACZoE,cAAckY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAChE,MAGJ,KAAKv6B,GACSyU,EAAMsI,qBACZue,YAAc,GAClB,MAEJ,KAAKx7B,GAAmB,CACpB,IAAI46B,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAInZ,GACdmZ,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIY,YAAYJ,KAAMH,GACtB,KACJ,CACA,KAAKh7B,GACS0U,EAAMsI,qBACZue,YAAYH,OAAO9B,SAASgB,EAAOE,SAAU,GACjD,MAEJ,KAAKt6B,GACSwU,EAAMsI,qBACZue,YAAYjC,SAASgB,EAAOla,QAAQ0B,KAAOwY,EAAOE,QACtD,MAEJ,KAAKr6B,GACSuU,EAAMsI,qBACZue,YAAYjC,SAASgB,EAAOla,QAAQzJ,KAAO2jB,EAAOE,QACtD,MAEJ,KAAKp6B,GACSsU,EAAMsI,qBACZue,YAAYjC,SAASgB,EAAOla,QAAQ4B,MAAQsY,EAAOE,QACvD,MAEJ,KAAKh6B,GACSkU,EAAMsI,qBACZmE,YAAc,GAClB,MAEJ,KAAK9gB,GAA0B,CAC3B,IAAIs6B,EAAMjmB,EAAMsI,qBACb,OAAS2d,EAAIxZ,cACZwZ,EAAIxZ,YAAc,IACtB,IAAI6Z,EAAM,IAAIrZ,GACdqZ,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIxZ,YAAYga,KAAKH,GACrB,KACJ,CACA,KAAK16B,GACSoU,EAAMsI,qBACZmE,YAAcmZ,EAAOE,QACzB,MAEJ,KAAKj6B,GACSmU,EAAMsI,qBACZmE,YAAYia,OAAO9B,SAASgB,EAAOE,SAAU,GACjD,MAEJ,KAAK/5B,GACSiU,EAAMsI,qBACZmE,YAAYmY,SAASgB,EAAOla,QAAQ7J,YAAc+jB,EAAOE,QAC7D,MAEJ,KAAK95B,GACSgU,EAAMsI,qBACZmE,YAAYmY,SAASgB,EAAOla,QAAQ4B,MAAQsY,EAAOE,QACvD,MAGJ,KAAK75B,GACS+T,EAAMsI,qBACZmE,YAAYmY,SAASgB,EAAOla,QAAQ3H,YAAc6hB,EAAOE,QAC7D,MAEJ,KAAK55B,GACS8T,EAAMsI,qBACZmE,YAAYmY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAC9D,MAGJ,KAAKnyB,GAAyB,CACvB,OAASqM,EAAMyJ,aACdzJ,EAAMyJ,WAAa,IAEvB,IAAIwc,EAAMjmB,EAAMyJ,WACZ6c,EAAM,IAAItb,GACdsb,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIQ,KAAKH,GACT,KACJ,CACA,KAAKzyB,GACDmM,EAAMyJ,WAAa,GACnB,MAEJ,KAAK7V,GACSoM,EAAMyJ,WACZid,OAAO9B,SAASgB,EAAOE,SAAU,GACrC,MAEJ,KAAKhyB,GACSkM,EAAMyJ,WACZmb,SAASgB,EAAOla,QAAQka,EAAOO,MAAOP,EAAOE,QACjD,MAGJ,KAAK/xB,GAA+B,CAE7B,OAASiM,EAAM4lB,EAAOQ,KAAK3V,mBAC9BzQ,EAAM4lB,EAAOQ,KAAK3V,iBAAmB,IACrC,IAAIwV,EAAMjmB,EAAM4lB,EAAOQ,KAAK3V,iBACxB6V,EAAM,IAAIvV,GACduV,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIQ,KAAKH,GACT,KACJ,CACA,KAAKryB,GAED+L,EAAM4lB,EAAOQ,KAAK3V,iBAAmB,GACrC,MAEJ,KAAKzc,GACSgM,EAAM4lB,EAAOQ,KAAK3V,iBACxBiW,OAAO9B,SAASgB,EAAOE,SAAU,GACrC,MAEJ,KAAK5xB,GACS8L,EAAM4lB,EAAOQ,KAAK3V,iBACxBmU,SAASgB,EAAOla,QAAQka,EAAOO,MAAOP,EAAOE,QACjD,MAEJ,KAAK3xB,GACS6L,EAAM4lB,EAAOQ,KAAK3V,iBACxBmU,SAASgB,EAAOla,QAAQ8B,OAAOoY,EAAOO,MAAOP,EAAOE,QACxD,MAGJ,KAAK1xB,GAAkC,CAEhC,OAAS4L,EAAM4lB,EAAOQ,KAAK1V,sBAC9B1Q,EAAM4lB,EAAOQ,KAAK1V,oBAAsB,IACxC,IAAIuV,EAAMjmB,EAAM4lB,EAAOQ,KAAK1V,oBACxB4V,EAAM,IAAItV,GACdsV,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIQ,KAAKH,GACT,KACJ,CACA,KAAKhyB,GAED0L,EAAM4lB,EAAOQ,KAAK1V,oBAAsB,GACxC,MAEJ,KAAKrc,GACS2L,EAAM4lB,EAAOQ,KAAK1V,oBACxBgW,OAAO9B,SAASgB,EAAOE,SAAU,GACrC,MAEJ,KAAKvxB,GACSyL,EAAM4lB,EAAOQ,KAAK1V,oBACxBkU,SAASgB,EAAOla,QAAQka,EAAOO,MAAOP,EAAOE,QACjD,MAEJ,KAAKtxB,GACSwL,EAAM4lB,EAAOQ,KAAK1V,oBACxBkU,SAASgB,EAAOla,QAAQ8B,OAASoY,EAAOE,QAC5C,MAGJ,KAAK15B,GACS4T,EAAMsI,qBACZhF,MAAQsiB,EAAOE,QACnB,MAEJ,KAAK35B,GAAmB,CACpB,IAAI85B,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAIriB,GACdqiB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAI3iB,MAAMmjB,KAAMH,GAChB,KACJ,CACA,KAAK/5B,GACSyT,EAAMsI,qBAEZhF,MAAMmjB,KAAMb,EAAOE,SACvB,MAEJ,KAAKz5B,GACS2T,EAAMsI,qBACZhF,MAAMojB,OAAO9B,SAASgB,EAAOE,SAAU,GAC3C,MAEJ,KAAKx5B,GACS0T,EAAMsI,qBACZhF,MAAQ,GACZ,MAEJ,KAAKrW,GACS+S,EAAMsI,qBAAqBhF,MACjCsiB,EAAOla,OAAOka,EAAOO,MAAQP,EAAOE,QACxC,MAGJ,KAAKt5B,GACSwT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQ8F,KAAOoU,EAAOE,QAChD,MAEJ,KAAKr5B,GACSuT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQzI,QAAU2iB,EAAOE,QACnD,MAEJ,KAAKp5B,GACSsT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQiO,cAAgBiM,EAAOE,QACzD,MAEJ,KAAKn5B,GACSqT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQxF,eAAiB0f,EAAOE,QAC1D,MAEJ,KAAKl5B,GACSoT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQmO,iBAAmB+L,EAAOE,QAC5D,MAEJ,KAAKj5B,GACSmT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQsP,cAAgB4K,EAAOE,QACzD,MAEJ,KAAK94B,GACSgT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQuP,KAAO2K,EAAOE,QAChD,MAEJ,KAAKh5B,GACSkT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQkP,mBAAqBgL,EAAOE,QAC9D,MAGJ,KAAK/4B,GACSiT,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQqO,gBAAkB6L,EAAOE,QAC3D,MAEJ,KAAK54B,GACS8S,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQwP,WAAa0K,EAAOE,QACtD,MAEJ,KAAK34B,GACS6S,EAAMsI,qBACZhF,MAAMshB,SAASgB,EAAOla,QAAQyP,YAAcyK,EAAOE,QACvD,MAEJ,KAAK14B,GACS4S,EAAMsI,qBACZ+D,WAAauZ,EAAOE,QACxB,MAEJ,KAAKz4B,GAAoB,CACrB,IAAI44B,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACH,MAAlByB,EAAI5Z,aACH4Z,EAAI5Z,WAAa,IACrB4Z,EAAI5Z,WAAWoa,KAAMH,GACrB,KACJ,CACA,KAAKh5B,GAA6B,CAC9B,IAAI24B,EAAMjmB,EAAMuI,SACZ+d,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACE,MAAvByB,EAAI7Z,kBACH6Z,EAAI7Z,gBAAkB,IAC1B6Z,EAAI7Z,gBAAgBqa,KAAMH,GAC1B,KACJ,CACA,KAAK/4B,GAA+B,CAChC,IAAI04B,EAAMjmB,EAAM0J,WACZ4c,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACE,MAAvByB,EAAI7Z,kBACH6Z,EAAI7Z,gBAAkB,IAC1B6Z,EAAI7Z,gBAAgBqa,KAAMH,GAC1B,KACJ,CACA,KAAK94B,GAAwB,CACzB,IAAIy4B,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACE,MAAvByB,EAAI7Z,kBACH6Z,EAAI7Z,gBAAkB,IAC1B6Z,EAAI7Z,gBAAgB0a,QAASR,GAC7B,KACJ,CACA,KAAK74B,GAAiC,CAClC,IAAIw4B,EAAMjmB,EAAMuI,SACZ+d,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACE,MAAvByB,EAAI7Z,kBACH6Z,EAAI7Z,gBAAkB,IAC1B6Z,EAAI7Z,gBAAgB0a,QAASR,GAC7B,KACJ,CACA,KAAK54B,GAAmC,CACpC,IAAIu4B,EAAMjmB,EAAM0J,WACZ4c,EAAM,IAAItjB,GACdsjB,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACE,MAAvByB,EAAI7Z,kBACH6Z,EAAI7Z,gBAAkB,IAC1B6Z,EAAI7Z,gBAAgB0a,QAASR,GAC7B,KACJ,CACA,KAAK34B,GACSqS,EAAMsI,qBACZ8D,gBAAgBsa,OAAO9B,SAASgB,EAAOE,SAAU,GACrD,MAEJ,KAAKl4B,GACSoS,EAAMuI,SACZ6D,gBAAgBsa,OAAO9B,SAASgB,EAAOE,SAAU,GACrD,MAEJ,KAAKj4B,GACSmS,EAAM0J,WACZ0C,gBAAgBsa,OAAO9B,SAASgB,EAAOE,SAAU,GACrD,MAEJ,KAAKh4B,GACSkS,EAAMsI,qBACZ8D,gBAAkB,GACtB,MAEJ,KAAKre,GACSiS,EAAMuI,SACZ6D,gBAAkB,GACtB,MAEJ,KAAKpe,GACSgS,EAAM0J,WACZ0C,gBAAkB,GACtB,MAEJ,KAAKle,GACS8R,EAAMsI,qBACZ8D,gBAAgBwY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAClE,MAEJ,KAAK73B,GACS+R,EAAMuI,SACZ6D,gBAAgBwY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAClE,MAEJ,KAAK33B,GACS6R,EAAM0J,WACZ0C,gBAAgBwY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAClE,MAEJ,KAAK13B,GAAkC,CACnC,IAAI63B,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAIzc,GACdyc,EAAIjjB,mBAAoB,EACxBijB,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACH,MAAlByB,EAAI5Z,aACH4Z,EAAI5Z,WAAa,IACrB4Z,EAAI5Z,WAAWoa,KAAMH,GACrB,KACJ,CACA,KAAKj4B,GACS2R,EAAMsI,qBACZ+D,WAAWqa,OAAO9B,SAASgB,EAAOE,SAAU,GAChD,MAEJ,KAAKx3B,GACS0R,EAAMsI,qBACZ+D,WAAa,GACjB,MAEJ,KAAK9d,GACSyR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOE,QAC7D,MAEJ,KAAKt3B,GACSwR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQzI,QAAU2iB,EAAOE,QACxD,MAEJ,KAAKr3B,GACSuR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQnI,OAASqiB,EAAOE,QACvD,MAEJ,KAAKp3B,GACSsR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQjI,aAAemiB,EAAOE,QAC7D,MAEJ,KAAKn3B,GACSqR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQhI,YAAckiB,EAAOE,QAC5D,MAEJ,KAAKl3B,GACSoR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ/H,MAAQiiB,EAAOE,QACtD,MAEJ,KAAKj3B,GACSmR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ9H,kBAAoBgiB,EAAOE,QAClE,MAEJ,KAAKh3B,GACSkR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ4M,QAAUsN,EAAOE,QACxD,MAEJ,KAAK/2B,GACSiR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ7H,0BAA4B+hB,EAAOE,QAC1E,MAEJ,KAAK92B,GACSgR,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ5H,gBAAkB8hB,EAAOE,QAChE,MAEJ,KAAK52B,GAES8Q,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQka,EAAOO,MAAQP,EAAOtY,MAC7D,MAIJ,KAAKre,GACS+Q,EAAMsI,qBACZ+D,WAAWuY,SAASgB,EAAOla,QAAQ3H,YAAc6gB,SAASgB,EAAOE,SACrE,MAEJ,KAAKr2B,GACSuQ,EAAMsI,qBACZqE,0BAA4BiZ,EAAOE,QACvC,MAEJ,KAAKp2B,GACSsQ,EAAMsI,qBACZsE,cAAgBgZ,EAAOE,QAC3B,MAGJ,KAAK32B,GAAiC,CAClC,IAAI82B,EAAMjmB,EAAM4lB,EAAOQ,KAAK1Y,SACxB4Y,EAAM,IAAIxT,GACdwT,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIc,sBAAsBN,KAAMH,GAChC,KACJ,CACA,KAAKl3B,GACS4Q,EAAM4lB,EAAOQ,KAAK1Y,SACxBqZ,sBAAsBL,OAAO9B,SAASgB,EAAOE,SAAU,GAC3D,MAEJ,KAAKz2B,GACS2Q,EAAM4lB,EAAOQ,KAAK1Y,SACxBqZ,sBAAwB,GAC5B,MAEJ,KAAKz3B,GACS0Q,EAAM4lB,EAAOQ,KAAK1Y,SACxBqZ,sBAAsBnC,SAASgB,EAAOla,QAAQqH,QAAU6S,EAAOE,QACnE,MAEJ,KAAKv2B,GACSyQ,EAAM4lB,EAAOQ,KAAK1Y,SACxBqZ,sBAAsBnC,SAASgB,EAAOla,QAAQsH,SAAW4S,EAAOE,QACpE,MAEJ,KAAKt2B,GACSwQ,EAAM4lB,EAAOQ,KAAK1Y,SACxBqZ,sBAAsBnC,SAASgB,EAAOla,QAAQzE,QAAU2e,EAAOE,QACnE,MAGJ,KAAKxwB,GAAmB,CACpB,IAAI2wB,EAAMjmB,EAAMsI,qBACZge,EAAM,IAAIvZ,GACX,OAASkZ,EAAI1Z,QACZ0Z,EAAI1Z,MAAQ,IAChB+Z,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAI1Z,MAAMka,KAAMH,GAChB,KACJ,CACA,KAAK/wB,GACSyK,EAAMsI,qBACZiE,MAAQqZ,EAAOE,QACnB,MAEJ,KAAKrwB,GACSuK,EAAMsI,qBACZiE,MAAQ,GACZ,MAEJ,KAAK/W,GACSwK,EAAMsI,qBACZiE,MAAMma,OAAO9B,SAASgB,EAAOla,OAAQ,GACzC,MAEJ,KAAKhW,GACSsK,EAAMsI,qBACZiE,MAAMqZ,EAAOla,OAAOka,EAAOO,MAAQP,EAAOtY,MAC9C,MAGJ,KAAK3X,GACSqK,EAAMsI,qBACZgE,mBAAqBsZ,EAAOE,QAChC,MAGJ,KAAKlwB,GACSoK,EAAMsI,qBAAqBgE,mBACjCsZ,EAAOla,OAAOka,EAAOO,MAAQP,EAAOE,QACxC,MAGJ,KAAK5yB,GAAuB,CACxB,IAAIozB,EAAM,IAAIrb,GACdqb,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkB8c,KAAMH,GAC9B,KACJ,CACA,KAAKnzB,GACD6M,EAAM2J,kBAAkB+c,OAAO9B,SAASgB,EAAOE,SAAU,GACzD,MAEJ,KAAK1yB,GACD4M,EAAM2J,kBAAoB,GAC1B,MAEJ,KAAKtW,IACS,IAAI4X,IACVjH,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkBib,SAASgB,EAAOla,QAAQsC,UAAY4X,EAAOE,QACnE,MAEJ,KAAKxyB,IACS,IAAI2X,IACVjH,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkBib,SAASgB,EAAOla,QAAQwC,SAAW0X,EAAOE,QAClE,MAEJ,KAAKvyB,IACS,IAAI0X,IACVjH,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkBib,SAASgB,EAAOla,QAAQvL,MAAQylB,EAAOE,QAC/D,MAEJ,KAAKtyB,IACS,IAAIyX,IACVjH,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkBib,SAASgB,EAAOla,QAAQnI,OAASqiB,EAAOE,QAChE,MAGJ,KAAKryB,IACS,IAAIwX,IACVjH,IAAMuiB,KAAKC,SAAShC,WACxBxkB,EAAM2J,kBAAkBib,SAASgB,EAAOla,QAAQ8V,aAAeoE,EAAOE,QACtE,MAGJ,KAAK11B,GACD4P,EAAM6J,SAAShI,YAAc+jB,EAAOE,QAAS,MACjD,KAAK31B,GACD6P,EAAM6J,SAAS5G,QAAU2iB,EAAOE,QAAS,MAC7C,KAAKz1B,GACD2P,EAAM6J,SAASrG,UAAYoiB,EAAOE,QAAS,MAC/C,KAAKx1B,GACD0P,EAAM6J,SAAS3N,QAAU0pB,EAAOE,QAAS,MAC7C,KAAKv1B,GACDyP,EAAM6J,SAAS0Y,UAAYqD,EAAOE,QAAS,MAC/C,KAAKt1B,GACDwP,EAAM6J,SAASoV,WAAa2G,EAAOE,QAAS,MAChD,KAAKp1B,GACDsP,EAAM6J,SAASkY,MAAQ6D,EAAOE,QAAS,MAC3C,KAAKn1B,GACDqP,EAAM6J,SAASmY,UAAY4D,EAAOE,QAAS,MAC/C,KAAKl1B,GACDoP,EAAM6J,SAASqY,WAAa0D,EAAOE,QAAS,MAChD,KAAKh1B,GACDkP,EAAM6J,SAASuY,aAAewD,EAAOE,QAAS,MAClD,KAAKj1B,GACDmP,EAAM6J,SAASsY,aAAeyD,EAAOE,QAAS,MAClD,KAAK/0B,GACDiP,EAAM6J,SAASyY,QAAUsD,EAAOE,QAAS,MAC7C,KAAMr1B,GACFuP,EAAM6J,SAAS+b,EAAOO,MAAQP,EAAOE,QACrC,MAEJ,KAAK90B,GACDgP,EAAM6J,SAASoW,UAAUxN,aAAemT,EAAOE,QAAS,MAC5D,KAAK70B,GACD+O,EAAM6J,SAASoW,UAAUvN,aAAekT,EAAOE,QAAS,MAC5D,KAAK50B,GACD8O,EAAM6J,SAASoW,UAAU/jB,QAAU0pB,EAAOE,QAAS,MACvD,KAAK30B,GACD6O,EAAM6J,SAASoW,UAAUG,iBAAmBwF,EAAOE,QAAS,MAChE,KAAK10B,GACD4O,EAAM6J,SAASoW,UAAUI,mBAAqBuF,EAAOE,QAAS,MAClE,KAAKz0B,GACD2O,EAAM6J,SAASoW,UAAUK,KAAOsF,EAAOE,QAAS,MACpD,KAAKx0B,GACD0O,EAAM6J,SAASoW,UAAUO,oBAAsBoF,EAAOE,QAAS,MACnE,KAAKv0B,GACDyO,EAAM6J,SAASoW,UAAU2F,EAAOO,MAAQP,EAAOE,QAAS,MAC5D,KAAKt0B,GACDwO,EAAM6J,SAAS2I,aAAaC,aAAemT,EAAOE,QAAS,MAC/D,KAAKr0B,GACDuO,EAAM6J,SAAS2I,aAAaE,aAAekT,EAAOE,QAAS,MAC/D,KAAKp0B,GACDsO,EAAM6J,SAAS2I,aAAaG,cAAgBiT,EAAOE,QAAS,MAChE,KAAKn0B,GACDqO,EAAM6J,SAASoW,UAAUtN,cAAgBiT,EAAOE,QAAS,MAC7D,KAAKl0B,GACLoO,EAAM6J,SAAS2I,aAAaI,aAAegT,EAAOE,QAAS,MAC3D,KAAKj0B,GACDmO,EAAM6J,SAAS2I,aAAaK,mBAAqB+S,EAAOE,QAAS,MACrE,KAAKh0B,GACSkO,EAAM4lB,EAAOQ,KAAKzY,aACxBiY,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAK9zB,GACDgO,EAAM6J,SAASwY,eAAkBuD,EAAOE,QACxC,MAEJ,KAAK3zB,GACD6N,EAAM6J,SAASpG,aAAgBmiB,EAAOE,QACtC,MAEJ,KAAKzzB,GACD2N,EAAM6J,SAASgZ,eAAe+C,EAAOO,MAASP,EAAOE,QACrD,MAEJ,KAAK1zB,GAAqB,CACtB,IAAI6zB,EAAMjmB,EAAM6J,SACZmd,EAAOpB,EAAOO,KAAKhtB,MAAM,KAE7B,IAAI,IAAI+sB,EAAI,EAAGA,EAAIc,EAAKtB,OAAS,EAAGQ,IAChCD,EAAMA,EAAIe,EAAKd,IAEnBD,EAAIe,EAAKA,EAAKtB,OAAS,IAAOE,EAAOE,QACrC,KACJ,CAEA,KAAK7zB,GACS+N,EAAM4lB,EAAOQ,KAAKxY,iBACxBgY,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAK5zB,GAA8B,CAC/B,IAAI+zB,EAAMjmB,EAAM4lB,EAAOQ,KAAKxY,iBACjBgY,EAAOqB,QAAQ9tB,MAAM,KAC3B+tB,SAASC,IACVlB,EAAMA,EAAIkB,EAAI,IAElBlB,EAAIL,EAAOO,MAAQP,EAAOE,QAC1B,KACJ,CACA,KAAK1vB,GACS4J,EAAMyI,QACZmd,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAKzvB,GACS2J,EAAM0I,YACZkd,EAAOO,MAAQP,EAAOE,QAC1B,MAEJ,KAAKpyB,GACDsM,EAAM6J,SAAS4Y,YAAYmD,EAAOO,MAASP,EAAOE,QAClD,MAEJ,KAAKlxB,GAA2B,CAE5B,IAAIqxB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBub,mBACzDwO,EAAI,EACJkB,GAAQ,EACZ,KAAMlB,EAAID,EAAIP,OAAQQ,IAClB,GAAGD,EAAIC,GAAGvE,cAAgBiE,EAAOjE,YAAa,CAC1CsE,EAAIC,GAAGlU,eAAiB4T,EAAO5T,eAC/BoV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIhP,GACjBgP,EAAO1F,YAAciE,EAAOjE,YAC5B0F,EAAOrV,eAAiB4T,EAAO5T,eAC/BiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKxyB,GAAwB,CACzB,IAAIoxB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBwb,gBACzDuO,EAAI,EACJkB,GAAQ,EACZ,KAAMlB,EAAID,EAAIP,OAAQQ,IAClB,GAAGD,EAAIC,GAAGvE,cAAgBiE,EAAOjE,YAAa,CAC1CsE,EAAIC,GAAGlU,eAAiB4T,EAAO5T,eAC/BoV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIhP,GACjBgP,EAAO1F,YAAciE,EAAOjE,YAC5B0F,EAAOrV,eAAiB4T,EAAO5T,eAC/BiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKvyB,GACSkL,EAAMgK,UAAUpE,aAAazJ,sBACnCypB,EAAO0B,SAAY1B,EAAO5T,eAC9B,MAEJ,KAAKjd,GAAsB,CACvB,IAAIkxB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBorB,cACzDrB,EAAI,EACJkB,GAAQ,EACZ,KAAMlB,EAAID,EAAIP,OAAQQ,IAClB,GAAGD,EAAIC,GAAGnU,aAAe6T,EAAO7T,WAAY,CACxCkU,EAAIC,GAAGlU,eAAiB4T,EAAO5T,eAC/BoV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIvV,GACjBuV,EAAOtV,WAAa6T,EAAO7T,WAC3BsV,EAAOrV,eAAiB4T,EAAO5T,eAC/BiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKryB,GAAmB,CACpB,IAAIixB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsB2b,WACzDoO,EAAI,EACJkB,GAAQ,EACZ,KAAMlB,EAAID,EAAIP,OAAQQ,IAClB,GAAGD,EAAIC,GAAGnU,aAAe6T,EAAO7T,WAAY,CACxCkU,EAAIC,GAAGlU,eAAiB4T,EAAO5T,eAC/BoV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIvV,GACjBuV,EAAOtV,WAAa6T,EAAO7T,WAC3BsV,EAAOrV,eAAiB4T,EAAO5T,eAC/BiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKr3B,GACDgQ,EAAMgK,UAAUpE,aAAazJ,sBAAwBgpB,GAAUS,EAAOE,SACtE,MAEJ,KAAKh2B,GAA0B,CAC3B,IAAIm2B,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOiW,cAAgBiE,EAAO7T,WAAY,CAC7CqV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIhP,GACjBgP,EAAO1F,YAAciE,EAAO7T,WAC5BsV,EAAOrV,eAAiB,EACxBiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKt3B,GAA6B,CAC9B,IAAIk2B,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOiW,cAAgBiE,EAAO7T,WAAY,CAC7CqV,GAAQ,EACR,KACJ,CAEDA,GACCnB,EAAIS,OAAOhb,EAAO,GAEtB,KACJ,CACA,KAAKzb,GAAyB,CAC1B,IAAIg2B,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOqG,aAAe6T,EAAO7T,WAAY,CAC5CqV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAIvV,GACjBuV,EAAOtV,WAAa6T,EAAO7T,WAC3BsV,EAAOrV,eAAiB,EACxBiU,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKn3B,GAA4B,CAC7B,IAAI+1B,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOqG,aAAe6T,EAAO7T,WAAY,CAC5CqV,GAAQ,EACR,KACJ,CAEDA,GACCnB,EAAIS,OAAOhb,EAAO,GAEtB,KACJ,CAEA,KAAKtW,GAA0B,CAE3B,IAAI6wB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOuR,cAAgB2I,EAAO7T,WAAY,CAC7CqV,GAAQ,EACR,KACJ,CAEJ,GAAGA,EACC,MACJ,IAAIC,EAAS,IAAI/O,GACjB+O,EAAOpK,YAAc2I,EAAO7T,WAC5BsV,EAAOrV,eAAiB,EACxBqV,EAAOxK,OAAS+I,EAAO/I,OACvBoJ,EAAIQ,KAAKY,GACT,KACJ,CACA,KAAKhyB,GAA6B,CAC9B,IAAI4wB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE+O,GAAQ,EACR1b,EAAQ,EACZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOuR,cAAgB2I,EAAO7T,WAAY,CAC7CqV,GAAQ,EACR,KACJ,CAEDA,GACCnB,EAAIS,OAAOhb,EAAO,GAEtB,KACJ,CAEA,KAAKzW,GAAuB,CACxB,IAAIgxB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE3M,EAAQ,EAEZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOuR,cAAgB2I,EAAOpU,KAAM,CACvCyU,EAAIva,GAAOwR,eAAiB0I,EAAO/I,OACnC,KACJ,CAEJ,KACJ,CACA,KAAK3nB,GAAuB,CACxB,IAAI+wB,EAAMjmB,EAAMgK,UAAUpE,aAAazJ,sBAAsBypB,EAAOvN,SAChE3M,EAAQ,EAEZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOuR,cAAgB2I,EAAOpU,KAAM,CACvCyU,EAAIva,GAAQ9J,OAASgkB,EAAOhkB,OAC5B,KACJ,CAEJ,KACJ,CACA,KAAKzM,GAAwB,CACzB,IAGIqyB,EAHAvB,EAAMjmB,EAAMgK,UAAU7N,sBAAsBypB,EAAOvN,SACnD+O,GAAQ,EACR1b,EAAQ,EAEZ,KAAMA,EAAQua,EAAIP,OAAQha,IACtB,GAAGua,EAAIva,GAAOuR,cAAgB2I,EAAOpU,KAAM,CACvC4V,GAAQ,EACRI,EAAQvB,EAAIva,GACZ,KACJ,CAEA0b,IACAI,EAAQ,IAAIlP,GACZ2N,EAAIQ,KAAKe,IAGbA,EAAMvK,YAAc2I,EAAOpU,KAC3BgW,EAAM5lB,OAASgkB,EAAOhkB,OACtB4lB,EAAM3K,OAAS+I,EAAO/I,OACtB2K,EAAMtK,eAAiB0I,EAAO1I,eAC9B,KACJ,CACA,KAAKpnB,GAAuB,CACxB,IAAImwB,EAAMjmB,EAAMsI,qBACb,OAAS2d,EAAIzZ,WACZyZ,EAAIzZ,SAAW,IACnB,IAAI8Z,EAAM,IAAItZ,GACdsZ,EAAItiB,IAAMuiB,KAAKC,SAAShC,WACxByB,EAAIzZ,SAASia,KAAKH,GAClB,KACJ,CACA,KAAKzwB,GACSmK,EAAMsI,qBACZkE,SAAWoZ,EAAOE,QACtB,MAEJ,KAAK/vB,GACSiK,EAAMsI,qBACZkE,SAASka,OAAO9B,SAASgB,EAAOE,SAAU,GAC9C,MAEJ,KAAK9vB,GACSgK,EAAMsI,qBACZkE,SAAW,GACf,MAEJ,KAAKvW,GAES+J,EAAMsI,qBACZkE,SAASoZ,EAAOla,OAAOka,EAAOO,MAAQP,EAAOtY,MACjD,MAEJ,KAAKpX,GACwB,OAArB8J,EAAM8K,aACN9K,EAAM8K,WAAa,IAAII,IAEvBlL,EAAM8K,WAAW8a,EAAOO,MAAQP,EAAOtY,MAC3C,MAEJ,KAAKnX,GAC2B,OAAxB6J,EAAM+K,gBACN/K,EAAM+K,cAAgB,IAAII,SAETwa,IAAjBC,EAAOla,MACP1L,EAAM+K,cAAcK,iBAAiBwa,EAAOla,OAAOka,EAAOO,MAAQP,EAAOtY,MAEzEtN,EAAM+K,cAAc6a,EAAOO,MAAQP,EAAOtY,MAOtD,OAAOrU,KAAKssB,MAAOvlB,EAAMhH,SAC7B,ECt5CO,MAAOyuB,GAAkB,kBAClBC,GAAuB,uBACxBC,GAA0B,0BACzBC,GAA8B,8BAC9BC,GAA4B,4BAC7BC,GAAuB,uBCO9BC,GAAkB,IAAIzhB,GACtB0hB,GAAsB/uB,KAAKssB,MAAMwC,GAAgB/uB,UCbvD,MAAMivB,GAAY,CACdC,YAAa,CAAC,GCDX,MCEDC,GAAe,CACnB5kB,OAAQ,QAeK6kB,OAZa,WAAmC,IAAlCpoB,EAAKylB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG0C,GAAcvC,EAAMH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EACvD,MDP2B,kBCOnBC,EAAOC,KAEJ,IACF7lB,EACHuD,OAAQqiB,EAAOE,SAGV9lB,CAEb,EChBO,MACMqoB,GAAqB,qBACrBC,GAAqB,qBCA5BH,GAAe,CAAC,EAmBPI,OAjBY,WAAmC,IAAlCvoB,EAAKylB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG0C,GAAcvC,EAAMH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EACtD,OAAQC,EAAOC,MACb,KAAKwC,GACH,MAAO,IACFroB,EACHwoB,gBAAiB5C,EAAOE,SAE5B,KAAKwC,GACH,MAAO,IACFtoB,EACHyoB,WAAY7C,EAAOE,SAEvB,QACE,OAAO9lB,EAEb,ECZA,IAAI0oB,GAAeC,YAAgB,CAC/BtiB,YAAamf,GACblf,SNKW,WAA+D,IAAtCtG,EAAKylB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGuC,GAAqBpC,EAAMH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAGvE,OAFA3lB,EAAQsG,GAASjN,SAAS2G,GAElB4lB,EAAOC,MACX,KAAK+B,GAA6B,CAC9B,IAAI3B,EAAMjmB,EAELimB,EAAIzH,QACLyH,EAAIzH,MAAQ,CAAC,GAEjByH,EAAIzH,MAAMsE,YAAc8C,EAAOE,QAC/B,KACJ,CACA,KAAK+B,GACD7nB,EAAM4e,UAAYgH,EAAOE,QACzB,MAEJ,KAAKgC,GACD9nB,EAAM0e,UAAUrF,KAAOuM,EAAOE,QAC9B,MAEJ,KAAK2B,GAAiB,CAClB,IAAIxB,EAAMjmB,EAGV,OAFoB,QAAjB4lB,EAAOnH,QACNwH,EAAIxH,MAAQmH,EAAOnH,OACfmH,EAAOnH,OACX,IAAK,YACDwH,EAAIvH,UAAUrF,KAAOuM,EAAOE,QAC5B,MACA,IAAK,MACLG,EAAIvH,UAAUpF,IAAMsM,EAAOE,QAC3B,MACA,IAAK,UACLG,EAAItH,QAAQtF,KAAOuM,EAAOE,QAOlC,KACJ,CACA,KAAK4B,GACS1nB,EACNye,MAAQmH,EAAOnH,MACnB,MAEJ,KAAKkJ,GACD3nB,EAAM0e,UAAUkH,EAAOO,OAAQ,EAMvC,OAAOltB,KAAKssB,MAAMvlB,EAAMhH,SAC5B,EM3DI4vB,aAAcR,GACdS,YAAaN,GACbO,OLRW,WAAmD,IAA5B9oB,EAAKylB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGwC,GAAWrC,EAAMH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAC3D,MAAM,KAAEE,EAAI,KAAEkD,GAASnD,EACvB,MACS,sBADDC,EAEO,IAEA7lB,EACHkoB,YAAaa,GASlB/oB,CACX,IKNe0oB,UCfR,MAAMngB,GAAW,WACXmB,GAAa,aAEnB,SAASsf,KACf,MAAMC,EAAQC,eAAeC,QAAQ,WACrC,IAAKF,EAAO,OAAQ,EAEpB,MAAMG,EAAMC,KAAKJ,EAAM9vB,MAAM,KAAK,IAElC,OADWF,KAAKssB,MAAM6D,GACZ7wB,EACX,CA0BO,SAAS+wB,KACf,OAAOJ,eAAeC,QAAQ,UAC/B,CAEA,IAAII,GAAa,KACV,SAASC,KACf,GAAkB,MAAdD,GAAoB,OAAOA,GAE/B,MAAMN,EAAQK,KACd,GAAI,MAAQL,EAAO,OAAO,KAC1B,MAAMQ,EAAKR,EAAM9vB,MAAM,KACjB3C,EAAI6yB,KAAKI,EAAG,IACZC,EAAIzwB,KAAKssB,MAAM/uB,GAErB,OADA+yB,GAAaG,EAAEH,WACRG,EAAEH,UACV,CAWO,SAASI,KACf,MAAMV,EAAQC,eAAeC,QAAQ,WACrC,IAAKF,EAAO,MAAO,GAEnB,MAAMG,EAAMC,KAAKJ,EAAM9vB,MAAM,KAAK,IAElC,OADWF,KAAKssB,MAAM6D,GACZjpB,KACX,CAGO,SAASypB,GAAUC,GAEzB,MAAMC,EAAM,GACZ,IAAK,IAAI5D,EAAI,EAAGA,EAAI2D,EAAInE,OAAQQ,GAAK,EACpC4D,EAAIrD,KAAK7B,SAASiF,EAAIE,OAAO7D,EAAG,GAAI,KAKrC,OAFY,IAAI8D,aACAC,OAAOC,WAAWjO,KAAK6N,GAExC,CAEO,SAASK,GAAUC,GACzB,MACMN,GADU,IAAIO,aACAC,OAAOF,GAC3B,IAAIP,EAAM,GACV,IAAK,IAAI3D,EAAI,EAAGA,EAAI4D,EAAIpE,OAAQQ,IAC/B2D,GAAOC,EAAI5D,GAAG1B,SAAS,IAGxB,OAAOqF,CACR,CAEO,SAASU,GAAcC,GAC7B,IAAK,OAAOlG,KAAKkG,EAAM,KAAoB,MAAbA,EAAM,GACnC,MAAO,GAGR,GAAiB,MAAbA,EAAM,GAAY,OAAOA,EAE7B,MAAMC,EAAOD,EAAM9E,OACnB,GAAa,IAAT+E,EACc,MAAbD,EAAM,KACTA,EAAQ,IAAMA,EAAM,SACf,GAAa,IAATC,EACO,MAAbD,EAAM,KACTA,EAAQA,EAAMT,OAAO,EAAG,GAAK,KAAOS,EAAM,SAErC,GAAa,IAATC,EACO,MAAbD,EAAM,KACTA,EAAQA,EAAMT,OAAO,EAAG,GAAK,IAAMS,EAAM,SAEpC,GAAa,KAATC,EAAa,CACvB,MAAMC,EAAeF,EAAMG,QAAQ,MAAO,IACd,KAAxBD,EAAahF,SAChB8E,EAAQ,IAAME,EAAaX,OAAO,EAAG,GAAK,KAAOW,EAAaX,OAAO,EAAG,GAAK,IAAMW,EAAaX,OAAO,EAAG,IAE1F,MAAbS,EAAM,KACTA,EAAQA,EAAMT,OAAO,EAAG,GAAK,IAAMS,EAAM,GAE3C,MAAO,GAAa,KAATC,EAAa,CACvB,MAAMC,EAAeF,EAAMG,QAAQ,MAAO,IAC1C,GAA4B,KAAxBD,EAAahF,OAAe,CAC/B,MAAMR,EAAIwF,EACVF,EAAQ,IAAMtF,EAAE6E,OAAO,EAAG,GAAK,KAAO7E,EAAE6E,OAAO,EAAG,GAAK,IAAM7E,EAAE6E,OAAO,EAAG,EAC1E,CACD,CAGA,OADAS,GADAA,EAAQA,EAAMG,QAAQ,aAAc,KACtBC,UAAU,EAAG,GAE5B,CAiDO,MAAMC,GAAkB,CAAE,GAAM,UAAW,GAAM,UAAW,GAAM,SAAU,GAAM,WAAY,GAAM,aAAc,GAAM,WAAY,GAAM,cAAe,GAAM,uBAAwB,GAAM,WAAY,GAAM,UAAW,GAAM,UAAW,GAAM,SAAU,GAAM,QAAS,GAAM,WAAY,GAAM,UAAW,GAAM,OAAQ,GAAM,SAAU,GAAM,WAAY,GAAM,YAAa,GAAM,QAAS,GAAM,WAAY,GAAM,gBAAiB,GAAM,WAAY,GAAM,YAAa,GAAM,cAAe,GAAM,WAAY,GAAM,UAAW,GAAM,WAAY,GAAM,SAAU,GAAM,gBAAiB,GAAM,aAAc,GAAM,aAAc,GAAM,WAAY,GAAM,iBAAkB,GAAM,eAAgB,GAAM,OAAQ,GAAM,WAAY,GAAM,SAAU,GAAM,eAAgB,GAAM,eAAgB,GAAM,iBAAkB,GAAM,eAAgB,GAAM,YAAa,GAAM,QAAS,GAAM,OAAQ,GAAM,UAAW,GAAM,WAAY,GAAM,aAAc,GAAM,gBAAiB,GAAM,YAAa,GAAM,UAAW,GAAM,UAAW,GAAM,mBAAoB,GAAM,WAAY,GAAM,gBAAiB,GAAM,eAAgB,GAAM,sBAAuB,GAAM,cAAe,GAAM,UAAW,GAAM,UAAW,GAAM,uBAAwB,GAAM,SAAU,GAAM,eAAgB,GAAM,SACptCC,GAAkB,CAAE,QAAW,KAAM,QAAW,KAAM,OAAU,KAAM,SAAY,KAAM,WAAc,KAAM,SAAY,KAAM,YAAe,KAAM,mBAAsB,KAAM,SAAY,KAAM,QAAW,KAAM,QAAW,KAAM,OAAU,KAAM,MAAS,KAAM,SAAY,KAAM,QAAW,KAAM,KAAQ,KAAM,OAAU,KAAM,SAAY,KAAM,UAAa,KAAM,MAAS,KAAM,SAAY,KAAM,cAAiB,KAAM,SAAY,KAAM,UAAa,KAAM,YAAe,KAAM,SAAY,KAAM,QAAW,KAAM,SAAY,KAAM,OAAU,KAAM,aAAgB,KAAM,UAAa,KAAM,UAAa,KAAM,QAAW,KAAM,cAAiB,KAAM,YAAe,KAAM,KAAQ,KAAM,SAAY,KAAM,OAAU,KAAM,aAAgB,KAAM,YAAe,KAAM,cAAiB,KAAM,YAAe,KAAM,UAAa,KAAM,MAAS,KAAM,KAAQ,KAAM,QAAW,KAAM,SAAY,KAAM,WAAc,KAAM,aAAgB,KAAM,UAAa,KAAM,QAAW,KAAM,QAAW,KAAM,gBAAmB,KAAM,SAAY,KAAM,aAAgB,KAAM,aAAgB,KAAM,mBAAsB,KAAM,WAAc,KAAM,QAAW,KAAM,QAAW,KAAM,mBAAsB,KAAM,OAAU,KAAM,aAAgB,KAAM,MAAS,MAE3sC,SAASC,GAAmBP,GAClC,MAAMQ,EAAWR,EAAMS,OACvB,OAAID,EAASE,SAAS,WACdF,EAASjB,OAAO,EAAGiB,EAAStF,OAAS,GAGtCsF,CACR,CAEO,SAASG,GAAmBX,GAClC,QAAc7E,IAAV6E,EAAqB,OAAOA,EAEhC,MAAMQ,EAAWR,EAAMS,OACvB,GAAID,EAAStF,OAAS,EACrB,OAAOsF,EAER,GAAwB,IAApBA,EAAStF,OAAc,CAE1B,MAAM0F,EAAaJ,EAASK,cAC5B,OAAOR,GAAgBO,GAAcA,EAAaJ,CACnD,CAEA,MAAMM,EAAiBN,EAASO,cAAcZ,QAAQ,KAAM,IAC5D,KAAMW,KAAkBR,IACvB,OAAON,EAGR,OADkBM,GAAgBQ,EAEnC,CAuCO,MAgFME,GAAY,CACxBC,cAAe,CAAC,2BAA4B,6HAC5CC,gBAAiB,CAAC,mDAAoD,2DACtEC,eAAgB,CAAC,kCAAmC,kHAAmH,kBACvKC,mBAAoB,CAAC,qCAAsC,wFAC3DC,oBAAqB,CAAC,iCAAkC,gGAExDC,YAAa,CAAC,iCAAkC,+DAChDC,MAAO,CAAC,cAAe,wDACvBC,cAAe,CAAC,iBAAkB,uDAClCnb,cAAe,CAAC,kBAAmB,uCAAwC,MAAO,OAClFob,kBAAmB,CAAC,iCAAkC,4BACtDC,WAAY,CAAC,+BAAgC,8EAC7CC,YAAa,CAAC,gCAAiC,wEAC/CC,uBAAwB,CAAC,2BAA4B,6CACrDC,aAAc,CAAC,gCAAiC,0BAChDC,OAAQ,CAAC,gEAAiE,qFAC1EC,wBAAyB,CAAC,wCAAyC,0FACnEC,GAAI,CAAC,+BAAgC,yDACrCC,IAAK,CAAC,2BAA4B,oDAClCC,gBAAiB,CAAC,2CAA4C,sDAC9DC,mBAAoB,CAAC,wBAAyB,wCAC9CC,SAAU,CAAC,sCAAuC,4CAA6C,UAAW,WAAY,YACtHC,iBAAkB,CAAC,uBAAwB,yBAC3CC,iBAAkB,CAAC,2BAA4B,uBAC/CC,oBAAqB,CAAC,+BAAgC,oDACtDC,mBAAoB,CAAC,uBAAwB,gEAC7CC,GAAI,CAAC,sBAAuB,uCAAwC,MACpEC,UAAW,CAAC,qCAAqC,6hBAGsI,cACvLC,IAAK,CAAC,yCAAyC,swBAO/CxsB,MAAO,CAAC,QAAS,sCACjBysB,kBAAmB,CAAC,qBAAsB,yMAC1CC,SAAU,CAAC,YAAa,uBACxBC,SAAU,CAAC,aACXC,UAAW,CAAC,cACZC,SAAU,CAAC,aACXC,aAAc,CAAC,KAAM,kBAAmB,qBAAsB,wBAAyB,2BAA4B,+BAAgC,wCACnJC,aAAc,CAAC,mBACfC,qBAAsB,CAAC,sBAAuB,SAAU,+BAAgC,2BAA4B,wBACpHC,gBAAiB,CAAC,gBAAiB,2BAA4B,UAC/DC,gBAAiB,CAAC,8BAClBC,uBAAwB,CAAC,4DACzBC,kBAAmB,CAAC,YAAa,iBAAkB,uBAAwB,mDAAoD,wCAC/HC,qBAAsB,CAAC,yBAGjB,SAASC,GAAchrB,EAASe,EAAKkqB,GAC3C,GAA8B,qBAAnBjrB,EAAQyiB,QAA6C,IAAnBziB,EAAQyiB,OACpD,MAAO,GAER,IAAK,IAAIQ,EAAI,EAAGA,EAAIjjB,EAAQyiB,OAAQQ,IACnC,GAAIjjB,EAAQijB,GAAGiI,MAAM,KAAOnqB,EAC3B,OAAOf,EAAQijB,GAAGgI,GAIpB,MAAO,EACR,CAEO,MAAME,GAA0B,CACtC,MAAS,MACT,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,KAAQ,MACR,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,MACV,IAAO,MAEP,OAAU,MACV,GAAM,MACN,KAAQ,MACR,IAAO,MACP,MAAS,MACT,IAAO,MAEP,MAAS,MACT,MAAS,MACT,IAAO,MAEP,MAAS,MACT,IAAO,MAEP,KAAQ,MACR,IAAO,MAEP,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,MACV,IAAO,MACP,MAAS,MACT,IAAO,MAEP,UAAa,OACb,MAAS,OACT,KAAQ,OACR,KAAQ,OAER,OAAU,KACV,MAAS,KACT,GAAM,KAEN,OAAU,MACV,MAAS,MACT,IAAO,MAEP,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,OAAU,MACV,KAAQ,MACR,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,KAAQ,KACR,IAAO,KACP,GAAM,KAEN,OAAU,MACV,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,KAAQ,MACR,IAAO,MAEP,SAAY,OACZ,OAAU,OACV,KAAQ,OAER,OAAU,MACV,IAAO,MACP,KAAQ,MACR,MAAS,MACT,OAAU,MACV,MAAS,MACT,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,OAAU,MACV,KAAQ,MACR,MAAS,MACT,KAAQ,MACR,MAAS,MACT,IAAO,MAEP,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,OAAU,MACV,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,OAAU,MACV,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,OAAU,OACV,KAAQ,OAER,MAAS,KACT,GAAM,KAEN,OAAU,MACV,IAAO,MAEP,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,GAAM,cACN,cAAe,cAEf,MAAS,MACT,IAAO,MAEP,SAAY,OACZ,OAAU,OACV,MAAS,OACT,KAAQ,OAER,MAAS,OACT,KAAQ,OAER,SAAY,OACZ,QAAW,OACX,KAAQ,OAER,UAAa,MACb,IAAO,MAEP,WAAc,OACd,KAAQ,OAER,MAAS,OACT,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,IAAO,KACP,GAAM,KAEN,OAAU,KACV,IAAO,KACP,IAAO,KACP,GAAM,KAEN,MAAS,KACT,KAAQ,KACR,IAAO,KACP,GAAM,KAEN,OAAU,MACV,IAAO,MAEP,OAAU,MACV,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,WAAc,OACd,KAAQ,OACR,QAAW,OACX,KAAQ,OACR,KAAQ,OAER,UAAa,MACb,KAAQ,MACR,OAAU,MACV,IAAO,MAEP,KAAQ,OAER,MAAS,MACT,IAAO,MAEP,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,OAAU,OACV,KAAQ,OAER,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,KAAQ,KACR,IAAO,KACP,GAAM,KAEN,QAAW,MACX,OAAU,MACV,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,MACV,MAAS,MACT,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,QAAW,OACX,MAAS,OACT,KAAQ,OAER,QAAW,OACX,OAAU,OACV,OAAU,OACV,MAAS,OACT,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,MACV,KAAQ,MACR,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,MAAS,MACT,IAAO,MAEP,QAAW,MACX,GAAM,MACN,IAAO,MAEP,QAAW,MACX,OAAU,MACV,MAAS,MACT,KAAQ,MACR,KAAQ,MACR,IAAO,MAEP,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OACR,QAAW,OACX,MAAS,OACT,KAAQ,OAER,MAAS,QAET,MAAS,OACT,KAAQ,OAER,OAAU,KACV,MAAS,KACT,GAAM,KAEN,KAAQ,OACR,MAAS,OAET,SAAY,MACZ,OAAU,MACV,KAAQ,MACR,OAAU,MACV,QAAW,MACX,IAAO,MAEP,UAAa,OACb,MAAS,OACT,KAAQ,OAER,IAAO,KACP,GAAM,KAEN,KAAQ,MACR,IAAO,MAEP,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,KAAQ,OAER,QAAW,OACX,MAAS,OACT,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,MAAS,MACT,KAAQ,MACR,KAAQ,MACR,IAAO,MAEP,KAAQ,OACR,MAAS,OAET,KAAQ,OAER,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAOR,QAAW,OACX,IAAO,OACP,OAAU,OACV,OAAU,OACV,KAAQ,OAER,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,QAAW,MACX,KAAQ,MACR,IAAO,MAEP,SAAY,OACZ,KAAQ,OAER,SAAY,MACZ,OAAU,MACV,GAAM,MACN,QAAW,MACX,KAAQ,MACR,IAAO,MAEP,UAAa,OACb,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,QAAW,OACX,OAAU,OACV,KAAQ,OAER,KAAQ,MACR,IAAO,MAEP,SAAY,OACZ,KAAQ,OAER,KAAQ,OACR,MAAS,OACT,IAAO,OAEP,QAAW,OACX,OAAU,OACV,MAAS,OACT,IAAO,OACP,SAAY,OACZ,MAAS,OACT,KAAQ,OAER,KAAQ,OAER,QAAW,OACX,KAAQ,OAER,KAAQ,OACR,MAAS,QAET,KAAQ,OACR,MAAS,OAET,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,MAAS,KACT,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,MAAS,KACT,GAAM,KAEN,OAAU,MACV,IAAO,MAEP,KAAQ,MACR,IAAO,MAEP,MAAS,OACT,KAAQ,OAER,OAAU,KACV,IAAO,KACP,GAAM,KAEN,OAAU,OACV,IAAO,OACP,OAAU,OACV,KAAQ,OAER,KAAQ,OAER,MAAS,OACT,QAAW,OACX,MAAS,OACT,KAAQ,OAER,MAAS,MACT,IAAO,MAEP,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,KAAQ,MACR,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,KAAQ,OACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,IAAO,MAEP,IAAO,MAEP,IAAO,MAEP,MAAS,MACT,IAAO,MAEP,OAAU,OACV,KAAQ,OAER,MAAS,MACT,OAAU,MACV,KAAQ,MACR,IAAO,MAEP,OAAU,OAEV,OAAU,MACV,KAAQ,MACR,MAAS,MACT,IAAO,MAEP,QAAW,OACX,MAAS,OACT,OAAU,OACV,KAAQ,OAER,KAAQ,OACR,MAAS,OAET,OAAU,KACV,IAAO,KACP,KAAQ,KACR,IAAO,KACP,GAAM,KAEN,QAAW,MACX,KAAQ,MACR,IAAO,MAEP,QAAW,MACX,MAAS,MACT,IAAO,MACP,IAAO,MAEP,UAAa,OACb,MAAS,OACT,QAAW,OACX,OAAU,OACV,MAAS,OACT,QAAW,OACX,KAAQ,OAER,OAAU,OACV,OAAU,OACV,KAAQ,OAER,OAAU,KACV,KAAQ,KACR,IAAO,KACP,GAAM,KAEN,QAAW,MAEX,OAAU,MACV,MAAS,MACT,OAAU,MACV,IAAO,MAEP,QAAW,MACX,KAAQ,MACR,IAAO,MAEP,WAAc,OACd,KAAQ,OAER,MAAS,OACT,OAAU,OACV,KAAQ,OAER,MAAS,OACT,OAAU,OACV,IAAO,OACP,KAAQ,OACR,KAAQ,OAER,QAAW,OACX,MAAS,OACT,KAAQ,OAER,OAAU,OACV,MAAS,OACT,QAAW,OACX,MAAS,OACT,KAAQ,OAER,SAAY,OACZ,KAAQ,OACR,OAAU,OACV,KAAQ,OAER,UAAa,OACb,KAAQ,OAER,MAAS,KACT,GAAM,KAEN,OAAU,MACV,MAAS,MACT,KAAQ,MACR,IAAO,MAEP,QAAW,OACX,KAAQ,OAER,QAAW,MACX,KAAQ,MACR,OAAU,MACV,IAAO,MAEP,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,MAEP,QAAW,MACX,OAAU,MACV,KAAQ,MACR,MAAS,MACT,SAAY,MACZ,IAAO,MAEP,SAAY,OACZ,KAAQ,OAER,MAAS,KACT,GAAM,KAEN,MAAS,MACT,KAAQ,MACR,IAAO,MACP,KAAQ,MACR,IAAO,MAEP,KAAQ,OACR,MAAS,OAET,KAAQ,OAER,IAAO,MACP,GAAM,MAEN,KAAQ,OAER,KAAQ,KACR,GAAM,KAEN,MAAS,MACT,IAAO,OA+CKC,GAAiBC,OAAOC,KAAKH,IAAyBpJ,KAAI4B,GAAKA,EAAEyE,gBAIjEmD,GAAW,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,MASxD,SAASC,GAAS9J,GACxB,GAAI,OAASA,GAAkB,qBAANA,GAA2B,KAANA,EAC7C,MAAO,GAGR,IAEC,IAAI6F,GADJ7F,EAAIA,EAAEH,YACQmG,QAAQ,YAAa,IAEnC,GAAc,KAAVH,EACH,MAAO,GAGRA,EAAQ5F,SAAS4F,GAEjBA,EAAQA,EAAMhG,WACd,IAAIkK,EAAS,GACb,OAAa,CACZ,GAAIlE,EAAM9E,QAAU,EAAG,CACtBgJ,EAASlE,EAAQkE,EACjB,KACD,CACA,MAAMC,EAAQnE,EAAMT,QAAQ,GACtB6E,EAAOpE,EAAMT,OAAO,EAAGS,EAAM9E,OAAS,GAC5C8E,EAAQoE,EACRF,EAAS,IAAMC,EAAQD,CACxB,CAEA,OAAOA,CACR,CAAE,MAAOG,GACR,OAAOlK,CACR,CACD,CAEO,SAASmK,GAAcnK,GAC7B,GAAI,OAASA,GAAkB,qBAANA,GAA2B,KAANA,EAC7C,MAAO,GAIR,IAAIoK,EAAQ,GACQ,OAFpBpK,EAAIA,EAAEH,YAEAwK,OAAO,KACZD,EAAQ,IACRpK,EAAIA,EAAEiG,UAAU,EAAGjG,EAAEe,SAGtB,MAAMuJ,EAAQtK,EAAExrB,MAAM,KAChBqxB,EAAQyE,EAAM,GAAGtE,QAAQ,WAAY,IAI3C,OAFAsE,EAAM,GAAKR,GAASjE,GAEbuE,EAAQE,EAAM71B,KAAK,IAC3B,CAkBO,SAAS81B,GAAWvK,GAC1B,GAAU,OAANA,EACH,MAAO,GAGR,MAAMsK,EAAQtK,EAAExrB,MAAM,KAChBg2B,EAAW,GAKjB,OAJAF,EAAM/H,SAAQN,IACbuI,EAAS1I,KAAKG,EAAEoI,OAAO,GAAG3D,cAAgBzE,EAAEwI,MAAM,GAAG7D,cAAc,IAG7D4D,EAAS/1B,KAAK,IACtB,CAEO,SAASi2B,GAAYjF,GAC3B,GAAY,OAARA,EACH,MAAO,GAGR,MAAMkF,EAAM,GACZA,EAAI7I,KAAK2D,EAAI4E,OAAO,IACpB,IAAIO,GAAQ,EACZ,IAAK,IAAIrJ,EAAI,EAAGA,EAAIkE,EAAI1E,OAAQQ,IAAK,CACpC,MAAMsJ,EAAOpF,EAAIqF,WAAWvJ,GAExBsJ,GAAQ,IAAMA,GAAQ,IACpBD,GAAOD,EAAI7I,KAAK,KACrB6I,EAAI7I,KAAK2D,EAAI4E,OAAO9I,IACpBqJ,GAAQ,GAILC,GAAQ,IAAMA,GAAQ,IACzBD,GAAQ,EACRD,EAAI7I,KAAK,KACT6I,EAAI7I,KAAK2D,EAAI4E,OAAO9I,MAIrBoJ,EAAI7I,KAAK2D,EAAI4E,OAAO9I,IACpBqJ,GAAQ,EACT,CAEA,OAAOD,EAAIl2B,KAAK,GACjB,CAEO,SAASs2B,GAAkBC,GACjC,MAAMC,EAAiBC,SAASC,eAAe,UAE/C,IAAKF,EAAgB,CACpB,MAAMG,EAASF,SAASG,cAAc,UACtCD,EAAOE,IAAM,gBACbF,EAAOx3B,GAAK,SACZs3B,SAASK,KAAKC,YAAYJ,GAE1BA,EAAOK,OAAS,KACXT,GAAUA,GAAU,CAE1B,CAEIC,GAAkBD,GAAUA,GACjC,CAsBO,SAASU,GAAWC,GAQ1B,OALaA,EAAI3F,QAFT,oFAEoB,CAAC4F,EAAOC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,IAEpEL,EAAS,IAAMC,EAAS,IAAMC,EAAS,IAAMC,EAAS,IAAME,GAIrE,CAYO,MAoCMC,GAAsB,CAGlC,CAAC,UAAW,UAAW,4KACvB,CAAC,sBAAuB,uBAAwB,yDAChD,CAAC,gBAAiB,iBAAkB,yFACpC,CAAC,eAAgB,gBAAiB,qFAClC,CAAC,eAAgB,gBAAiB,qLAGlC,CAAC,aAAc,aAAc,uFAE7B,CAAC,aAAc,cAAe,2FAE9B,CAAC,mBAAoB,uBAAwB,6FAC7C,CAAC,oBAAqB,yBAA0B,6LAYhD,CAAC,4BAA6B,8BAA+B,sIAC7D,CAAC,uBAAwB,iCAAkC,2LAG3D,CAAC,6BAA8B,mBAAoB,mEACnD,CAAC,mBAAoB,oBAAqB,gFAC1C,CAAC,aAAc,aAAc,IAE7B,CAAC,YAAa,mBAAoB,8GAClC,CAAC,sBAAuB,uBAAwB,yJAChD,CAAC,iBAAkB,kBAAmB,kFAGtC,CAAC,QAAS,QAAS,8DACnB,CAAC,eAAgB,wBAAyB,2FAE1C,CAAC,iBAAkB,kBAAmB,wEACtC,CAAC,QAAS,QAAS,iCAGPC,GAAmB,CAC/B,CAAC,kBAAmB,WAAY,yNAChC,CAAC,iBAAkB,UAAW,mKAC9B,CAAC,cAAe,eAAgB,gKAChC,CAAC,uBAAwB,yBAA0B,gOACnD,CAAC,aAAc,aAAc,IAC7B,CAAC,QAAS,QAAS,IACnB,CAAC,SAAU,SAAU,IAErB,CAAC,eAAgB,gBAAiB,IAClC,CAAC,qBAAsB,uBAAwB,IAC/C,CAAC,+BAAgC,iCAAkC,IACnE,CAAC,eAAgB,gBAAiB,IAClC,CAAC,yBAA0B,+BAAgC,IAC3D,CAAC,aAAc,cAAe,KASlBC,GAAwB,CAoBpC,CAAC,yCAA0C,qEAAsE,IACjH,CAAC,uCAAwC,8CAA+C,IACxF,CAAC,uBAAwB,yBAA0B,IACnD,CAAC,yBAA0B,2BAA4B,IACvD,CAAC,QAAS,sBAAuB,IACjC,CAAC,eAAgB,gBAAiB,IAClC,CAAC,qBAAsB,sBAAuB,IAC9C,CAAC,YAAa,aAAc,IAC5B,CAAC,kBAAmB,mBAAoB,IACxC,CAAC,aAAc,cAAe,IAC9B,CAAC,cAAe,eAAgB,IAChC,CAAC,cAAe,eAAgB,KAGpBC,GAAkB,CAE9B,CAAC,qBAAsB,sBAAuB,0DAC9C,CAAC,WAAY,WAAY,kEACzB,CAAC,gBAAiB,iBAAkB,mHAEpC,CAAC,cAAe,eAAgB,qHAChC,CAAC,cAAe,eAAgB,mFAChC,CAAC,SAAU,SAAU,mCAGrB,CAAC,WAAY,WAAY,6FACzB,CAAC,qBAAsB,sBAAuB,uDAC9C,CAAC,mBAAoB,oBAAqB,qHAE1C,CAAC,QAAS,QAAS,KA0BPC,GAAqB,CACjC,CAAE34B,GAAI,WAAYiZ,KAAM,YACxB,CAAEjZ,GAAI,UAAWiZ,KAAM,WACvB,CAAEjZ,GAAI,yBAA0BiZ,KAAM,0BACtC,CAAEjZ,GAAI,eAAgBiZ,KAAM,gBAC5B,CAAEjZ,GAAI,eAAgBiZ,KAAM,gBAC5B,CAAEjZ,GAAI,yBAA0BiZ,KAAM,0BACtC,CAAEjZ,GAAI,gBAAiBiZ,KAAM,iBAC7B,CAAEjZ,GAAI,QAASiZ,KAAM,SACrB,CAAEjZ,GAAI,uBAAwBiZ,KAAM,wBACpC,CAAEjZ,GAAI,YAAaiZ,KAAM,aACzB,CAAEjZ,GAAI,gBAAiBiZ,KAAM,iBAC7B,CAAEjZ,GAAI,qDAAqDiZ,KAAM,qDACjE,CAAEjZ,GAAI,0DAA2DiZ,KAAM,2DACvE,CAAEjZ,GAAI,QAASiZ,KAAM,UAmBT2f,GAAqB,CACjC,qBACA,aACA,2CACA,cACA,oBACA,sBACA,0BACA,SAkBYC,GAA2B,CACvCC,MAAO,EACPC,UAAW,EACXpf,UAAW,EACXrI,SAAU,EACV2D,OAAQ,EACR6E,OAAQ,EACRC,YAAa,EACblB,YAAa,EACbmB,cAAe,GACf7E,SAAU,GACVhE,WAAY,GACZ6nB,SAAU,GACVC,MAAO,GACPC,cAAe,GACfjG,UAAW,GACXhN,MAAO,GACPkT,QAAS,IAeH,SAASC,GAAsB1W,EAAMzf,EAAUo2B,EAAWC,GAChE,MAAMC,EAAyB,GAAZF,EACbG,EAAyB,GAAZF,EACbG,EAAc/W,EAAO,GACrBgX,EAAO1L,KAAK2L,IAAI,EAAIF,EAAaF,GAEvC,IAAIxZ,EAAU9c,EAAWw2B,EAAcC,GAAQA,EAAO,GACtD3Z,EAAWiO,KAAK4L,MAAgB,IAAV7Z,GAAiB,IAMvC,OAJ6B9c,EAAWw2B,EAAc1Z,IACpDiO,KAAK2L,IAAI,EAAIF,EAAaD,GAAc,GAAKC,EAC9CD,EAAazZ,CAGf,CAEO,MAyBM8Z,GAAe,CACxBC,YAAa,EACbC,WAAY,EACZC,QAAS,EACTC,SAAU,GAGDC,GAAgB,CAEzBC,mBAAoB,IACpBC,oBAAqB,IACrBC,YAAa,IAGbC,WAAY,IACZC,WAAY,IACZC,oBAAqB,IACrBC,mBAAoB,IACpBC,eAAgB,IAChBC,YAAa,IACbC,YAAa,IAGbC,wBAAyB,IACzBC,oBAAqB,IACrBC,aAAc,IACdC,QAAS,IACTC,WAAY,IACZC,WAAY,IAGZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,4BAA6B,IAC7BC,qBAAsB,IACtBC,kBAAmB,IACnBC,uBAAwB,IACxBC,MAAO,KAIuB3F,OAAO4F,YACrC5F,OAAO6F,QAAQ1B,IAAezN,KAAIoP,IAAA,IAAEpwB,EAAKsJ,GAAM8mB,EAAA,MAAK,CAAC9mB,EAAOtJ,EAAI,KA0L7D,MAqBMqwB,GAAgB,CAC5B,iBAAoB,oBACpB,gBAAmB,mBACnB,kBAAqB,qBACrB,uBAA0B,gBAC1B,cAAiB,iBACjB,sBAAyB,yBACzB,mBAAsB,sBACtB,kBAAqB,sBACrB,gBAAmB,oBACnB,cAAiB,cACjB,qBAAwB,wBACxB,qBAAwB,wBACxB,mBAAsB,uBACtB,iBAAoB,oBACpB,aAAgB,iBAChB,WAAc,cACd,cAAiB,oBACjB,OAAU,UACV,eAAkB,uBAClB,kBAAqB,qBACrB,qBAAwB,0BAgDlB,SAASC,GAAa1N,GAC5B,GAAU,KAANA,EACH,OAAO,EAER,MAAM2N,EAAI3P,SAASgC,GACnB,OAAI4N,MAAMD,GACF,EAEDA,CACR,CAEO,SAASE,GAAe7N,GAC9B,GAAU,KAANA,EACH,OAAO,EAER,MAAM2N,EAAI1P,WAAW+B,GAGrB,OAFAnwB,QAAQC,IAAI,iBAAkBkwB,EAAG2N,GAE7BC,MAAMD,GACF,EAEDA,CACR,CA+BO,SAASG,GAAgBpnB,EAAOuP,GACtC,OAAQA,GACP,IAAK,UACL,QACC,OAAOgI,WAAWvX,GACnB,IAAK,SACJ,OAAOuX,WAAWvX,GAAS,GAC5B,IAAK,QACJ,OAA2B,IAApBuX,WAAWvX,GAAe,GAEpC,CAMO,IAAIqnB,GAAa,CAAEC,WAAY,KAE/B,SAASC,KACf,MAAM9O,EAAQmD,eAAeC,QAAQ,SACrC,GAAa,MAATpD,GAA2B,KAAVA,EAAc,CAElC,OADa9sB,KAAKssB,MAAMQ,GACZ+O,OACb,CAGA,QAAInP,IAAcgP,GAAWI,WAAY,CACxC,MAAMC,EAAKC,aAAa9L,QAAQ,aACtB,MAAN6L,GAAqB,KAAPA,IACjBL,GAAa17B,KAAKssB,MAAMyP,GAC1B,CAGA,OAAOL,GAAWI,UACnB,CAEO,SAASG,KACf,MAAMF,EAAKC,aAAa9L,QAAQ,aAChC,OAAU,MAAN6L,GAAqB,KAAPA,GACjBL,GAAa17B,KAAKssB,MAAMyP,GACjBL,GAAiB,MAElB,EACR,CAwBO,SAASQ,KACf,MAAMlM,EAAQK,KACd8L,MAAM,kBAAmB,CACxBC,OAAQ,MACRC,QAAS,CACRC,cAAe,UAAYtM,EAC3BuM,MAAO,cAENC,MACFC,IACyB,MAApBA,EAASnyB,OAMbmyB,EAASC,OAAOF,MAAKT,IACpBL,GAAaK,EACbC,aAAaW,QAAQ,YAAa38B,KAAKC,UAAU87B,GAAI,IAPrDv+B,QAAQC,IAAI,gDACXg/B,EAASnyB,OAOT,IAGFsyB,OAAM,SAAUC,GAChBr/B,QAAQC,IAAI,gBAAiBo/B,EAC9B,GAEF,CAEO,SAASC,KACfC,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,iBAAkB,GAC3D,CAEO,MAAMC,GAAY,qCAEZC,GAAWn9B,KAAKssB,MAAM,kxHAkC5B,SAAS8Q,GAAa7yB,GAC5B,OAAQA,GACP,IAAK,YACJ,MAAO,UACR,IAAK,aACJ,MAAO,cACR,IAAK,aACJ,MAAO,aACR,QAEC,OADA8yB,MAAM,mBACC,UAEV,CAEO,SAASC,GAAgB9yB,GAY/B,MAXc,CACb+yB,oBAAqB,uBACrBC,YAAa,uBACbC,YAAa,eACbC,YAAa,eACbC,qBAAsB,yBACtBC,qBAAsB,yBACtBC,gBAAiB,qBACjBC,iBAAkB,qBAEDtzB,EAEnB,CAEO,SAASuzB,GAAoBvzB,GAanC,MAZc,CACb+yB,oBAAqB,QACrBC,YAAa,QACbC,YAAa,MACbC,YAAa,MACbC,qBAAsB,gBACtBC,qBAAsB,gBACtBC,gBAAiB,eACjBC,iBAAkB,oBAClBE,WAAY,eAEKxzB,EAEnB,CAyEO,SAASyzB,GAAmBC,GAClC,OAAQA,GACP,IAAK,YAAa,MAAO,eACzB,IAAK,mBAAoB,MAAO,cACf,QAAS,MAAO,WAEnC,CAmBO,SAASC,GAAcxQ,GAC7B,OAAOA,EAAExY,qBAAuB,MACL,MAAxBwY,EAAEvY,oBAAuD,KAAzBuY,EAAEvY,mBAClC,QAAUuY,EAAEvY,mBAAqB,KAChC,IACHuY,EAAEtY,mBAAqB,KACvBsY,EAAEpY,oBAAsB,IACxBoY,EAAEnY,iBACJ,CAMO,SAAS4oB,GAAWpzB,GAC1B,QAAKA,EAAKiW,iBACHjW,EAAKiW,eAAeqR,cAAc+L,QAAQ,aAAe,GAC/DrzB,EAAKiW,eAAeqR,cAAc+L,QAAQ,eAAiB,GAC3DrzB,EAAKiW,eAAeqR,cAAc+L,QAAQ,eAAiB,EAC7D,CAGO,IAAIC,GAAO,u6KACPC,GAAc,SAuelB,SAASC,GAAkBrR,EAAK/f,GACtC,IAAIqxB,EAAOtR,EACP/f,EAAY2C,YAAsB,eAARod,IAC7BsR,EAAO,YAER,MAAMC,EAAKtxB,EAAYqxB,GAAMtpB,qBACvBrO,EAAOsG,EAAYqxB,GAAMppB,mBACzBtO,EAAQqG,EAAYqxB,GAAMlpB,oBAC1BvO,EAAMoG,EAAYqxB,GAAMjpB,kBACxBmpB,EAAMvxB,EAAYqxB,GAAMrpB,mBAE9B,IAAIpL,EAAU00B,EAQd,OAPW,MAAPC,GAAuB,KAARA,IAClB30B,GAAW,SAAW20B,GAEvB30B,GAAW,KAAOlD,EAClBkD,GAAW,KAAOjD,EAClBiD,GAAW,IAAMhD,EAEVgD,CACR,CCnwFO,SAAS40B,GAAkBC,GAC9B,MAAO,CAAEjS,KAAMnH,EAA8BoH,QAASgS,EAC1D,CAMO,SAASC,GAAoBD,GAChC,MAAO,CAAEjS,KAAMnH,EAAiCoH,QAASgS,EAC7D,CACO,SAASE,GAA2BF,EAAG3R,GAC1C,MAAO,CAAEN,KAAMnH,EAAwCoH,QAASgS,EAAI3R,KAAMA,EAC9E,CACQ,SAAS8R,GAA6BH,EAAG3R,GAC7C,MAAO,CAAEN,KAAMnH,EAA0CoH,QAASgS,EAAG3R,KAAMA,EAE/E,CAQO,SAAS+R,GAAiBJ,GAC7B,MAAO,CAAEjS,KAAMnH,EAA6BoH,QAASgS,EACzD,CACO,SAASK,GAAuBL,GACnC,MAAO,CAACjS,KbvBuC,qCauBaC,QAASgS,EACzE,CACO,SAASM,GAAmBN,GAC/B,MAAO,CAACjS,KAAMnH,EAAyCoH,QAASgS,EACpE,CAaO,SAASO,GAAoBP,EAAG1R,EAAKD,GACxC,MAAO,CAAEN,KAAMnH,EAAiCoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMA,EAChF,CAyBO,SAASmS,GAAeR,EAAG1R,EAAKD,GACnC,MAAO,CAAEN,KAAMnH,EAA2BoH,QAASgS,EAAG1R,IAAIA,EAAKD,KAAKA,EACxE,CACO,SAASoS,GAAcT,GAC1B,MAAO,CAAEjS,KAAMnH,EAA0BoH,QAASgS,EACtD,CACO,SAASU,GAAeV,EAAG1R,EAAKD,GACnC,MAAO,CAAEN,KAAMnH,EAA2BoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMA,EAC1E,CACO,SAASsS,GAAuBX,EAAG1R,GACtC,MAAO,CAAEP,KAAMnH,EAAoCoH,QAASgS,EAAG1R,IAAIA,EACvE,CAOO,SAASsS,GAA0BZ,EAAG1R,GACzC,MAAO,CAAEP,KAAMnH,EAAuCoH,QAASgS,EAAG1R,IAAIA,EAC1E,CAoDO,SAASuS,GAAuBb,GACnC,MAAO,CAAEjS,KAAMnH,GAA2CoH,QAASgS,EACvE,CA6DO,SAASc,GAAiBd,EAAG1R,GAChC,MAAO,CAAEP,KAAMnH,GAA8BoH,QAASgS,EAAG1R,IAAKA,EAClE,CAKO,SAASyS,GAAmBf,EAAG1R,GAClC,MAAO,CAAEP,KAAMnH,GAAgCoH,QAASgS,EAAG1R,IAAKA,EACpE,CAgBO,SAAS0S,GAAmBhT,EAASpa,EAAOya,GAC/C,MAAO,CAAEN,KAAMnH,GAAgCoH,UAASpa,QAAOya,OACnE,CA2BO,SAAS4S,GAAyBjB,GACrC,MAAO,CAAEjS,KAAMnH,GAAuCoH,QAASgS,EACnE,CAOO,SAASkB,KACZ,MAAO,CAAEnT,KAAMnH,GACnB,CAIO,SAASua,GAAoBnB,GAChC,MAAO,CAAEjS,KAAMnH,GAAiCoH,QAASgS,EAC7D,CACO,SAASoB,GAA4BpB,GACxC,MAAO,CAAEjS,KAAMnH,GAA0CoH,QAASgS,EACtE,CACO,SAASqB,GAA8BrB,GAC1C,MAAO,CAAEjS,KAAMnH,GAA4CoH,QAASgS,EACxE,CAIO,SAASsB,GAA2BtB,GACvC,MAAO,CAAEjS,KAAMnH,GAAyCoH,QAASgS,EACrE,CAIO,SAASuB,GAAoBvB,EAAG5R,EAAGC,GACtC,MAAO,CAAEN,KAAMnH,GAAiCoH,QAASgS,EAAGpsB,MAAOwa,EAAGC,KAAMA,EAChF,CACO,SAASmT,GAA4BxB,EAAG5R,EAAGC,GAC9C,MAAO,CAAEN,KAAMnH,GAA0CoH,QAASgS,EAAGpsB,MAAOwa,EAAGC,KAAMA,EACzF,CACO,SAASoT,GAA8BzB,EAAG5R,EAAGC,GAChD,MAAO,CAAEN,KAAMnH,GAA4CoH,QAASgS,EAAGpsB,MAAOwa,EAAGC,KAAMA,EAC3F,CAoDO,SAASqT,GAAoB1B,GAChC,MAAO,CAAEjS,KAAMnH,GAAiCoH,QAASgS,EAC7D,CAsBO,SAAS2B,GAA8B3B,GAC1C,MAAO,CAAEjS,KAAMnH,GAAuCoH,QAASgS,EACnE,CAEO,SAAS4B,GAA0B5B,GACtC,MAAO,CAAEjS,KAAMnH,GAAmCoH,QAASgS,EAC/D,CACO,SAAS6B,GAA4B7B,GACxC,MAAO,CAAEjS,KAAMnH,GAAqCoH,QAASgS,EACjE,CACO,SAAS8B,GAA0B9B,GACtC,MAAO,CAAEjS,KAAMnH,GAAmCoH,QAASgS,EAC/D,CACO,SAAS+B,GAA4B/B,GACxC,MAAO,CAAEjS,KAAMnH,GAAqCoH,QAASgS,EACjE,CACO,SAASgC,GAA6BhC,GACzC,MAAO,CAAEjS,KAAMnH,GAAsCoH,QAASgS,EAClE,CACO,SAASiC,GAA4BjC,EAAG3R,GAC3C,MAAO,CAAEN,KAAMnH,GAAqCoH,QAASgS,EAAG3R,OACpE,CACO,SAAS6T,GAAwBlC,GACpC,MAAO,CAAEjS,KAAMnH,GAAiCoH,QAASgS,EAC7D,CACO,SAASmC,GAA4BnC,GACxC,MAAO,CAAEjS,KAAMnH,GAAqCoH,QAASgS,EACjE,CACO,SAASoC,GAA6BpC,GACzC,MAAO,CAAEjS,KAAMnH,GAAsCoH,QAASgS,EAClE,CACO,SAASqC,GAA+BrC,GAC3C,MAAO,CAAEjS,KAAMnH,GAAwCoH,QAASgS,EACpE,CACO,SAASsC,GAA+BtC,GAC3C,MAAO,CAAEjS,KAAMnH,GAAwCoH,QAASgS,EACpE,CACO,SAASuC,GAA0BvC,GACtC,MAAO,CAAEjS,KAAMnH,GAAmCoH,QAASgS,EAC/D,CACO,SAASwC,GAAwCxC,GACpD,MAAO,CAAEjS,KAAMnH,GAAkDoH,QAASgS,EAC9E,CACO,SAASyC,GAAwCzC,GACpD,MAAO,CAAEjS,KAAMnH,GAAkDoH,QAASgS,EAC9E,CACO,SAAS0C,GAAmC1C,GAC/C,MAAO,CAAEjS,KAAMnH,GAA6CoH,QAASgS,EACzE,CACO,SAAS2C,GAA4C3C,GACxD,MAAO,CAAEjS,KAAMnH,GAAsDoH,QAASgS,EAClF,CACO,SAAS4C,GAA8C5C,GAC1D,MAAO,CAAEjS,KAAMnH,GAAwDoH,QAASgS,EACpF,CACO,SAAS6C,GAAgC7C,GAC5C,MAAO,CAAEjS,KAAMnH,GAA0CoH,QAASgS,EACtE,CAIO,SAAS8C,GAAqC9C,EAAG3R,GACpD,MAAO,CAAEN,KAAMnH,GAA+CoH,QAASgS,EAAG3R,OAC9E,CAEO,SAAS0U,GAA2C/C,GACvD,MAAO,CAAEjS,KAAMnH,GAAqDoH,QAASgS,EACjF,CACO,SAASgD,GAA2ChD,GACvD,MAAO,CAAEjS,KAAMnH,GAAqDoH,QAASgS,EACjF,CACO,SAASiD,GAA4CjD,GACxD,MAAO,CAAEjS,KAAMnH,GAAsDoH,QAASgS,EAClF,CACO,SAASkD,GAAyClD,GACrD,MAAO,CAAEjS,KAAMnH,GAAmDoH,QAASgS,EAC/E,CACO,SAASmD,GAA2CnD,GACvD,MAAO,CAAEjS,KAAMnH,GAAqDoH,QAASgS,EACjF,CACO,SAASoD,GAAiDpD,GAC7D,MAAO,CAAEjS,KAAMnH,GAA2DoH,QAASgS,EACvF,CACO,SAASqD,GAAkBrD,EAAG1R,EAAKzB,GACtC,MAAO,CAAEkB,KAAMnH,GAA+BoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMxB,EAC9E,CACO,SAASyW,GAAmBtD,EAAG1R,EAAKzB,GACvC,MAAO,CAAEkB,KAAMnH,GAAgCoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMxB,EAC/E,CACO,SAAS0W,GAAgBvD,EAAG1R,EAAKzB,GACpC,MAAO,CAAEkB,KAAMnH,EAA6BoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMxB,EAC5E,CACO,SAAS2W,GAAqBxD,EAAG1R,EAAKzB,GACzC,MAAO,CAAEkB,KAAMnH,EAAkCoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMxB,EACjF,CACO,SAAS4W,GAAyBzD,EAAG1R,EAAKzB,EAAGuB,GAChD,MAAO,CAAEL,KAAMnH,EAAuCoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMxB,EAAGjZ,MAAOwa,EAChG,CACO,SAASsV,GAAiC1D,GAC7C,MAAO,CAAEjS,KAAMnH,GAA0CoH,QAASgS,EACtE,CAEO,SAAS2D,GAA+B3D,GAC3C,MAAO,CAAEjS,KAAMnH,GAA4CoH,QAASgS,EACxE,CACO,SAAS4D,GAAmB5D,EAAG3R,GAClC,MAAO,CAAEN,KAAMnH,GAA+BoH,QAASgS,EAAG3R,KAAMA,EACpE,CAKO,SAASwV,GAAuB7D,EAAG1R,EAAKD,GAC3C,MAAO,CAAEN,KAAMnH,GAAoCoH,QAASgS,EAAG1R,IAAKA,EAAKD,KAAMA,EACnF,CACO,SAASyV,GAA0B9D,EAAG1R,EAAKa,EAASd,GACvD,MAAO,CAAEN,KAAMnH,GAAwCoH,QAASgS,EAAG1R,IAAKA,EAAKa,QAASA,EAASd,KAAMA,EACzG,CACO,SAAS0V,GAAkB/D,EAAG3R,GACjC,MAAO,CAAEN,KAAMnH,GAAkCoH,QAASgS,EAAG3R,KAAMA,EACvE,CAKO,SAAS2V,GAAchE,EAAG3R,GAC7B,MAAO,CAAEN,KAAMlH,GAAwBmH,QAASgS,EAAI3R,KAAMA,EAC9D,CAUO,SAAS4V,GAAsBjE,EAAG1R,EAAKD,EAAMjB,GAChD,MAAO,CAAEW,KAAMnH,EAAmCoH,QAASgS,EAAG1R,IAAIA,EAAKD,KAAKA,EAAMza,MAAOwZ,EAC7F,CAEO,SAAS8W,GAAmBlE,EAAG1R,GAClC,MAAO,CAAEP,KAAMnH,EAAgCoH,QAASgS,EAAG1R,IAAIA,EACnE,CACO,SAAS6V,GAAsBnE,EAAG1R,EAAKF,GAC1C,MAAO,CAAEL,KAAMnH,EAAmCoH,QAASgS,EAAG1R,IAAIA,EAAK1a,MAAMwa,EACjF,CACO,SAASgW,GAAqBpE,EAAG1R,GACpC,MAAO,CAAEP,KAAMnH,EAAkCoH,QAASgS,EAAG1R,IAAIA,EACrE,CAKO,SAAS+V,GAAWrE,EAAG1R,GAC1B,MAAO,CAAEP,KAAMnH,GAAgCoH,QAASgS,EAAG1R,IAAKA,EACpE,CACO,SAASgW,GAActE,EAAG1R,EAAKF,GAClC,MAAO,CAAEL,KAAMnH,GAAmCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACjF,CACO,SAASiW,GAAevE,EAAG1R,GAC9B,MAAO,CAAEP,KAAMnH,GAAkCoH,QAASgS,EAAG1R,IAAKA,EACtE,CAIO,SAASkW,GAAcxE,EAAG1R,EAAKF,GAClC,MAAO,CAAEL,KAAMnH,GAA0CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACxF,CACO,SAASmW,GAAmBzE,EAAG3R,EAAMC,EAAKF,GAC7C,MAAO,CAAEL,KAAMnH,GAAmCoH,QAASgS,EAAG3R,OAAMza,MAAOwa,EAAGE,IAAKA,EACvF,CACO,SAASoW,GAAkB1E,EAAG1R,EAAKF,GACtC,MAAO,CAAEL,KAAMnH,GAAwCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACtF,CAGO,SAASqW,GAAoB3E,GAChC,MAAO,CAAEjS,KAAMnH,GAAiCoH,QAASgS,EAC7D,CA2EO,SAAS4E,GAAWC,GACvB,MAAO,CAAE9W,KAAMnH,GAAuBoH,QAAS6W,EACnD,CAEO,SAASC,GAAeC,GAC3B,MAAO,CAAEhX,KAAMnH,GAA4BoH,QAAS+W,EACxD,CAuBO,SAASC,GAAoBtrB,EAAM6G,EAASwE,GAC/C,MAAO,CAAEgJ,KAAMnH,GAAiClN,OAAM6G,UAASwE,SACnE,CACO,SAASkgB,GAAoBvrB,EAAM6G,EAASzW,GAC/C,MAAO,CAAEikB,KAAMnH,GAAiClN,OAAM6G,UAASzW,SACnE,CACO,SAASo7B,GAAqBxrB,EAAM6G,EAASwE,EAAQK,EAAgBtb,GACxE,MAAO,CAAEikB,KAAMnH,GAAkClN,OAAM6G,UAASwE,SAAQK,iBAAgBtb,SAC5F,CAIO,SAASq7B,GAAqCnX,GACjD,MAAO,CAAED,KAAMnH,GAAmDoH,UACtE,CAUO,SAASoX,GAAuB7kB,EAAStG,EAAY8K,GACxD,MAAO,CAAEgJ,KAAMnH,GAAoCrG,UAAStG,aAAY8K,SAC5E,CAgBO,SAASsgB,KACZ,MAAO,CAAEtX,KAAMnH,GACnB,CAMO,SAAS0e,GAA0CtX,GACtD,MAAO,CAAED,KAAMnH,GAAqDoH,UACxE,CASO,SAASuX,KACZ,MAAO,CAAExX,KAAMnH,GACnB,CACO,SAAS4e,GAAsB5xB,GAClC,MAAO,CAAEma,KAAMnH,GAAoCoH,QAAQpa,EAC/D,CACO,SAAS6xB,KACZ,MAAO,CAAE1X,KAAMnH,GACnB,CACO,SAAS8e,GAA+BlwB,EAAO5B,EAAOya,GACzD,MAAO,CAAEN,KAAMnH,GAAyCpR,QAAO5B,QAAOya,OAC1E,CC5tBA,IAAIjtB,GAAYksB,EAAQ,KACpBqY,GAAMrY,EAAQ,KAClB,MAAMsY,GAAQtY,EAAQ,KAChBD,GAAYC,EAAQ,KAG1B,IAAIuY,IAAiB,EACjBC,GAAoB,EACjB,MAAMzV,GAAelvB,KAAKssB,OAAuB,IAAInf,IAAkBpN,UAEjE6kC,GAAYA,KACrB,IACI,MAAMC,EAAkB5U,eAAeC,QAAQ,SAE/C,GAAwB,OAApB2U,EACA,OAEJ,OAAO7kC,KAAKssB,MAAMuY,EACtB,CAAE,MAAOhI,GAEL,OADAr/B,QAAQC,IAAI,6BACL,IAAI0P,EACf,GAGS23B,GAAa/9B,IACtB,IACSA,IACDA,EAAQg+B,GAAMC,YAClB,MAAMH,EAAkB7kC,KAAKC,UAAU8G,GACvCkpB,eAAe0M,QAAQ,QAASkI,EACpC,CAAE,MACE,GAIFI,GAAiBA,CAACC,EAAkBC,EAAaC,IAAYD,EAEnE,IAAIE,GAAiBT,KAGjBS,GAD0B,qBAAnBA,GACUZ,GAAMvV,GAAcmW,GAAgB,CAAEC,WAAYL,KAElD/V,GAErB,MAAM6V,GAAQQ,YAAY9V,GAAa4V,GAAgBtI,OAAOyI,8BAAgCzI,OAAOyI,6BAA6B,CAAEC,OAAO,KAE3I,IAAIC,GAAe,GAyBZ,SAASC,GAAWC,GAAkG,IACrHC,EAUAC,EAX2BC,EAAWvZ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGN,GAAU6Y,GAAMC,YAAagB,EAAExZ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGyD,eAAeC,QAAQ,iBAElG+V,GAAS,EAEb,IACIJ,EAAc7lC,KAAKssB,MAAMsZ,EAC7B,CAAE,MAAOM,GACL1oC,QAAQC,IAAI,gDACZwoC,GAAS,CACb,CAGA,GAAIA,EACAzoC,QAAQC,IAAI,gBACZooC,EAAc,IAAI14B,GAClB24B,EAAgB,IAAI34B,QAEpB,IACI24B,EAAwB,OAAPE,GAAsB,OAAPA,EAAe9Z,GAAU6Y,GAAMC,YAAchlC,KAAKssB,MAAM0Z,EAC5F,CAAE,MAAOG,GACLN,EAAc,IAAI14B,GAClB24B,EAAgB,IAAI34B,EACxB,CAEJ,IAAIi5B,EAAcP,EAAYz4B,YAC1Bi5B,EAAaN,EAAY34B,YACzBk5B,EAAcR,EAAc14B,YAC5Bm5B,EAAMtmC,GAAUomC,GAChBG,EAAKvmC,GAAUqmC,GACfG,EAAKxmC,GAAUmmC,GAEfI,GAAMD,EACN/oC,QAAQC,IAAI,8BAIR8oC,GAAOE,GACPjpC,QAAQC,IAAI,+BAEpB,IAAIipC,EAAUC,IACV,IAAIC,SAAkBD,EAMtB,MALI,WAAaC,GACTC,MAAM/a,QAAQ6a,KACdC,EAAW,SAGZA,CAAQ,EAEfE,EAAYA,CAAC9Z,EAAK+Z,EAAMnB,EAAQoB,KAChC,IAAK,IAAI/Z,EAAI,EAAGA,EAAID,EAAIP,OAAQQ,IAAK,CACjC,IAAI2Z,EAAWF,EAAQ1Z,EAAIC,IAC3B,GAAiB,WAAb2Z,EACAK,EAAWja,EAAIC,GAAI8Z,EAAK9Z,GAAI2Y,EAAO3Y,GAAI+Z,EAAQ,QAC5C,GAAiB,UAAbJ,EACPE,EAAU9Z,EAAIC,GAAI8Z,EAAK9Z,GAAI2Y,EAAO3Y,GAAI+Z,EAAQ,QAE9C,GAAIha,EAAIC,KAAO8Z,EAAK9Z,IAAMD,EAAIC,KAAO2Y,EAAO3Y,GAAI,CAC5CD,EAAIC,GAAK2Y,EAAO3Y,GAChB,QACJ,CAER,GAEAga,EAAaA,CAACja,EAAK+Z,EAAMnB,EAAQoB,KACjC,IAAK,IAAIE,KAAgBla,EAAK,CAC1B,IAAI4Z,EAAWF,EAAQ1Z,EAAIka,IAC3B,GAAW,MAAPla,GAAyB,MAAV4Y,EAOnB,GAHyB,MAArB5Y,EAAIka,IAAiD,MAAxBtB,EAAOsB,KACpCN,EAAWF,EAAQd,EAAOsB,KAEb,WAAbN,EAAuB,CACvB,GAAY,MAARG,EACA,SACJ,GAAc,MAAVnB,EACA,SACJqB,EAAWja,EAAIka,GAAeH,EAAKG,GAAetB,EAAOsB,GAAeF,EAAQ,EACpF,MAAO,GAAiB,UAAbJ,EAAsB,CAC7B,GAAY,MAARG,GAAsC,MAAtBA,EAAKG,GACrB,SAEJ,GAAc,MAAVtB,GAA0C,MAAxBA,EAAOsB,GACzB,SAEJ,GAAIla,EAAIka,GAAcza,SAAWsa,EAAKG,GAAcza,QAAUsa,EAAKG,GAAcza,SAAWmZ,EAAOsB,GAAcza,OAE7Gqa,EAAU9Z,EAAIka,GAAeH,EAAKG,GAAetB,EAAOsB,GAAeF,EAAQ,QAE/E,GAAIha,EAAIka,GAAcza,SAAWsa,EAAKG,GAAcza,OAAQ,CAE/CxsB,GAAU8mC,EAAKG,MACfjnC,GAAU+sB,EAAIka,MAGnBla,EAAIka,GAAgBtB,EAAOsB,GAC3BH,EAAKG,GAAgBtB,EAAOsB,GAEpC,CAGR,KAAO,CACH,GAAY,MAARH,GAA0B,MAAVnB,EAChB,SACJ,QAAIlZ,WAAqBkZ,EAAOsB,GAC5B,SAEJ,GAAIla,EAAIka,KAAkBH,EAAKG,IAAiBla,EAAIka,KAAkBtB,EAAOsB,GAAe,CAExF1pC,QAAQC,IAAI,OAAQypC,EAAc,qBAAsBtB,EAAOsB,GAC3D,iBAAkBla,EAAIka,GAAe,eAAgBH,EAAKG,IAC9Dla,EAAIka,GAAgBtB,EAAOsB,GAC3B,QACJ,CACJ,CACJ,GAGJ,IACID,EAAWZ,EAAYC,EAAaF,EAAa,EACrD,CAAE,MAAOD,GACL3oC,QAAQC,IAAI,0BAA2B0oC,EAC3C,CACA,IAAI9P,EAAMp2B,GAAUomC,GAIpB,GAFAN,EAAY34B,YAAci5B,EAEtBI,GAAMpQ,EAAK,CAGXpG,eAAe0M,QAAQ,gBAAiB38B,KAAKC,UAAU8lC,IAEvD,MAAMoB,EAAcpC,GAAMqC,UAAUC,GACpC,SAASA,IACLF,IACIZ,IAAQE,GACRjpC,QAAQC,IAAI,2BACZ6pC,GAAYvB,IAEZvoC,QAAQC,IAAI,+DAEpB,CACAsnC,GAAMwC,SAAS3I,GAAkByH,GACrC,MACI3B,IAAiB,EACjBzU,eAAe0M,QAAQ,gBAAiB38B,KAAKC,UAAU8lC,IAG3D,OAAOA,CACX,CAEO,SAASyB,KAAqH,IAArGzB,EAAWvZ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGN,GAAU6Y,GAAMC,YAAac,EAAatZ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGyD,eAAeC,QAAQ,iBAC9G,GAAIwU,GAAgB,CAChB,MAAM+C,EAAUC,KAAKC,MAAQhD,GAC7B,GAAI8C,EAAU,IACV,OAEJjqC,QAAQC,IAAI,mDAAoDgqC,EACpE,CAEA9C,GAAoB+C,KAAKC,MACzBjD,IAAiB,EAEjBI,GAAUiB,GAEV,MAAM/V,EAAQ+M,OAAO9M,eAAeC,QAAQ,WAC5CiM,MAAMY,OAAO6K,SAAShC,OAAS,yBAA0B,CACrDiC,MAAO,WACPzL,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MAAKC,IACCA,EAASqL,GAIVrL,EAASC,OAAOF,MAAKT,IACC,OAAdA,EAAGgM,QACHvqC,QAAQC,IAAI,uBAAyBs+B,EAAGgM,QACxChL,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,KAE3C,OAAZlB,EAAGiM,MACHjC,EAAchB,GAAMC,WACpBc,EAAgB7V,eAAeC,QAAQ,iBACZ,qBAAhB6V,GAAwD,qBAAlBD,EAC7CH,GAAW5J,EAAGiM,MAEdrC,GAAW5J,EAAGiM,KAAMjC,EAAaD,KAGrChB,GAAUiB,GACV9V,eAAe0M,QAAQ,gBAAiB38B,KAAKC,UAAU8kC,GAAMC,aAC7DsC,GAAYvB,GAEpB,KArBJvoC,QAAQC,IAAI,qCACZs/B,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAsB/D,IACDL,OAAMhH,IACL8O,IAAiB,EACjBlnC,QAAQC,IAAI,yBAAyB,GAE7C,CAEO,SAAS6pC,GAAY/pC,GACxB,MAAM0qC,EAASjoC,KAAKC,UAAU1C,GAC9B0yB,eAAe0M,QAAQ,gBAAiBsL,GACxC,MAAMC,EAASC,GAAcF,GAEvBjY,EAAQ+M,OAAO9M,eAAeC,QAAQ,WAC5C,GAAc,OAAVF,EAGA,OAFAxyB,QAAQC,IAAI,uCACZs/B,OAAO6K,SAASQ,KAAO,UAGY,UAAnCnY,eAAeC,QAAQ,SAK3BwU,IAAiB,EAEjBvI,MAAMY,OAAO6K,SAAShC,OAAS,oBAAqB,CAChDiC,MAAO,WACPzL,OAAQ,OACRnF,KAAMiR,EACN7L,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MAAKC,IACCA,EAASqL,GAIVrL,EAASC,OAAOF,MAAKT,IACC,OAAdA,EAAGgM,SACHvqC,QAAQC,IAAI,uBAAyBs+B,EAAGgM,QACpChM,EAAGgM,OAAO1J,QAAQ,qBAClBpO,eAAeoY,WAAW,WAE9BtL,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,KAE/DyH,IAAiB,CAAK,KAX1B3H,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAC3Dp+B,KAAKypC,SAAS,CAAEC,MAAM,IAY1B,IACD3L,OAAMhH,IACLmH,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAC3Dz/B,QAAQC,IAAI,sBACZinC,IAAiB,CAAK,KAjCtBlnC,QAAQC,IAAI,0BAmCpB,CApRAsnC,GAAMqC,UAAUoB,KAAS,KACrB,GAAuC,UAAnCvY,eAAeC,QAAQ,QAAqB,OAChD,IAAIuY,EAAU1D,GAAMC,WACpBF,GAAU2D,EAAQ,GACnB,MAEH1D,GAAMqC,UAAUoB,KAAS,KACrB,GAAuC,UAAnCvY,eAAeC,QAAQ,QAAqB,OAChD,IAAIuY,EAAU1D,GAAMC,WAChB0D,EAAclE,GAAIvkC,GAAUwoC,IAChC,GAAIC,IAAgBhD,GAAc,CAE1B,MADQ3I,OAAO9M,eAAeC,QAAQ,aAEjCwU,KACD8C,KACA9B,GAAegD,GAK3B,IACD,MAiQH3L,OAAO4L,aAAY,KACf,GAAuC,UAAnC1Y,eAAeC,QAAQ,QAAqB,OAE5C,MADQ6M,OAAO9M,eAAeC,QAAQ,YAEtCsX,IAAiB,GACtB,KAEYzC,U,+IC5UA,MAAM6D,WAAaC,YAC9BjqC,YAAYkqC,GACRC,MAAMD,GAAO,KAwBjBE,iBAAoB9C,IAChB1oC,QAAQC,IAAI,+CACZoB,KAAKoqC,YAAY,EACpB,KACDC,UAAY,KACR,IAAIC,EAAI,IAAIzB,KACZlqC,QAAQC,IAAI,mDAAoD0rC,EAAEC,kBAClE5rC,QAAQC,IAAI,aAAeiqC,KAAKC,MAAM,IAAO9oC,KAAKwqC,oBAClDxqC,KAAKoqC,YAAY,EACpB,KACDK,WAAcpD,IACV,IAAIyB,EAAMD,KAAKC,MAAM,IACjBA,EAAM9oC,KAAKwqC,mBAAqB,KAIhCxqC,KAAKwqC,kBAAmB1B,EAOxB9oC,KAAKoqC,cAGTpqC,KAAKkI,MAAMwiC,aAAe5B,EAC1B6B,aAAa3qC,KAAK4qC,WAGlB5qC,KAAK4qC,UAAYC,WAAW7qC,KAAKqqC,UAAW,OAAgC,EAE/E,KAmEDS,OAAS,KACF9qC,KAAK+qC,WACJJ,aAAa3qC,KAAK+qC,WACtB/qC,KAAK+qC,UAAY,KACjBF,YAAW7K,IACPrhC,QAAQC,IAAI,6BACZs/B,OAAO6K,SAASQ,KAAOD,IAA2B,GACnD,IAAK,EACX,KACD0B,YAAc,KAAQhrC,KAAKypC,SAAS,CAAEC,MAAM,IAASxL,OAAO6K,SAASQ,KAAOD,IAA2B,EAAG,KAC1G2B,WAAa,IAAMjrC,KAAKypC,SAAS,CAAEC,MAAM,IApIrC1pC,KAAKkI,MAAQ,CACTwhC,MAAM,EACNgB,aAAc,EACdQ,QAAQ,GAEZlrC,KAAKkI,MAAMwiC,aAAe7B,KAAKC,MAAM,IACrC9oC,KAAKwqC,kBAAoB,EACzBxqC,KAAK+qC,UAAY,KACjB7M,OAAOiN,iBAAiB,YAAanrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC3EnN,OAAOiN,iBAAiB,UAAWnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IACzEnN,OAAOiN,iBAAiB,QAASnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IACvEnN,OAAOiN,iBAAiB,iBAAkBnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAChFnN,OAAOiN,iBAAiB,aAAcnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC5EnN,OAAOiN,iBAAiB,YAAanrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC3EnN,OAAOiN,iBAAiB,aAAcnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC5EnN,OAAOiN,iBAAiB,YAAanrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC3EnN,OAAOiN,iBAAiB,gBAAiBnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC/EnN,OAAOiN,iBAAiB,gBAAiBnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAC/EnN,OAAOiN,iBAAiB,mBAAoBnrC,KAAKyqC,WAAWW,KAAKprC,MAAO,CAACqrC,SAAS,IAElFnN,OAAOnG,SAASoT,iBAAiB,iBAAkBnrC,KAAKmqC,iBAE5D,CAkCAC,aACI,IAAIpqC,KAAKkrC,OACL,OACJ,IAAI/Z,EAAQ+M,OAAO9M,eAAeC,QAAQ,WAE1C,GADArxB,KAAKwqC,kBAAoB3B,KAAKC,MAAM,IACtB,OAAV3X,EAGA,OAFAxyB,QAAQC,IAAI,0BACZs/B,OAAO6K,SAASQ,KAAOD,MAG3BhM,MAAMY,OAAO6K,SAAShC,OAAS,gBAAiB,CAC5CiC,MAAO,WACPzL,OAAQ,OACRnF,KAAM,GACNoF,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MAAKC,IACJ,IAAI0M,EAAI,IAAIzB,KAEPjL,EAASqL,GAKVrL,EAASC,OAAOF,MAAKT,IACC,OAAdA,EAAGgM,QACHvqC,QAAQC,IAAI,mBAAqBuC,KAAKC,UAAU87B,GAAM,SAAWoN,EAAEC,kBACnEnZ,eAAeoY,WAAW,WAC1B7qC,QAAQC,IAAI,mBACZoB,KAAK+qC,UAAYF,YAAW7K,IACxBrhC,QAAQC,IAAI,gDACZs/B,OAAO6K,SAASQ,KAAOD,IAA2B,GACnD,KAC6B,MAA7BpL,OAAO6K,SAASuC,UACftrC,KAAKypC,SAAS,CAAEC,MAAM,KAG1BtY,eAAe0M,QAAQ,UAAWZ,EAAGqO,MACzC,KAlBJ5sC,QAAQC,IAAI,yBAA2B0rC,EAAEC,kBACzCnZ,eAAeoY,WAAW,WAC1BxpC,KAAKypC,SAAS,CAAEC,MAAM,IAkB1B,IACD3L,OAAMhH,IACL,IAAIuT,EAAI,IAAIzB,KACZlqC,QAAQC,IAAI,0BAA4Bm4B,EAAQ,SAAWuT,EAAEC,iBAAiB,GAEtF,CAEAiB,oBACOxrC,KAAK4qC,WACJD,aAAa3qC,KAAK4qC,WACtB5qC,KAAK4qC,UAAYC,WAAW7qC,KAAKqqC,UAAW,QAE5CrqC,KAAKkrC,QAAO,EACZlrC,KAAKoqC,aACLd,KACAtpC,KAAKirC,YACT,CACAQ,uBACOzrC,KAAK4qC,WACJD,aAAa3qC,KAAK4qC,WACtB5qC,KAAK4qC,UAAY,KACjB5qC,KAAKkrC,QAAO,CAEhB,CAYAQ,SACI,OACIC,eAAA,OAAKC,UAAU,YAAWC,SACtBC,gBAACC,KAAK,CAACrC,KAAM1pC,KAAKkI,MAAMwhC,KAAMsC,OAAQhsC,KAAKgrC,YAAaF,OAAQ9qC,KAAK8qC,OAAOe,SAAA,CACxEF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,sBAEjBF,eAACI,KAAMK,KAAI,CAAAP,SAAC,iDACZF,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKgrC,YAAYa,SAAC,gBAK3E,E,mDC7JJ,IAAI1a,GAAQC,eAAeC,QAAQ,WACpB,wBAAwD,IAAjDob,EAAG9e,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIsD,EAAItD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGI,EAAIJ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,MAAM+e,EAAM/e,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAC,CAAC,EAE5DI,EAAOA,EAAKwF,cAEZ,IAAIoZ,EAAgB,CAChBC,YAAa,cACbrP,OAAQxP,EACRyP,QAAS,IACFkP,EACHjP,cAAe,UAAYtM,GAC3B,OAAU,mBACV,eAAgB,oBAEpB0b,KAAM,OACN7D,MAAO,eAGC,QAARjb,GAEAyI,OAAOsW,eAAeH,EAAe,OAAQ,CACzCn3B,MAAOrU,KAAKC,UAAU6vB,KAG9B,IACI,MAAM2M,QAAiBN,MAAMmP,EAAKE,GAOlC,aAF2B/O,EAASC,MAGxC,CAAE,MAAO9G,GACL,MAAM,IAAIgW,MAAMhW,EACpB,CACH,ECjCM,MAAMiW,GAAYC,GAAWC,GAAI,iBAAkBD,GAE7CE,GAAUlc,GAASic,GAAI,eAAgBjc,EAAK,QAC5Cmc,GAAqBnc,GAASic,GAAI,0BAA2Bjc,EAAK,QAClEoc,GAAqBX,GAAWQ,GAAI,6BAA8B,CAAC,EAAE,MAAMR,G,yCCJjF,MAAMY,GAA2B,qBAiBjC,SAASC,KAoCZ,IAAIpc,EAAQmY,KACZhM,MAAM,cAAe,CACnBC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEVC,MACDC,IAC0B,MAApBA,EAASnyB,OAMfmyB,EAASC,OAAOF,MAAKT,IAEjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAI,UAAYs+B,EAAGiM,UACxB,CACH,MACMqE,EADOtQ,EAAGuQ,MACQC,QAAOC,GAA0B,WAAlBA,EAAKC,WACtClnB,EAAQ8mB,EAAW5f,OAAS,EAzDxBigB,KAClB,IAAIC,EAAkB,GAClBC,EAAc,CAAC,EACnBF,EAAKze,SAAQ4e,IACHA,EAAKJ,YAAYG,IACnBA,EAAYC,EAAKJ,UAAY,IAEjCG,EAAYC,EAAKJ,UAAUjf,KAAKqf,EAAK,IAEzC,IAAK,IAAIC,KAAYF,EAAa,CAC9B,IAAIrnB,EAAQqnB,EAAYE,GAExBvnB,EAAMwnB,MAAK,CAACpf,EAAG2N,IAAMA,EAAE0R,GAAKrf,EAAEqf,KAE9B,IAAK,IAAI/f,EAAI,EAAGA,EAAI1H,EAAMkH,OAAQQ,IAAK,CACnC,IACIggB,EAAa,IADC1nB,EAAM0H,IAGxB,GAAiB,WAAb6f,EACA,IAAK,IAAIrc,EAAIxD,EAAI,EAAGwD,EAAIlL,EAAMkH,OAAQgE,IAAK,CACvC,IAAIyc,EAAW3nB,EAAMkL,GACrBwc,EAAWE,MAAM3f,QAAQ0f,EAASC,MACtC,MAEA,IAAK,IAAI1c,EAAIxD,EAAI,EAAGwD,EAAIlL,EAAMkH,OAAQgE,IAAK,CACvC,IAAIyc,EAAW3nB,EAAMkL,GACrBwc,EAAWG,UAAU5f,QAAQ0f,EAASE,UAC1C,CAEJT,EAAgBnf,KAAKyf,GACrBhgB,EAAI1H,EAAMkH,MACd,CACJ,CACA,OAAOkgB,CAAe,EAwBwBU,CAAWhB,GAAc,GAC/D,IAAIiB,EAAc,EACd/nB,EAAMkH,OAAS,GACjBlH,EAAM0I,SAAQ4e,IACc,WAAlBA,EAAKJ,SACLa,GAAeT,EAAKM,MAAM1gB,OAE1B6gB,GAAeT,EAAKO,UAAU3gB,MAClC,IAjFf,SAAkC8gB,GACrC,MAAMC,EAAQ,IAAIC,YAAYtB,GAA0B,CACtDuB,OAAQH,IAEV3W,SAASoG,cAAcwQ,EACzB,CA+EYG,CAAyBL,EAC7B,KAxBA9vC,QAAQC,IAAI,gDACRg/B,EAASnyB,OAwBb,IACDsyB,OAAM,SAAUC,GACjBr/B,QAAQC,IAAI,gBAAiBo/B,EAC/B,GACN,CCtFO,MAAM+Q,GAAmBA,CAACC,EAAWC,EAAYC,IAC7C5tC,gBAAK6tC,mBAAQ,CAACH,EAAWC,EAAYC,IAAY,KAa/CE,GAAoB9c,GACxBA,EACE+c,sBAAWC,mBAAQC,qBAAUjd,KADnB,GASRkd,GAA4Bh6B,KAEjCi6B,oBAASj6B,OAKT+W,oBAAS/W,IAA2B,KAAjBA,EAAM2d,QAAkBuJ,iBAAMgT,oBAASl6B,KC9BrDm6B,GAAkBxjC,IAC3B,MAAM,QAAEhB,EAAO,OAAEE,EAAM,MAAEnD,GAAUiE,EAAKjE,MAAMqG,YAAYwD,SAG1D,OAAI69B,mBAAQzkC,IAAYykC,mBAAQvkC,GACrB,MAIJukC,mBAAQzkC,GAAQ,GAAAzJ,OACd4nC,GAAuBj+B,GAAO,MAAA3J,OAAK4nC,GAAuBphC,IAC7DiD,CAAO,EA4DV,SAAS0kC,GAAe1jC,GAC3B,IAAKA,EAAKiW,eAAgB,OAAO,EACjC,MAAM0tB,EAAiB3jC,EAAKiW,eAAeqR,cAC3C,OAAOqc,EAAetQ,QAAQ,aAAe,GAAKsQ,EAAetQ,QAAQ,eAAiB,GAAKsQ,EAAetQ,QAAQ,eAAiB,CAC3I,CASO,SAASuQ,GAA6B3rC,EAASoH,EAAOmG,GACzD,IAAIq+B,EAAgB,EAChBC,EAAuB,EACvBnqB,EAAgB,EAChBoqB,EAAe,EACfrsC,EAAU,EACVssC,EAAY,EAEhB,MAAMC,EAnDH,SAA+BhsC,EAASoH,EAAOmG,GAClD,GAAIvN,IAAYy7B,GAAiB,OAAO,EAExC,IAAIwQ,EAAU,EAEd,OAAc,OAAV7kC,EACO,GAGXA,EAAM4jB,SAAQkhB,KA/BX,SAAkBA,GACrB,MAAqB,SAAjBA,EAAEltB,YAA0C,KAAjBktB,EAAEltB,cAIzBktB,EAAEluB,eAAeqR,cAAc+L,QAAQ,aAAe,GACtD8Q,EAAEluB,eAAeqR,cAAc+L,QAAQ,eAAiB,GACxD8Q,EAAEluB,eAAeqR,cAAc+L,QAAQ,eAAiB,EAMpE,EAmBY+Q,CAASD,IACTA,EAAExtB,qBACFutB,GAAW,EACf,IAGCT,mBAAQj+B,IACTA,EAAWyd,SAAQkhB,IACfD,GAAW,CAAC,IAIbA,EACX,CA4B6BG,CAAsBpsC,EAASoH,EAAOmG,GAE/D,GAAIi+B,mBAAQpkC,GACR,MAAO,CACHwkC,EACAC,EACAnqB,EACAoqB,EACArsC,EACAssC,GAIR,MAAMM,EAAMjlC,EAAMoiB,OAClB,GAAyB,IAArBwiB,GAA0BhsC,IAAYy7B,GAAiB,CAEvD,IAAK,IAAIjsB,EAAQ,EAAGA,EAAQ68B,EAAK78B,IAAS,CACtC,MAAMzH,EAAOX,EAAMoI,IACa,IAA5BzH,EAAK2W,qBACL3W,EAAK8W,WAAY,EAEzB,CACA,GAAkB,MAAdtR,EACA,IAAK,IAAIiC,EAAQ,EAAGA,EAAQjC,EAAWic,OAAQha,IAAS,CACpD,MAAMzH,EAAOwF,EAAWiC,GACxBzH,EAAK8W,WAAY,EACjB9W,EAAK+W,cAAgB,cACzB,CAER,CAEA,IAAK,IAAItP,EAAQ,EAAGA,EAAQ68B,EAAK78B,IAAS,CACtC,MAAMzH,EAAOX,EAAMoI,GACnB,GAAI01B,GAAen9B,GAAO,CACtB,GAAwB,SAApBA,EAAKiX,YAA6C,KAApBjX,EAAKiX,WAAmB,SAE1D,MAAMstB,EAAY5jB,SAAS3gB,EAAKiC,gBAC1BuiC,EAAa7jB,SAAS3gB,EAAK4V,kBAC7B3d,IAAYy7B,IAAmB1zB,EAAK2W,oBACT,iBAAvB3W,EAAK+W,gBACD/W,EAAK8W,WACL+sB,GAAiBU,EACjBT,GAAwBU,GAGpBvsC,IAAYy7B,KACoB,IAAhC1zB,EAAKoX,wBAELuC,GAAiB4qB,EACjBR,GAAgBS,IAEhB7qB,GAAiB4qB,EACjBR,GAAgBS,EAChB9sC,GAAW8sC,IAMvBvsC,IAAYy7B,IAAmB1zB,EAAK4W,sBACP,IAAzBktB,GACAD,GAAiBU,EACjBT,GAAwBU,IAExB7qB,GAAiB4qB,EACjBR,GAAgBS,EAChB9sC,GAAW8sC,GAGvB,CACJ,CAEA,IAAKf,mBAAQj+B,GACT,IAAK,IAAIyc,EAAI,EAAGA,EAAIzc,EAAWic,OAAQQ,IAAK,CACxC,MAAMwiB,EAAOj/B,EAAWyc,GACxB,GAAI,KAAOwiB,EAAKthC,QAAS,CACrB,GAAIshC,EAAK1rB,SACsB,iBAAvB0rB,EAAK1tB,cAAkC,SAE/C+sB,GAAwBnjB,SAAS8jB,EAAKthC,SACtC0gC,GAAiBljB,SAAS8jB,EAAK5rB,QACnC,CACJ,CAGJ,OAAQ5gB,GACJ,KAAKy7B,GACDsQ,EAAYF,EAAuBC,EACnC,MACJ,KAAKrQ,GACDsQ,EAAYF,EAAuBpsC,EAM3C,MAAO,CACHmsC,EACAC,EACAnqB,EACAoqB,EACArsC,EACAssC,EAER,CAaO,SAASU,GACZzsC,EACAyhB,EACAsB,EACAxjB,EACA0C,EACAM,EACAjD,EACAsmB,EACAS,GAEA,GAAI5E,IAAoBga,GACpB,OAAIz7B,IAAYy7B,GACL2P,GAAyBnpC,GAAkB,KAAA3E,OAAQ4nC,GAAajjC,IAAuB,MAE9FjC,IAAYy7B,GACL2P,GAAyB7oC,GAAoB,KAAAjF,OAAQ4nC,GAAa3iC,IAAyB,MAElGvC,IAAYy7B,IACL2P,GAAyB7oC,GAAoB,KAAAjF,OAAQ4nC,GAAa3iC,IAEtE,MAEP,GAAIvC,IAAYy7B,GAAiB,CAC7B,MAAMiR,EAAQ9mB,EAAc7C,EAAasD,EACnCsmB,EAAavB,GAAyBsB,GAASE,OAAOF,GAAS,EAC/DG,EAAczB,GAAyB7rC,GAAeqtC,OAAOrtC,GAAe,EAClF,MAAM,KAANjC,OAAY4nC,GAAayH,EAAaE,GAC1C,CACA,OAAOzB,GAAyB9rC,GAAS,KAAAhC,OAAQ4nC,GAAa5lC,IAAc,KAEpF,CCoRewtC,OA5ff,SAA+BjH,GAC3B,MAAO1M,EAAQ4T,GAAaC,mBAAS,KAC9BC,EAAWC,GAAgBF,mBAAS,IACpC1R,EAAa6R,GAAkBH,mBAAS,IACzCI,EAAalI,KACb/6B,EAAckjC,aAAavpC,GAAUA,EAAMqG,cAC3CC,EAAWijC,aAAavpC,GAAUA,EAAMsG,WAExCpK,EAAUstC,mBAAQ,IAAMnjC,EAAYwD,SAAS3N,SAAS,CAACmK,EAAYwD,SAAS3N,UAC5E+G,EAAUumC,mBAAQ,IAAMnjC,EAAYwD,SAAS5G,SAAS,CAACoD,EAAYwD,SAAS5G,UAC5EE,EAASqmC,mBAAQ,IAAMnjC,EAAYwD,SAAS1G,QAAQ,CAACkD,EAAYwD,SAAS1G,SAC1EnD,EAAQwpC,mBAAQ,IAAMnjC,EAAYwD,SAAS7J,OAAO,CAACqG,EAAYwD,SAAS7J,QACxEqZ,EAAOmwB,mBAAQ,IAAMljC,EAASoY,UAAUrF,MAAM,CAAC/S,EAASoY,UAAUrF,OAClEowB,EAAUD,mBAAQ,IAAMljC,EAASoY,UAAUpF,KAAK,CAAChT,EAASoY,UAAUpF,MACpEwtB,EAAY0C,mBAAQ,IAAMnjC,EAAYkC,SAASyF,WAAW,CAAC3H,EAAYkC,SAASyF,YAChF7N,EAAQqpC,mBAAQ,IAAMnjC,EAAYkC,SAASpI,OAAO,CAACkG,EAAYkC,SAASpI,QACxEupC,EAAgBF,mBAAQ,IAAoC,mBAA9BnjC,EAAY0C,eAAoC,CAAC1C,EAAY0C,iBAI1F4gC,EAAmBC,GAAwBV,mBAASjU,aAAa9L,QAAQ,wBAA0B,KACnG0gB,EAAkBC,GAAuBZ,mBAASjU,aAAa9L,QAAQ,uBAAyB,KAChG4gB,EAAoBC,GAAyBd,oBAAS,GAE7De,qBAAU,KACNnF,KAAWrP,MAAMyU,IACb,GAAmB,OAAfA,EAAIlJ,OAAiB,CACrB,MAAM/8B,EAAOimC,EAAI5mC,MAAM6mC,MAAM1E,GAASA,EAAK76B,SAAWs/B,EAAIt/B,SAC1D,GAAI3G,EAAM,CACNA,EAAKjE,MAAQ/G,KAAKssB,MAAMthB,EAAKjE,OAC7BiE,EAAKmmC,QAAUnxC,KAAKssB,MAAMthB,EAAKmmC,SAC/B,MAAM,aAAExhC,EAAY,cAAEC,GAAkB5E,EAAKjE,MAAMqG,YACnDujC,EAAqB/gC,GACrBihC,EAAoBlhC,GACpBqsB,aAAaW,QAAQ,oBAAqB3xB,EAAK0N,iBAC/CsjB,aAAaW,QAAQ,qBAAsBhtB,GAC3CqsB,aAAaW,QAAQ,sBAAuB/sB,GAC5CosB,aAAaW,QAAQ,eAAgB6R,GAAexjC,IAEpD,MAAMglB,EAAQmY,KACdhM,MAAM,6CAA8C,CAChDC,OAAQ,OACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,YAEXtF,KAAMj3B,KAAKC,UAAU,CAAE0R,OAAQs/B,EAAIt/B,WAElC6qB,MAAMyU,IACgB,MAAfA,EAAI3mC,QACJ2mC,EAAIvU,OAAOF,MAAM1M,KACR2e,mBAAQ3e,IAASA,EAAKrD,QAAU,GACjCskB,GAAsB,EAC1B,GAER,IAEHnU,OAAOC,IACJr/B,QAAQo4B,MAAM,8BAA+BiH,EAAI,GAE7D,CACJ,KACDD,OAAOC,IACNr/B,QAAQo4B,MAAM,oBAAqBiH,EAAI,GACzC,GACH,IAEHmU,qBAAU,QAEP,IAEH,MAAMI,EAAmBb,mBAAQ,IACtB3C,GACHC,EACAzgC,EAAYkC,SAAS0F,WACrB5H,EAAYkC,SAAS2F,WAE1B,CAAC44B,EAAWzgC,EAAYkC,WAErB+hC,EAAqBd,mBAAQ,KAC/B,GAAIE,EACA,OAAO7C,GACHxgC,EAAYqD,WAAWsE,UACvB3H,EAAYqD,WAAWuE,WACvB5H,EAAYqD,WAAWwE,SAE/B,GACD,CAACw7B,EAAerjC,EAAYqD,aAEzB6gC,EAAoBf,mBACtB,IAAM,CACF,CACIgB,MACI/G,eAACgH,QAAI,CACDjtB,GAAe,UAAX6X,EAAqB,wBAA0B,8BACnDqO,UAAU,YAAWC,SAET,UAAXtO,EAAqB,kBAAoB,oBAGlDrxB,IAAK,KAET,CAAE6hB,KAAM,WACR,CACI2kB,MACI/G,eAACgH,QAAI,CAACjtB,GAAG,sBAAsBkmB,UAAU,YAAWC,SAAC,aAIzD3/B,IAAK,OAGb,CAACqxB,IAGCqV,EAAiBlB,mBAAQ,KAC3B,MAAMmB,EAAU,wCAChB,OAAOlB,EAAO,GAAAjwC,OAAMmxC,EAAO,KAAAnxC,OAAIiwC,GAAYkB,CAAO,GACnD,CAAClB,IAEEmB,EAAsBpB,mBAAQ,IAAMpI,GAAiByI,IAAqB,GAAG,CAACA,IAC9EgB,EAAqBrB,mBAAQ,IAAMpI,GAAiByI,IAAqB,GAAG,CAACA,IAC7EiB,EAAkBtB,mBAAQ,IAA6C,IAAvCpI,GAAiByI,IAAyB,CAACA,IAE3EkB,EAAevB,mBACjB,IACgB,aAAZttC,EACIunC,eAAA,OAAKxT,IAAI,aAAa+a,IAAI,UAE1BvH,eAAA,OAAKxT,IAAI,aAAa+a,IAAI,WAElC,CAAC9uC,IAGC+uC,EAAiBzB,mBAAQ,IAEvB9B,mBAAQzkC,IAAYykC,mBAAQvkC,GACrB,MAIJukC,mBAAQzkC,GAAQ,GAAAzJ,OACd4nC,GAAuBj+B,GAAO,MAAA3J,OAAK4nC,GAAuBphC,IAC7DiD,GACP,CAACA,EAASE,EAAQnD,IAyCrB,SAASkrC,IAAmD,IAAjCC,EAAY1lB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAAU2lB,EAAQ3lB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EACrD,GAAIwlB,IAAiBzB,EACjB,OAAOjG,eAAA4H,YAAA,IAGX,MAAMt9B,EAAiBo9B,EAAe9kC,EAAYqD,WAAWqE,eAAiB1H,EAAYkC,SAASwF,eAC7Fu9B,EAAgBC,iBAAMx9B,GAAiBsL,IAAkB,IAATA,IAEtD,GAAIiyB,EAAe,CAEf,OADoBF,IAAa1D,mBAAQ0D,EAASngB,QAK9C2Y,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BF,eAAC+H,KAAQ,CACL3lB,KAAK,SACL4lB,QAAS,EACThhB,KAAM,GACNihB,YAAa,GACbC,OAAQA,IAAM,KACdC,YAAY,UACZC,WAAW,YAEfpI,eAAA,OAAKC,UAAU,gBAAeC,SAAC,WAb5BF,eAAA4H,YAAA,GAgBf,CAEA,IAAIS,EAAa,EACiB,WAA9BzlC,EAAY0C,gBACZ+iC,GAAc,EACdA,GAAc,EACdA,GAAc,GAElBA,GAAc,EACdA,GAAc,EACdA,GAAc,EACdA,GAAc,EACdA,GAAc,EACdA,GAAc,EACdA,GAAc,EAEd,MAAM,SACF75B,EAAQ,UACRC,EAAS,SACTrI,EAAQ,WACRsI,EAAU,YACVC,EAAW,OACXC,EAAM,YACNC,EAAW,YACXlB,EAAW,cACXmB,EAAa,SACb7E,GACAK,EAEJ,IAAIg+B,EAAiB,EACa,WAA9B1lC,EAAY0C,gBACRkJ,IAAU85B,GAAkB,GAC5B75B,IAAW65B,GAAkB,GAC7BliC,IAAUkiC,GAAkB,IAEhC55B,IAAY45B,GAAkB,GAC9B35B,IAAa25B,GAAkB,GAC/B15B,IAAQ05B,GAAkB,GAC1Bz5B,IAAay5B,GAAkB,GAC/B36B,IAAa26B,GAAkB,GAC/Bx5B,IAAew5B,GAAkB,GACjCr+B,IAAUq+B,GAAkB,GAEhC,MAAMN,EAAUllB,KAAK4L,MAAO4Z,EAAiBD,EAAc,KAE3D,OAAmB,MAAZL,EACHhI,eAAA,OACIxT,IAAI,2CACJ+a,IAAI,YACJtH,UAAU,kBAGdE,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BF,eAAC+H,KAAQ,CACL3lB,KAAK,SACL4lB,QAASA,EACThhB,KAAM,GACNihB,YAAa,GACbC,OAAQA,IAAM,KACdC,YAAY,UACZC,WAAW,YAEfjI,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAAE8H,EAAQ,SAGpD,CAnIAxB,qBAAU,KACN,IAAI+B,GAAY,EA6BhB,MA3BkBC,WH3JnB,IAAqCC,EG4JhC7G,KH5JgC6G,EG6JH/M,IACzB,GAAI6M,EAAW,CACX,MAAMG,EAAiBhN,EAAEwH,OACzByC,EAAa+C,EACjB,GHhKdtc,SAASoT,iBAAiBmC,GAA0B8G,GGmK1C,IACI,MAAM,OAAEE,SAAiBlH,GAAkB,CACvCmH,WAAYnjB,eAAeC,QAAQ,OACnCmjB,MAAOjmC,EAAYkC,SAASpI,QAE5B6rC,GAAW/C,EAAUmD,GAEzB,MAAM,YAAEG,SAAsBpH,GAAkB,CAC5C,eAAgB/D,OAEhB4K,GAAW3C,EAAekD,EAClC,CAAE,MAAO1d,GACLp4B,QAAQo4B,MAAM,uBAAwBA,EAC1C,GAGJ2d,GAEO,KHlLR,IAAwCN,EGmLnCF,GAAY,EHnLuBE,EGoLH/M,IAC5B,MAAMgN,EAAiBhN,EAAEwH,OACzByC,EAAa+C,EAAe,EHrL1Ctc,SAAS4c,oBAAoBrH,GAA0B8G,EGsL3C,CACL,GACF,CAAC7lC,EAAYkC,SAASpI,QAgGzB,MAAMusC,EAAoBzlB,IACtB,OAAQA,GACJ,IAAK,WACD,OAAO5N,IAAS+nB,GAA6B7P,SACjD,IAAK,YACD,OAAOlY,GAAQ+nB,GAA6B9P,WAAajY,EAAO+nB,GAA6B13B,WACjG,IAAK,aACD,OAAO2P,GAAQ+nB,GAA6B13B,YAAc2P,EAAO+nB,GAA6B7P,SAClG,IAAK,QACD,OAAOlY,IAAS+nB,GAA6B5P,MACjD,IAAK,gBACD,OAAOnY,IAAS+nB,GAA6B3P,cACjD,IAAK,YACD,OAAOpY,IAAS+nB,GAA6B5V,UACjD,IAAK,QACD,OAAOnS,IAAS+nB,GAA6B5iB,MACjD,QACI,OAAO,EACf,EAGJ,OACIolB,gBAAA,OAAKF,UAAU,qBAAoBC,SAAA,CAC/BC,gBAAA,OAAAD,SAAA,CACIC,gBAAA,OAAKF,UAAU,2EAA0EC,SAAA,CACrFF,eAAA,OAAKC,UAAU,eAAcC,SAAEnM,IAC/BiM,eAAA,OAAKC,UAAU,8BAGnBE,gBAAA,OACIF,UAAU,0BACVY,QAASA,KACLtO,OAAO2W,KAAK,uBAAwB,QAAQ,EAC9ChJ,SAAA,CAEFF,eAACmJ,KAAY,CAAClJ,UAAU,uBACxBD,eAAA,QAAMC,UAAU,qBAAoBC,SAAC,qBAGzCC,gBAAC6G,QAAI,CACDjtB,GAAI,CACA4lB,SAAU,uCACVpjC,MAAO,CAAE6sC,iBAAiB,IAE9BnJ,UAAU,gDACVoJ,MAAO,CAAEC,gBAAiBL,EAAiB,YAAc,UAAY,WAAY/I,SAAA,CAEhFoH,EACDnH,gBAAA,OAAKF,UAAU,YAAYoJ,MAAO,CAAEE,WAAY,QAASrJ,SAAA,CACrDF,eAAA,OACIC,UAAU,iBACVoJ,MAAO,CAAEG,MAAOP,EAAiB,YAAc,UAAY,WAAY/I,SAC1E,aAGDF,eAAA,OAAKC,UAAU,eAAcC,SAAEsH,IAC/BxH,eAAA,OAAKC,UAAU,2BAA0BC,SACpCuD,GAAiByC,WAK9B/F,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAE1BC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,qBAAoBC,SAAC,MACpCF,eAAA,OAAKC,UAAS,cAAAlqC,OAAgBoxC,EAAsB,SAAW,IAAKjH,SAAC,mBAIzEC,gBAAA,OAAKF,UAAS,gBAAAlqC,OAAkBoxC,EAAsB,SAAW,IAAKjH,SAAA,CAClEC,gBAAC6G,QAAI,CACDjtB,GAAIktB,EACJhH,UAAS,YAAAlqC,OAAckzC,EAAiB,aAAe,SAAW,IAAK/I,SAAA,CAEvEF,eAAA,QAAMqJ,MAAO,CAAEI,WAAY,SAAUC,SAAU,SAAUC,aAAc,YAAazJ,SAC/E0G,IAEJa,GAAkB,EAAOb,MAE9BzG,gBAAC6G,QAAI,CACDjtB,GAAI,yCACJkmB,UAAS,YAAAlqC,OAAckzC,EAAiB,cAAgB,SAAW,IAAK/I,SAAA,CAExEF,eAAA,QAAMqJ,MAAO,CAAEI,WAAY,SAAUC,SAAU,SAAUC,aAAc,YAAazJ,SAC/E+F,IAAkBhC,mBAAQzc,gBAAKqf,IAAuBA,EAAqB,kBAE/EY,GAAkB,EAAMZ,MAkB7B7G,eAACgH,QAAI,CACDjtB,GAAI,oCACJkmB,UAAS,YAAAlqC,OAAckzC,EAAiB,SAAW,SAAW,IAAK/I,SAEnEF,eAAA,QAAAE,SAAM,YAEM,sBAAf2F,GACG1F,gBAAC6G,QAAI,CACDjtB,GACI,4CAEJkmB,UAAS,YAAAlqC,OAAckzC,EAAiB,iBAAmB,SAAW,IAAK/I,SAAA,CAE3EF,eAAA,QAAAE,SAAM,oBACLoG,GACGtG,eAAC4J,KAAG,CAACJ,MAAM,UAAUvJ,UAAU,UAASC,SAAC,iBAU7DC,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,qBAAoBC,SAAC,MACpCF,eAAA,OAAKC,UAAS,cAAAlqC,OAAgBqxC,EAAqB,SAAW,IAAKlH,SAAC,kBAIxEC,gBAAA,OAAKF,UAAS,gBAAAlqC,OAAkBqxC,EAAqB,SAAW,IAAKlH,SAAA,CAgBjEF,eAACgH,QAAI,CACDjtB,GAAI,wCACJkmB,UAAS,YAAAlqC,OAAckzC,EAAiB,aAAe,SAAW,IAAK/I,SAEvEF,eAAA,QAAAE,SAAM,gBAEVC,gBAAC6G,QAAI,CACDjtB,GAAI,oCACJkmB,UAAS,YAAAlqC,OAAckzC,EAAiB,SAAW,SAAW,IAAK/I,SAAA,CAEnEF,eAAA,QAAAE,SAAM,UACLwF,EAAY,GACT1F,eAAC4J,KAAG,CAACJ,MAAM,UAAUvJ,UAAU,UAASC,SACnCwF,aAQrB1F,eAAA,OAAKC,UAAU,2BAA0BC,SACrCC,gBAAC6G,QAAI,CACDjtB,GAAI,sCACJkmB,UAAU,cACVY,QAAUnF,IACD2L,GACD3L,EAAEmO,gBACN,EAEJR,MAAO,CAAES,OAAQzC,EAAkB,UAAY,eAAgBnH,SAAA,CAE/DF,eAAA,OACIC,UAAU,qBACVoJ,MAAO,CAAEC,gBAAiBjC,EAAkB,UAAY,WAAYnH,SACvE,MAGDF,eAAA,OACIC,UAAS,cAAAlqC,OAAgBsxC,EAAkB,SAAW,IACtDgC,MAAO,CAAEG,MAAOnC,EAAkB,UAAY,WAAYnH,SAC7D,uBAQjBC,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAAA,OAAKC,UAAU,2BACfD,eAAA,OAAKC,UAAU,yBAAwBC,SACnCF,eAAC+J,KAAQ,CAACC,KAAM,CAAEC,MAAOnD,GAAoB5G,SACzCC,gBAAA,OAAKF,UAAU,sCAAqCC,SAAA,CAChDF,eAAA,OAAKC,UAAU,UAASC,SAAEmD,EAAU9X,OAAO,KAC3C4U,gBAAA,OAAKkJ,MAAO,CAAEa,KAAM,EAAGC,SAAU,EAAGT,SAAU,SAAUH,WAAY,QAASrJ,SAAA,CACzEF,eAACoK,KAAO,CAACC,UAAU,QAAQC,MAAO1D,EAAiB1G,SAC/CF,eAAA,OAAKC,UAAU,sCAAqCC,SAC/C0G,MAGT5G,eAACoK,KAAO,CAACC,UAAU,QAAQC,MAAO5tC,EAAMwjC,SACpCF,eAAA,OAAKC,UAAU,kCAAiCC,SAC3CxjC,qBAUzC,ECrfA,MAAM6tC,WAAoBlM,YACtBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAiBhBkM,QAAU,KACN,IAAIC,EAAOlY,OAAO9M,eAAeC,QAAQ,WACrCglB,EAAY,MAAQD,GAAwB,IAAhBA,EAAKxoB,OAEjC5tB,KAAKkI,MAAMouC,kBAAoBD,EAC/Br2C,KAAKypC,SAAS,CAAE6M,gBAAiBD,IAEA,MAA7BnY,OAAO6K,SAASuC,WAChBtrC,KAAKypC,SAAS,CAAE8M,UAAU,IAC1BrY,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,KAGnEp+B,KAAKw2C,QAAU3L,WAAW7qC,KAAKm2C,QAAS,IAAK,EAChD,KAEDM,gBAAkB,KACd,IAAItlB,EAAQmY,KAEZhM,MAAM,2BAA4B,CAC9BC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MACCC,IAC4B,MAApBA,EAASnyB,OAKbmyB,EAASC,OAAOF,MAAKT,IACC,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAI,UAAYs+B,EAAGgM,QAE3BlpC,KAAKypC,SAAS,CAAEhK,KAAMvC,EAAGwZ,MAAOhX,YAAaxC,EAAG/zB,MACpD,IATAxK,QAAQC,IAAI,gDACRg/B,EAASnyB,OASf,IAGLsyB,OAAM,SAAUC,GACbr/B,QAAQC,IAAI,gBAAiBo/B,EACjC,GAAE,EACT,KA4CD2Y,UAAYxC,UACR,IACI,MAAM,OAAEG,SAAiBlH,GAAkB,CACvCmH,WAAYnjB,eAAeC,QAAQ,OACnCmjB,MAAOx0C,KAAKiqC,MAAM17B,YAAYkC,SAASpI,QAI3CrI,KAAKypC,SAAS,CAAElM,OAAQ+W,GAE5B,CAAE,MAAOvd,GAET,GACH,KACD6f,UAAY,KAER,IAAI1oB,EAAOluB,KAAKiqC,MAAMlB,SAClB8N,GAAQ,EAKZ,OAJI3oB,EAAKod,SAAS9L,QAAQ,kBAAoB,GAAKtR,EAAKod,SAAS9L,QAAQ,kBAAoB,KACzFqX,GAAQ,GAGR72C,KAAKkI,MAAMouC,gBAEPxK,gBAAA,OAAAD,SAAA,CACIF,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAAC7rC,GAAG,SAAS8rC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,qBAAoBC,SAAE,kCAEpFF,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAAC7rC,GAAG,QAAQ8rC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,qBAAoBC,SAAE,eAMvFC,gBAAA,OAAAD,SAAA,CACMgL,EAII,GAHFlL,eAACmL,iBAAa,CAACpxB,GAAG,sBAAqBmmB,SACnCF,eAACW,KAAM,CAACC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,sBAAqBC,SAAE,gBAG3EgL,EAGqB,GAFnBlL,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAACC,QAAQ,UAAUX,UAAU,qBAAoBC,SAAE,eAGhE,EAEjB,KACDkL,SAAW,KACPhf,SAASC,eAAe,uBAAuBgf,OAAO,EACzD,KACDtL,OAAS,KACL,IAAIxd,EAAOluB,KAAKiqC,MAAMlB,SAClB8N,GAAQ,EAIZ,OAHI3oB,EAAKod,SAAS9L,QAAQ,UAAY,GAAKtR,EAAKod,SAAS9L,QAAQ,kBAAoB,GAAuB,YAAlBtR,EAAKod,YAC3FuL,GAAQ,GAGR/K,gBAAA,OAAKpyB,KAAK,OAAOkyB,UAAU,gCAA+BC,SAAA,CACtDF,eAACsL,KAAM,CAACx2C,GAAIT,KAAKiqC,MAAMiN,IAAM,QAAU,OACnClC,MAAOh1C,KAAKiqC,MAAMiN,IAAM,CAAEhC,WAAY,MAAOiC,YAAa,MAAOC,SAAU,SAAY,CAAEC,UAAW,MAAOD,SAAU,SACrHxL,UAAW5rC,KAAKiqC,MAAMiN,IAAMl3C,KAAKs3C,QAAUt3C,KAAKu3C,OAAQC,kBAAgB,EAACC,OAAO,KAAKlL,QAAQ,QAAOV,SACpGF,eAACsL,KAAOS,MAAK,CAAC9L,UAAU,iBAAgBC,SAEnCgL,EAAQ/K,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAC1BC,gBAAA,KAAGvC,KAAK,IAAIiD,QAASnF,IAAOnJ,OAAO6K,SAASQ,KAAOD,IAA2B,EAAGuC,SAAA,CAC7EF,eAAA,OAAKC,UAAW5rC,KAAKiqC,MAAMiN,IAAM,cAAgB,OAAQ/e,IAAKn4B,KAAKkI,MAAMu3B,KAAMyT,IAAI,WACnFvH,eAAA,OAAKC,UAAU,6BAA4BC,SAAE7rC,KAAKkI,MAAMw3B,iBACvD,aAELoM,gBAAC6L,KAAIhF,KAAI,CAACiF,GAAIC,KAAUnyB,GAAG,QAAOmmB,SAAA,CAC9BF,eAAA,OAAKC,UAAW5rC,KAAKiqC,MAAMiN,IAAM,cAAgB,OAAQ/e,IAAKn4B,KAAKkI,MAAMu3B,KAAMyT,IAAI,WACnFvH,eAAA,OAAKC,UAAU,6BAA4BC,SAAE7rC,KAAKkI,MAAMw3B,qBAOvE1/B,KAAKkI,MAAMquC,SAAW5K,eAAC5B,GAAI,IAAM,KAChC,EAxLV,IAAIqM,EAAOlY,OAAO9M,eAAeC,QAAQ,WACzCrxB,KAAKkI,MAAQ,CACTouC,gBAAkB,MAAQF,GAAwB,IAAhBA,EAAKxoB,OACvCkqB,SAAU,GACVvB,UAAU,EACV9W,KAAM,YACNC,YAAa,SACbqY,UAAU,EACVxa,OAAQ,IAEZv9B,KAAKw2C,QAAU,KACftY,OAAO9M,eAAe0M,QAAQ,OAAQ,GAEtC99B,KAAKu3C,OAAS,2BACdv3C,KAAKs3C,QAAU,qBACnB,CA8CA9L,oBACIxrC,KAAKw2C,QAAU3L,WAAW7qC,KAAKm2C,QAAS,KACxCpe,SAASC,eAAe,IAGxB,IACIvG,EADe,IAAIumB,gBAAgB9Z,OAAO6K,SAASkP,QACzBC,IAAI,cAC7BzmB,IACDA,EAAa6X,MAIE,wBAAf7X,EACAzxB,KAAKy2C,kBAELnZ,MAAM,6BAA8B,CAChCE,QAAS,CACL,eAAgB/L,GAAc,YAGjCkM,MAAKwW,UACGvW,EAASqL,IAGdrL,EAASC,OAAOF,MAAKE,IACjB79B,KAAKypC,SAAS,CAAE/J,YAAa7B,EAAK4W,cAClC,IAAI0D,EAAgBh3C,KAAKssB,MAAMoQ,EAAKua,eAChC5hB,OAAOC,KAAK0hB,GAAehrB,SAAS,iBACpCntB,KAAKypC,SAAS,CAAEhK,KAAK,0BAAD/9B,OAA4By2C,EAAcE,OAClE,GACF,IAGdr4C,KAAK22C,WAET,CAEAlL,uBACQzrC,KAAKw2C,SACL7L,aAAa3qC,KAAKw2C,SACtBx2C,KAAKw2C,QAAU,IACnB,EAiGG,MAAM8B,WAAsBtO,YAC/BjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAmBhBkM,QAAU,KACN,IAAIC,EAAOlY,OAAO9M,eAAeC,QAAQ,WACrCglB,EAAY,MAAQD,GAAwB,IAAhBA,EAAKxoB,OAEjC5tB,KAAKkI,MAAMouC,kBAAoBD,EAC/Br2C,KAAKypC,SAAS,CAAE6M,gBAAiBD,IAEA,MAA7BnY,OAAO6K,SAASuC,WAChBtrC,KAAKypC,SAAS,CAAE8M,UAAU,IAC1BrY,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,KAGnEp+B,KAAKw2C,QAAU3L,WAAW7qC,KAAKm2C,QAAS,IAAK,EAChD,KAEDM,gBAAmB8B,IACfjb,MAAM,0CAA4Cib,EAAM,CACpDhb,OAAQ,MACRC,QAAS,CACLE,MAAO,cAGVC,MAAMC,IACqB,MAApBA,EAASnyB,OAMbmyB,EAASC,OAAOF,MAAMT,IAClBl9B,KAAKypC,SAAS,CAAE/J,YAAaxC,EAAGsb,UAAY,IAAMtb,EAAGub,SAAUhZ,KAAMvC,EAAGwZ,QAExEtlB,eAAe0M,QAAQ,QAAS38B,KAAKC,UAAU,CAC3C47B,QAASE,EAAGwb,OACZC,MAAOzb,EAAG0b,YACX,IAXHj6C,QAAQC,IACJ,gDAAkDg/B,EAASnyB,OAWjE,IAELsyB,OAAM,SAAUC,GACbr/B,QAAQC,IAAI,sDAAuDo/B,EACvE,GAAE,EACR,KACF6a,mBAAqB,KACjB,IAAI1nB,EAAQmY,KAEZhM,MAAM,2BAA4B,CAC9BC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,aAAc19B,KAAKiqC,MAAM6O,cAE9Bnb,MACCC,IACI,GAAwB,MAApBA,EAASnyB,OAKT,OAJA9M,QAAQC,IAAI,gDACRg/B,EAASnyB,aACbyyB,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAK/DR,EAASC,OAAOF,MAAKT,IAEC,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAI,UAAYs+B,EAAGgM,QAE3BlpC,KAAKypC,SAAS,CAAEsP,OAAQ7b,EAAG/zB,KAAM6vC,QAAS9b,EAAG+b,MAAOC,QAAShc,EAAGsX,OACpE,GACF,IAGLzW,OAAM,SAAUC,GACbr/B,QAAQC,IAAI,gBAAiBo/B,EACjC,GAAE,EACT,KA0DD4Y,UAAY,KAER,IAAI1oB,EAAOluB,KAAKiqC,MAAMlB,SAClB8N,GAAQ,EAKZ,OAJI3oB,EAAKod,SAAS9L,QAAQ,UAAY,GAAKtR,EAAKod,SAAS9L,QAAQ,kBAAoB,KACjFqX,GAAQ,GAGR72C,KAAKkI,MAAMouC,gBAEPxK,gBAAA,OAAAD,SAAA,CACIF,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAAC7rC,GAAG,SAAS8rC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,qBAAoBC,SAAE,kCAEpFF,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAAC7rC,GAAG,QAAQ8rC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,qBAAoBC,SAAE,eAMvFC,gBAAA,OAAAD,SAAA,CACMgL,EAII,GAHFlL,eAACmL,iBAAa,CAACpxB,GAAG,sBAAqBmmB,SACnCF,eAACW,KAAM,CAACC,QAAQ,UAAU5Z,KAAK,KAAKiZ,UAAU,sBAAqBC,SAAE,gBAG3EgL,EAGqB,GAFnBlL,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAACC,QAAQ,UAAUX,UAAU,qBAAoBC,SAAE,eAGhE,EAEjB,KACDkL,SAAW,KACPhf,SAASC,eAAe,uBAAuBgf,OAAO,EACzD,KAEDmC,YAAc,KACVn5C,KAAKypC,SAAS,CACVsO,UAAU,GACZ,EACL,KACDrM,OAAS,KACL,IAAIzd,EAAQmD,eAAeC,QAAQ,SAC/B+nB,EAAe,IACL,OAAVnrB,IACAmrB,EAAej4C,KAAKssB,MAAMQ,GAAgB,SAE9C,IAAIorB,EAAiD,OAAtCjoB,eAAeC,QAAQ,WAClCioB,EAAgD,qBAA7Bpb,OAAO6K,SAASuC,UAAgE,kCAA7BpN,OAAO6K,SAASuC,SACtFiO,EAAmD,uCAA7Brb,OAAO6K,SAASuC,SACtCkO,GAAY,EAChB,IACoD,aAA5Cx5C,KAAKiqC,MAAM17B,YAAYwD,SAAS3N,SAA2BpE,KAAKiqC,MAAM17B,YAAYwD,SAASiY,cAC3FwvB,GAAY,EAEpB,CAAE,MAAOziB,GAET,CAkCA,MAAM6e,EAAQ,CACV,CACIlD,MACI/G,eAAA,KAAG8N,IAAI,sBAAsBlQ,KAAkB,uBAAgDsC,SAAC,aAIpG3/B,IAAK,KAET,CACIwmC,MACI/G,eAAA,KAAG8N,IAAI,sBAAsBlQ,KAAkB,8BAA8DsC,SAAC,wBAIlH3/B,IAAK,KAET,CACIwmC,MACI/G,eAAA,KAAG8N,IAAI,sBAAsBlQ,KAAkB,qBAA4CsC,SAAC,UAIhG3/B,IAAK,KAET,CACI6hB,KAAM,WAEV,CACI2kB,MACI/G,eAAA,KAAG8N,IAAI,sBAAsBlQ,KAAK,sBAAqBsC,SAAC,YAI5D3/B,IAAK,MAGPwtC,EAAgB,CAClB,CACIhH,MACI5G,gBAAA,OAAKF,UAAU,oDAAmDC,SAAA,CAC9DF,eAAA,OAAKC,UAAU,UAASC,SAAE7rC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAUghB,OAAO,KAC3E4U,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBC,gBAAA,OAAKkJ,MAAO,CACRoC,SAAU,GACVuC,WAAY,KACd9N,SAAA,CAAE7rC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAU,OAAKlW,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,YACnFu1B,eAAA,OAAKqJ,MAAO,CACRG,MAAO,UACPiC,SAAU,GACVuC,WAAY,KACd9N,SAAE7rC,KAAKiqC,MAAM17B,YAAYkC,SAASpI,cAKhD6D,IAAK,KAET,CACI6hB,KAAM,WAEV,CACI2kB,MACI/G,eAACgH,QAAI,CACDjtB,GAA0B,UAAtB1lB,KAAKkI,MAAMq1B,OAAqB,wBAA0B,8BAE9DqO,UAAU,YAAWC,SAGK,UAAtB7rC,KAAKkI,MAAMq1B,OAAqB,kBAAoB,oBAIhErxB,IAAK,KAET,CACI6hB,KAAM,WAEV,CACI2kB,MAAO/G,eAACgH,QAAI,CAACjtB,GAAG,sBAAsBkmB,UAAU,YAAWC,SAAC,aAG5D3/B,IAAK,MAIb,IAWI0tC,EAAkB,CAClB,CACIlH,MAAO,gBACPl9B,MArIW,CACf,qBAAwB,gBACxB,qBAAwB,YACxB,gBAAmB,eACnB,YAAe,QACf,WAAc,eAgIUxV,KAAKiqC,MAAM17B,YAAYwD,SAASpG,gBAGxD+kB,EAAqE,kBAAnD1wB,KAAKiqC,MAAM17B,YAAYoC,QAAQkV,gBACjDg0B,EAAgB,GACpB,MAAMC,EAAyBC,aAAU7b,OAAO6K,SAASuC,SAAU,CAC/Dpd,KAAM,kDACN8rB,OAAO,EACPC,QAAQ,IAEZ,GAAIH,GAA0BA,EAAuB7M,OAAa,KAE9D,OADAvc,GAAkB,EACVopB,EAAuB7M,OAAa,MACxC,IAAK,WACL,IAAK,WACL,IAAK,aACL,IAAK,eACD4M,EAAgB,iBAChB,MACJ,IAAK,UACDA,EAAgB,WAChB,MACJ,IAAK,oBACL,IAAK,oBACDA,EAAgB,eAMvBL,GACDI,EAAgBjrB,KAAK,CACjB+jB,MAAO,UACPl9B,MAAmD,KAA5CxV,KAAKiqC,MAAM17B,YAAYwD,SAAS5G,QAAiB,IAAMnL,KAAKiqC,MAAM17B,YAAYwD,SAAS5G,UAGtG,MAMM,aAAElF,GAAiBjG,KAAKiqC,MAAM17B,YAAYwE,cAChD,OAEI+4B,eADA,CACA,UAAQF,UAAU,4CAA2CC,SAAA,CACzDC,gBAACmL,KAAM,CAACQ,OAAO,KAAKlL,QAAQ,qCAAqCX,UAAWyN,GAAYC,EAAmB,eAAiB,YAAYzN,SAAA,CAEhIwN,GAAYC,EACR3N,eAAA4H,YAAA,CAAA1H,UAEUwN,GAAyC,kCAA7Bnb,OAAO6K,SAASuC,UAA6E,qBAA7BpN,OAAO6K,SAASuC,UAAoCiO,EAC9HzN,gBAAAyH,YAAA,CAAA1H,SAAA,CACIC,gBAAA,OAAKF,UAAU,cAAcY,QAASA,IAAMxsC,KAAKiqC,MAAMiQ,QAAQC,IAAI,GAAGtO,SAAA,CAACF,eAACmJ,KAAY,CAACE,MAAO,CAACG,MAAO,UAAWiC,SAAU,GAAIgD,YAAa,MAAO,UACjJzO,eAACsL,KAAOS,MAAK,CAACnO,KAAK,IAAIqC,UAAU,cAAcoJ,MAAO,CAACG,MAAO,SAAU3I,QAASA,KAC7EtO,OAAO6K,SAASQ,KAAO6P,CAAY,EACrCvN,SAA4B,SAA1B7rC,KAAKkI,MAAMupB,WAAwBka,eAAA,OAAKqJ,MAAO,CAACqF,OAAO,QAASliB,IAAI,yBAAyBwT,eAAA,QAAAE,SAAO7rC,KAAKkI,MAAMw3B,mBAGvHoM,gBAACmL,KAAOS,MAAK,CAACnO,KAAK,IAAIqC,UAAU,OAAOoJ,MAAO,CAAEG,MAAO,SAAW3I,QAASA,KACxEtO,OAAO6K,SAASQ,KAAO6P,CAAY,EACrCvN,SAAA,CAAC,IAA4B,SAA1B7rC,KAAKkI,MAAMupB,WAAwBka,eAAA,OAAKqJ,MAAO,CAACqF,OAAO,QAASliB,IAAI,yBAAyBwT,eAAA,QAAAE,SAAO7rC,KAAKkI,MAAMw3B,cAAoB,SAMpJoM,gBAAA,OAAKkJ,MAAO,CAAEmC,YAAa,OAAQC,SAAU,OAAQkD,MAAO,OAAQC,SAAU,YAAa1O,SAAA,CACtFnb,EAAkBob,gBAAAyH,YAAA,CAAA1H,SAAA,CACfF,eAAA,KAAGpC,KAAK,uBAAsBsC,SAAC,aAE3B5lC,GAAgB6lC,gBAAAyH,YAAA,CAAA1H,SAAA,CACZF,eAAA,OAAKqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,GAAIxmC,OAAQ,iBAAmBskB,IAAI,4BACpE2T,gBAAA,QAAMkJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAA,CAAC,QAAM5lC,QAI7C4zC,GAAiB/N,gBAAAyH,YAAA,CAAA1H,SAAA,CACbF,eAAA,OAAKqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,GAAIxmC,OAAQ,iBAAmBskB,IAAI,4BACpEwT,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAEgO,UAG3C/N,gBAAA,OAAKkJ,MAAO,CAACwF,UAAU,SAAUD,SAAU,YAAY1O,SAAA,CACxDF,eAAA,OAAKqJ,MAAO,CAAEG,MAAO,UAAWsF,UAAW,IAAK5O,SAjG9D6O,KACwC,cAA9Cxc,OAAO6K,SAASuC,SAASjqC,MAAM,KAAKs5C,MAC7B,WACA36C,KAAKiqC,MAAMz7B,SAASoY,UAAUrF,KAAO+nB,GAA6B5P,MAClEtI,eAAeC,QAAQ,eACvBrxB,KAAKiqC,MAAMz7B,SAASoY,UAAUrF,OAAS+nB,GAA6B5P,MACpE,WACA15B,KAAKiqC,MAAMz7B,SAASoY,UAAUrF,MAAQ+nB,GAA6BzzB,aACnE,oBADJ,EA0FmE6kC,KAClD/O,eAAA,OAAKC,UAAU,cAAcY,QAASA,IAAMxsC,KAAKypC,SAAS,CAClDuM,UAAW,OACX+B,UAAW/3C,KAAKkI,MAAM6vC,WACvBlM,SAEHF,eAAA,OAAKxT,IAAI,8BAEbwT,eAAC+J,KAAQ,CAACkF,aAAc,CAAEC,OAAQ,QAAUlF,KAAM,CAAEC,MAAO8D,GAAe7N,SACtEF,eAAA,OAAKqJ,MAAO,CAACuF,SAAU,WAAYO,IAAK,EAAGjkB,MAAO,GAAK+U,UAAU,UAASC,SAAE7rC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAUghB,OAAO,UAGrIyU,eAACoP,KAAM,CACH/E,UAAU,OACVgF,cAAc,6BACdV,MAAM,MACNW,UAAU,EACVJ,OAAO,OACPK,QAASl7C,KAAKm5C,YACdtE,KAAM70C,KAAKkI,MAAM6vC,SAASlM,SAE1BF,eAACwP,GAAqB,SAKrC9B,EAAWvN,gBAACmL,KAAO9N,KAAI,CAACyC,UAAU,SAASoJ,MAAO,CAACoC,SAAS,GAAIgE,WAAW,UAAUvP,SAAA,CAClFF,eAAA,OAAKC,UAAU,YAAYoJ,MAAO,CAACG,MAAO,QAAQtJ,SAAC,6BACnDF,eAAA,OAAKa,QAASA,IAAKtO,OAAO6K,SAASQ,KAAK,+BAAiCvpC,KAAKkI,MAAMupB,WAChFujB,MAAO,CAACS,OAAO,UAAUN,MAAO,QAASF,gBAAgB,UAAWoG,QAAQ,WAAWC,aAAa,MAAOpG,WAAW,QAAQrJ,SAAC,eA7O3IyN,EAEI3N,eAACsL,KAAO9N,KAAI,CAACyC,UAAU,UAAUoJ,MAAO,CAAEoC,SAAU,IAAKvL,SACrDF,eAAA,KAAGC,UAAU,eAAeoJ,MAAO,CAAEuG,WAAY,EAAGC,aAAc,GAAI3P,SAClEF,eAAC+J,KAAQ,CACLC,KAAM,CACFC,SACF/J,SAEFC,gBAAA,KAAGU,QAAUnF,GAAMA,EAAEmO,iBAAkB5J,UAAU,SAASoJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAA,CAEjFvC,KACDqC,eAAC8P,KAAY,CAACzG,MAAO,CAAEE,WAAY,EAAGmC,UAAW,cASjE1L,eAAA,OAAKC,UAAU,eAAcC,SAACF,eAAA,KAAG8N,IAAI,sBAAsBlQ,KAAK,sBAAqBsC,SAAC,cAyPzF7rC,KAAKkI,MAAMquC,SAAW5K,eAAC5B,GAAI,IAAM,KAC7B,EA3eb,IAAIqM,EAAOlY,OAAO9M,eAAeC,QAAQ,WACzCrxB,KAAKkI,MAAQ,CACTouC,gBAAkB,MAAQF,GAAwB,IAAhBA,EAAKxoB,OACvCkqB,SAAU,GACVvB,UAAU,EACV9W,KAAM,YACNC,YAAa,GACbjO,WAAY,GACZsnB,OAAQ,GACRC,QAAS,GACTE,QAAS,IAEbl5C,KAAKw2C,QAAU,KACftY,OAAO9M,eAAe0M,QAAQ,OAAQ,GAEtC99B,KAAKu3C,OAAS,2BACdv3C,KAAKs3C,QAAU,qBACnB,CA6EA9L,oBACIxrC,KAAK64C,qBACL74C,KAAKw2C,QAAU3L,WAAW7qC,KAAKm2C,QAAS,KACxCpe,SAASC,eAAe,IAExB,IAAI0jB,EAAe,IAAI1D,gBAAgB9Z,OAAO6K,SAASkP,QACnDxmB,EAAaiqB,EAAaxD,IAAI,cAC9Bl4C,KAAKiqC,MAAMxY,aACXA,EAAazxB,KAAKiqC,MAAMxY,YAE5B,IAAI8mB,EAAOmD,EAAaxD,IAAI,QACvBzmB,IACDA,EAAa6X,MAEjBtpC,KAAKypC,SAAS,CAAEhY,WAAYA,IACxBzxB,KAAKiqC,MAAM0R,QACXvqB,eAAe0M,QAAQ,MAAOrM,GACjB,OAAT8mB,GACAnnB,eAAe0M,QAAQ,OAAQya,IAGpB,OAAf9mB,IACAA,EAAaL,eAAeC,QAAQ,QAE3B,OAATknB,IACAA,EAAOnnB,eAAeC,QAAQ,SAEf,wBAAfI,EACAzxB,KAAKy2C,gBAAgB8B,GAErBjb,MAAM,6BAA8B,CAChCE,QAAS,CACL,eAAgB/L,KAGnBkM,MAAKwW,UACGvW,EAASqL,IAGdrL,EAASC,OAAOF,MAAKE,IACjB79B,KAAKypC,SAAS,CAAE/J,YAAa7B,EAAK4W,cAClC,IAAI0D,EAAgBh3C,KAAKssB,MAAMoQ,EAAKua,eACpChnB,eAAe0M,QAAQ,QAAS38B,KAAKC,UAAUy8B,EAAK+d,QAChDplB,OAAOC,KAAK0hB,GAAehrB,SAAS,iBACpCntB,KAAKypC,SAAS,CAAEhK,KAAK,0BAAD/9B,OAA4By2C,EAAcE,OAClE,GACF,GAGlB,CAEA5M,uBACQzrC,KAAKw2C,SACL7L,aAAa3qC,KAAKw2C,SACtBx2C,KAAKw2C,QAAU,IACnB,EA2VJ8B,GAAgBuD,aAAWC,aA7fF5zC,IACd,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,aAIIk6B,IAAQ,CACnC,IAqf0BoT,CAA6CxD,KAGzDuD,oBAAW3F,IAEnB,MAAM6F,WAAuB/R,YAChCjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAahBwM,gBAAmB8B,IACfjb,MAAM,0CAA4Cib,EAAM,CACpDhb,OAAQ,MACRC,QAAS,CACLE,MAAO,cAGVC,MAAMC,IACqB,MAApBA,EAASnyB,OAObmyB,EAASC,OAAOF,MAAMT,IAClBl9B,KAAKypC,SAAS,CAAE/J,YAAaxC,EAAGsb,UAAY,IAAMtb,EAAGub,SAAUhZ,KAAMvC,EAAGwZ,QAExEtlB,eAAe0M,QAAQ,QAAS38B,KAAKC,UAAU,CAC3C47B,QAASE,EAAGwb,OACZC,MAAOzb,EAAG0b,YACX,IAZHj6C,QAAQC,IACJ,gDAAkDg/B,EAASnyB,OAYjE,IAELsyB,OAAM,SAAUC,GACbr/B,QAAQC,IAAI,sDAAuDo/B,EACvE,GAAE,EACR,KAoDF+Y,SAAW,KACPhf,SAASC,eAAe,uBAAuBgf,OAAO,EACzD,KACDtL,OAAS,KACL,IAAIzd,EAAQmD,eAAeC,QAAQ,SAC/B+nB,EAAe,IAInB,OAHc,OAAVnrB,IACAmrB,EAAej4C,KAAKssB,MAAMQ,GAAgB,SAG1C6d,gBAAA,UAAQF,UAAU,iCAAgCC,SAAA,CAC9CF,eAACsL,KAAM,CAACQ,OAAO,KAAKlL,QAAQ,aAAYV,SACpCF,eAAA,KAAAE,SAEIF,eAACsL,KAAOS,MAAK,CAACnO,KAAK,IAAIqC,UAAU,OAAOoJ,MAAO,CAAEG,MAAO,SAAW3I,QAASA,KACxEtO,OAAO6K,SAASQ,KAAO6P,CAAY,EACrCvN,SAA4B,SAA1B7rC,KAAKkI,MAAMupB,WAAwBka,eAAA,OAAKqJ,MAAO,CAAEqF,OAAQ,QAAUliB,IAAI,yBAA4BwT,eAAA,QAAAE,SAAO7rC,KAAKkI,MAAMw3B,oBAIhI1/B,KAAKkI,MAAMquC,SAAW5K,eAAC5B,GAAI,IAAM,KAC7B,EAhHb/pC,KAAKkI,MAAQ,CACT4vC,SAAU,GACVvB,UAAU,EACV9W,KAAM,YACNC,YAAa,GACbjO,WAAY,IAGhBzxB,KAAKu3C,OAAS,2BACdv3C,KAAKs3C,QAAU,qBACnB,CA8BA9L,oBACI,IAAIkQ,EAAe,IAAI1D,gBAAgB9Z,OAAO6K,SAASkP,QACnDxmB,EAAaiqB,EAAaxD,IAAI,cAC9BK,EAAOmD,EAAaxD,IAAI,QACvBzmB,IACDA,EAAa6X,MAEbtpC,KAAKiqC,MAAM0R,QACXvqB,eAAe0M,QAAQ,MAAOrM,GAC9BL,eAAe0M,QAAQ,OAAQya,IAEhB,OAAf9mB,IACAA,EAAaL,eAAeC,QAAQ,QAE3B,OAATknB,IACAA,EAAOnnB,eAAeC,QAAQ,SAElCrxB,KAAKypC,SAAS,CAAEhY,WAAYA,IAGT,wBAAfA,EACAzxB,KAAKy2C,gBAAgB8B,GAErBjb,MAAM,6BAA8B,CAChCE,QAAS,CACL,eAAgB/L,KAGnBkM,MAAKwW,UACGvW,EAASqL,IAGdrL,EAASC,OAAOF,MAAKE,IACjB79B,KAAKypC,SAAS,CAAE/J,YAAa7B,EAAK4W,cAClC,IAAI0D,EAAgBh3C,KAAKssB,MAAMoQ,EAAKua,eACpChnB,eAAe0M,QAAQ,QAAS38B,KAAKC,UAAUy8B,EAAK+d,QAChDplB,OAAOC,KAAK0hB,GAAehrB,SAAS,iBACpCntB,KAAKypC,SAAS,CAAEhK,KAAK,0BAAD/9B,OAA4By2C,EAAcE,OAClE,GACF,GAGlB,CAEA5M,uBACQzrC,KAAKw2C,SACL7L,aAAa3qC,KAAKw2C,SACtBx2C,KAAKw2C,QAAU,IACnB,E,cC1yBW,MAAMwF,WAAyBhS,YAE1CjqC,YAAakqC,GACTC,QAAO,KAQX+R,QAAW5U,IACPrnC,KAAKypC,SAAS,CAACphC,MAAOg/B,EAAE6U,OAAO1mC,OAAO,EACzC,KACDlU,KAAQ+G,IAEJ,IAAIghC,EACAloC,KAAKC,UAAU,CACXiH,MAAOA,IAIfi1B,MAAM,2BAA4B,CAC9BC,OAAQ,OACRnF,KAAMiR,EACN7L,QAAS,CAAE,eAAgB,sBAC5BG,MACCC,IAC4B,MAApBA,EAASnyB,OASbmyB,EAASC,OAAOF,MAAKT,IAGbl9B,KAAKypC,SAAS,CAACC,MAAM,EAAMrhC,MAAO,GAAI8zC,QAAS,oCAAoC,IAXvFn8C,KAAKypC,SAAS,CACV0S,QAAS,gDACLve,EAASnyB,OAAQ2wC,aAAa,GAWxC,IAERre,OAAOC,IACLr/B,QAAQC,IAAI,gBAAiBo/B,GAC7Bh+B,KAAKypC,SAAS,CAAE0S,QAAS,6DAA8DzS,MAAM,GAAO,GAEtG,EACL,KACD2S,UAAahV,IACe,KAArBrnC,KAAKkI,MAAMG,MACVrI,KAAKsB,KAAKtB,KAAKkI,MAAMG,OAErBrI,KAAKypC,SAAS,CAAC2S,aAAa,EAAMD,QAAS,mCAAmC,EACrF,KACDzQ,OAAS,IAEDI,gBAAA,OAAKF,UAAU,SAASoJ,MAAO,CAAEoC,SAAU,SAAUvL,SAAA,CACzDC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CAE3B7rC,KAAKkI,MAAMk0C,YACZtQ,gBAACwQ,KAAK,CAAC1Q,UAAU,sBAAsBW,QAAQ,SAAU2O,QAASA,IAAMl7C,KAAKypC,SAAS,CAAC2S,aAAa,IAASG,aAAW,EAAA1Q,SAAA,CACxHF,eAAC2Q,KAAME,QAAO,CAAA3Q,SAAC,WACfF,eAAA,KAAAE,SACG7rC,KAAKkI,MAAMi0C,aAGhB,GAELn8C,KAAKkI,MAAMwhC,KACJoC,gBAACwQ,KAAK,CAAC1Q,UAAU,sBAAsBW,QAAQ,UAAW2O,QAASA,IAAMl7C,KAAKypC,SAAS,CAACC,MAAM,IAAS6S,aAAW,EAAA1Q,SAAA,CAClHF,eAAC2Q,KAAME,QAAO,CAAA3Q,SAAC,WACfF,eAAA,KAAAE,SAAG,iEAIL,MAGUC,gBAAC2Q,KAAG,CAACzH,MAAO,CAAEyF,UAAW,QAASrD,SAAU,QAASnC,gBAAiB,WAClErJ,UAAU,mCAAkCC,SAAA,CAC5CC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAAEqC,UAAU,OAAQnC,WAAY,OAAQyH,SAAU,SAAU9Q,SAAA,CACpEC,gBAAA,OAAKF,UAAU,SAAQC,SAAA,CACvBF,eAAA,OAAKC,UAAU,+CAA8CC,SACrDF,eAAA,KAAGuQ,OAAO,QAAQ3S,KAAK,6BAA4BsC,SAACF,eAAA,OAAKuH,IAAI,UAAUtH,UAAU,aAAazT,IAAI,qBAEtGwT,eAAA,OAAKC,UAAU,qDAAoDC,SAC/DF,eAAA,KAAGuQ,OAAO,QAAQ3S,KAAK,qCAAoCsC,SAACF,eAAA,OAAKuH,IAAI,YAAYtH,UAAU,aAAazT,IAAI,uBAEhHwT,eAAA,OAAMC,UAAU,oDAAmDC,SAC/DF,eAAA,KAAGuQ,OAAO,QAAQ3S,KAAK,6DAA4DsC,SAACF,eAAA,OAAKuH,IAAI,WAAWtH,UAAU,aAAazT,IAAI,sBAEvIwT,eAAA,OAAKC,UAAU,oDAAmDC,SAC9DF,eAAA,KAAGuQ,OAAO,QAAQ3S,KAAK,kDAAiDsC,SAACF,eAAA,OAAKuH,IAAI,WAAWtH,UAAU,aAAazT,IAAI,yBAIhIwT,eAAA,OAAKC,UAAU,oBACfD,eAAA,OAAKC,UAAU,kBAAiBC,SAACF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,WAAW6c,MAAO,CAACsF,MAAO,gBAE/E3O,eAAC+Q,KAAG,CAAC1H,MAAO,CAAEG,MAAO,WAAavJ,UAAU,iBAAgBC,SACxDC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAAE2H,SAAU,QAAU/Q,UAAU,gCAA+BC,SAAA,CACvEF,eAAA,MAAAE,SAAI,cACJF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,iBAAgBsC,SAAC,WACrEF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,sBAAqBsC,SAAC,sBAC1EF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,8BAA6BsC,SAAC,eAEtFC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAAE2H,SAAU,QAAU/Q,UAAU,2BAA0BC,SAAA,CAClEF,eAAA,MAAAE,SAAI,YACJF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,mBAAkBsC,SAAC,eACvEF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,qBAAoBsC,SAAC,qBACzEF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,wBAAuBsC,SAAC,sBAEhFC,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,2BAA0BC,SAAA,CAC/CF,eAAA,MAAAE,SAAI,eACJF,eAAA,OAAKC,UAAU,OAAMC,SAACF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,6BAA4BsC,SAAC,0BACjFC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAAC,uBAAoBF,eAAA,SAAK,gCAEnDG,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,uBAAsBC,SAAA,CAC/CF,eAAA,MAAAE,SAAI,6BACJC,gBAAA,OAAKF,UAAU,SAAQC,SAAA,CACvBF,eAAA,SAAOkR,SAAU78C,KAAKi8C,QAASzmC,MAAOxV,KAAKkI,MAAMG,MAAO0lB,KAAK,OAAO4E,KAAK,KAAKmqB,YAAY,UAASnR,eAACW,KAAM,CAAC3Z,KAAK,KAAK6Z,QAASxsC,KAAKq8C,UAAW9P,QAAQ,UAASV,SAAE,WAAe,oBAK5LF,eAAC8Q,KAAG,CAACzH,MAAO,CAAEqF,OAAQ,QAASxO,SAE3BC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAAEG,MAAO,UAAWiC,SAAU,SAAWxL,UAAU,oDAAmDC,SAAA,CAAC,kFACnCF,eAAA,KAAIpC,KAAK,wEAAwE2S,OAAO,cAAarQ,SAAC,4BA/HlM7rC,KAAKkI,MAAQ,CACTG,MAAO,GACPqhC,MAAM,EACN0S,aAAa,EACbD,QAAS,kCAEjB,E,+BCfW,MAAMY,WAAmB/S,YAKpCjqC,YAAYkqC,GACRC,MAAMD,GAAO,KAQjB+M,MAAQ,KAEN9Y,OAAO6K,SAASvmC,KAAK,GACrB07B,OAAO8e,SAAS,EAAE,EAAE,EACrB,KAEDC,kBAAoB5V,IACZnJ,OAAOgf,YAAc,IACvBl9C,KAAKypC,SAAS,CAAC0T,IAAKn9C,KAAKo9C,OAAS,YAElCp9C,KAAKypC,SAAS,CAAC0T,IAAMn9C,KAAKo9C,QAC5B,EAlBAp9C,KAAKo9C,OAAS,kCACdp9C,KAAKkI,MAAQ,CACTi1C,IAAKn9C,KAAKo9C,OACVtF,SAAU,GAElB,CAgBEtM,oBACEtN,OAAOiN,iBAAiB,SAAUnrC,KAAKi9C,mBACvCj9C,KAAKi9C,mBACP,CACAxR,uBACEvN,OAAOyW,oBAAoB,SAAU30C,KAAKi9C,kBAC5C,CAEFvR,SACI,OACEI,gBAAA,OAAAD,SAAA,CACEF,eAAA,UAAQlrC,GAAG,aAAa+rC,QAASxsC,KAAKg3C,MAAOjpB,KAAK,SAAS6d,UAAY5rC,KAAKkI,MAAMi1C,IAAItR,SAAEF,eAAA,KACxFqJ,MAAO,CAACuF,SAAS,WAAYzjB,KAAK,OAAQgkB,IAAI,OAAQlP,UAAU,iBAE/D5rC,KAAKkI,MAAM4vC,WAGpB,EA7CiBiF,GAEZM,aAAe,CACpBC,OAAQC,KAAUC,QCMtB,MAAMC,GAAW,CAEb,oDACA,6EACA,uEACA,uEACA,uEAGJ,MAAMC,WAAkB1T,YACpBjqC,YAAYkqC,GACRC,MAAMD,GAAO,KASjB+M,MAAQ,KAEJ9Y,OAAO6K,SAASvmC,KAAO,GACvB07B,OAAO8e,SAAS,EAAG,EAAE,EACxB,KAEDC,kBAAoB5V,IAEZnJ,OAAOgf,YAAc,GAChBl9C,KAAKkI,MAAMy1C,QACZ39C,KAAKypC,SAAS,CAAEkU,QAAQ,IAExB39C,KAAKkI,MAAMy1C,QACX39C,KAAKypC,SAAS,CAAEkU,QAAQ,GAChC,EArBA39C,KAAKkI,MAAQ,CAET4vC,SAAU,GACV6F,QAAQ,EAEhB,CAkBAnS,oBACItN,OAAOiN,iBAAiB,SAAUnrC,KAAKi9C,kBAC3C,CACAxR,uBACIvN,OAAOyW,oBAAoB,SAAU30C,KAAKi9C,kBAC9C,CACAvR,SACI,OACIC,eAACkM,KAAQ,CAAC8F,OAAQ39C,KAAKkI,MAAMy1C,OAAQ/R,UAAU,YAAYlmB,GAAG,QAAOmmB,SAACF,eAAA,KAAGC,UAAU,oCAE3F,EAGJ,MAAMgS,WAAkB5T,YACpBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAUhB4T,kBAAoBxW,IACZnJ,OAAO4f,WAAa,IACf99C,KAAKkI,MAAMy1C,QACZ39C,KAAKypC,SAAS,CAAEkU,QAAQ,IAIxB39C,KAAKkI,MAAMy1C,QACX39C,KAAKypC,SAAS,CAAEkU,QAAQ,GAGhC,EACH,KAYDI,KAAO,KACH/9C,KAAKg+C,MAAQnT,WAAW7qC,KAAKi+C,QAASj+C,KAAKk+C,QAC3Cl+C,KAAKk+C,OAAS,GAAI,EACrB,KACDC,OAAS,KACL,IAAIC,EAAOp+C,KAAKq+C,OAAOzU,QACvB,IAAKwU,EACD,OAEJA,EAAKpJ,MAAMsJ,QAAU,EACrBF,EAAKpJ,MAAMtH,OAAS,mBAIhB,IAAI4Q,EAAU,EACdt+C,KAAKg+C,MAAQlU,aAAY,MACrBwU,GAAW,OACI,IACXC,cAAcv+C,KAAKg+C,OACnBM,EAAU,EACVt+C,KAAK+9C,QAETK,EAAKpJ,MAAMsJ,QAAUA,EACrBF,EAAKpJ,MAAMtH,OAAS,iBAA6B,IAAV4Q,EAAgB,GAAG,GAC3D,GACP,EACH,KAEDL,QAAU,KACN,IAAIG,EAAOp+C,KAAKq+C,OAAOzU,QACvB,IAAKwU,EACD,OAGA,IAAIE,EAAU,EACdt+C,KAAKg+C,MAAQlU,aAAY,MACrBwU,GAAW,OACI,IACXC,cAAcv+C,KAAKg+C,OACnBM,EAAU,EACVt+C,KAAK4T,OAAS5T,KAAK4T,MAAQ,GAAK6pC,GAAS7vB,OACzC5tB,KAAKypC,SAAS,CAAE+U,QAASf,GAASz9C,KAAK4T,SACvC5T,KAAKm+C,UAETC,EAAKpJ,MAAMsJ,QAAUA,EACrBF,EAAKpJ,MAAMtH,OAAS,iBAA6B,IAAV4Q,EAAgB,GAAG,GAC3D,GACP,EACH,KAEDG,aAAgBlS,GAGRZ,eAACmL,iBAAa,CAACpxB,GAAG,mBAAkBmmB,SAChCF,eAACW,KAAM,CAACC,aAAS1e,IAAc0e,EAAU,UAAYA,EAASX,eAAW/d,IAAc0e,EAAU,yBAA2B,GAAGV,SAAC,kCAM3I,KAGDH,OAAS,IAIDI,gBAAA,OAAKF,UAAU,0BAAyBC,SAAA,CAEpCC,gBAAA,OAAKF,UAAU,mCAAmCoJ,MAAO,CAAE0J,WAAY,SAAUnE,SAAU,WAAYE,UAAW,SAAU5O,SAAA,CACxHF,eAAA,OAAKgS,OAAQ39C,KAAKkI,MAAMy1C,OAAQ3I,MAAO,CAAEsF,MAAO,SAAUzO,SAAC,SAG3DF,eAAA,OAAKC,UAAU,sCAAqCC,SAChDC,gBAAA,OAAKF,UAAU,SAAQC,SAAA,CACnBF,eAAA,MAAIC,UAAU,sBAAsB+S,IAAK3+C,KAAKq+C,OAAOxS,SAChD7rC,KAAKkI,MAAMs2C,UAEhB1S,gBAAA,OAAKkJ,MAAO,CAAE2E,WAAY,QAAU/N,UAAU,6BAA4BC,SAAA,CAAC,+HAGvEF,eAAA,SAAM,IAACA,eAAA,SAAM,yCAEjBA,eAAA,OAAKC,UAAU,uBAAsBC,SAChC7rC,KAAKy+C,iBAEV9S,eAAA,OAAKC,UAAU,8BAA8BoJ,MAAO,CAAEoC,SAAU,SAAUvL,SAAC,uCAMnFF,eAAA,OAAKgS,OAAQ39C,KAAKkI,MAAMy1C,OAAQ/R,UAAU,uCAAsCC,SAC5EF,eAAA,OAAKxT,IAAI,cAAcwlB,OAAQ39C,KAAKkI,MAAMy1C,OAAQzK,IAAI,mBAAmBtH,UAAU,iBAEvFD,eAAA,OAAKgS,OAAQ39C,KAAKkI,MAAMy1C,OAAQ3I,MAAO,CAAEsF,MAAO,OAAQzO,SAAC,YAM7DC,gBAAA,OAAKF,UAAU,mDAAmDoJ,MAAO,CAAE0J,WAAY,SAAUnE,SAAU,WAAYE,UAAW,QAASxF,gBAAiB,WAAYpJ,SAAA,CACpKF,eAAC8Q,KAAG,CAACh8C,GAAG,MAAMmrC,UAAU,OAAMC,SAC1BF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAAA,MAAIC,UAAU,qBAAoBC,SAAE,wDAI5CF,eAAC8Q,KAAG,CAAC7Q,UAAU,kBAAiBC,SAC5BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKkJ,MAAO,CAAEoC,SAAU,SAAWxL,UAAU,iBAAgBC,SAAA,CAAC,0DAAuDF,eAAA,SAAM,wEAInIA,eAAA,OAAMlrC,GAAG,eAAemrC,UAAU,mCAAkCC,SAChEC,gBAAC8S,KAAK,CAAEC,UAAU,WAAWjV,QAAS,EAAGgC,UAAU,YAAWC,SAAA,CAC1DF,eAACiT,KAAME,KAAI,CAAC7I,MAAM,2BAA2BlsC,YAAY,0IACzD4hC,eAACiT,KAAME,KAAI,CAAC7I,MAAM,gCAAgClsC,YAAY,4HAC9D4hC,eAACiT,KAAME,KAAI,CAAC7I,MAAM,oCAAoClsC,YAAY,sFAClE4hC,eAACiT,KAAME,KAAI,CAAC7I,MAAM,kBAAkBlsC,YAAY,8FAkC5D4hC,eAAA,OAAKC,UAAU,8CAA8CoJ,MAAO,CAAE+J,UAAW,SAAUxE,SAAU,YAAa1O,SAC9GF,eAAC8Q,KAAG,CAACh8C,GAAG,MAAKorC,SACTF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAAA,MAAIC,UAAU,uBAAsBC,SAAE,iCAKlDC,gBAAA,OAAKF,UAAU,2CAA0CC,SAAA,CAErDC,gBAAA,OAAKF,UAAU,mCAAkCC,SAAA,CAC7CF,eAAA,MAAIC,UAAU,qBAAqBoJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAC,6BAA6B,gHAGjGC,gBAAA,OAAKF,UAAU,mCAAkCC,SAAA,CAC7CF,eAAA,MAAIC,UAAU,qBAAqBoJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAC,qBAAqB,oKAIzFC,gBAAA,OAAKF,UAAU,mCAAkCC,SAAA,CAC7CF,eAAA,MAAIC,UAAU,qBAAqBoJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAC,oCAAoC,gKAM5GF,eAAA,OAAKC,UAAU,gEAAgEoJ,MAAO,CAAE0J,WAAY,SAAUnE,SAAU,WAAYtF,gBAAiB,WAAYpJ,SAC7JF,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBC,gBAAC4Q,KAAG,CAACj8C,GAAG,eAAemrC,UAAU,wBAAuBC,SAAA,CACpDF,eAAA,MAAIC,UAAU,eAAcC,SAAC,8BAE7BF,eAAA,OAAKC,UAAU,qCAAoCC,SAC/CC,gBAAA,OAAKkJ,MAAO,CAAEE,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAA,CAAC,wIACnGC,gBAAC2Q,KAAG,CAAC7Q,UAAU,oBAAoBoJ,MAAO,CAACG,MAAO,WAAWtJ,SAAA,CACzDC,gBAAC4Q,KAAG,CAACsC,WAAW,OAAMnT,SAAA,CAAC,IAACC,gBAAC6G,QAAI,CAACjtB,GAAG,8BAA6BmmB,SAAA,CAACF,eAAA,KAAGC,UAAU,iCAAmC,4BAC/GD,eAAC+Q,KAAG,CAACsC,WAAW,OAAMnT,SAACC,gBAAC6G,QAAI,CAACjtB,GAAG,4BAA2BmmB,SAAA,CAACF,eAAA,KAAGC,UAAU,iCAAmC,gDAO5HE,gBAAA,OAAKF,UAAU,kDAAkDoJ,MAAO,CAAE0J,WAAY,SAAUnE,SAAU,WAAYtF,gBAAiB,WAAYpJ,SAAA,CAE/IF,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBC,gBAAC4Q,KAAG,CAACj8C,GAAG,eAAemrC,UAAU,wBAAuBC,SAAA,CACpDF,eAAA,MAAIC,UAAU,eAAcC,SAAC,+BAE7BF,eAAA,OAAKC,UAAU,qCAAoCC,SAC/CF,eAAA,OAAKqJ,MAAO,CAAEE,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,8NAK3GF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,oBAAmBC,SAC9BF,eAAA,OAAKuH,IAAI,QAAQtH,UAAU,OAAOoJ,MAAO,CAAEsF,MAAO,QAAUniB,IAAI,sBAK5E2T,gBAAA,OAAKF,UAAU,uCAAuCoJ,MAAO,CAAE0J,WAAY,SAAUnE,SAAU,WAAYtF,gBAAiB,WAAYpJ,SAAA,CACpIF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAAA,MAAIC,UAAU,sBAAqBC,SAACF,eAAA,OAAKqJ,MAAO,CAAEG,MAAO,WAAYtJ,SAAC,8BAI9EF,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBF,eAAC+Q,KAAG,CAAA7Q,SACC7rC,KAAKy+C,aAAa,qBAhQvCz+C,KAAK4T,MAAQ,EACb5T,KAAKg+C,MAAQ,EACbh+C,KAAKkI,MAAQ,CACTy1C,QAAQ,EACRa,QAASf,GAASz9C,KAAK4T,QAE3B5T,KAAKq+C,OAASY,IAAMC,YACpBl/C,KAAKk+C,OAAS,GAClB,CAcA1S,oBACItN,OAAOiN,iBAAiB,SAAUnrC,KAAK69C,mBACvC79C,KAAK69C,mBAET,CACApS,uBACId,aAAa3qC,KAAKg+C,OAClBO,cAAcv+C,KAAKg+C,OACnBh+C,KAAKg+C,MAAQ,CACjB,EA6OW,MAAMmB,WAAoBnV,YAAUjqC,cAAA,SAAA4tB,WAAA,KAE/C+d,OAAS,IAEDI,gBAAA,OAAKrrC,GAAG,YAAYu0C,MAAO,CAAEyF,UAAW,SAAU5O,SAAA,CAC9CF,eAACuK,GAAW,IACZvK,eAAC+R,GAAS,IACV/R,eAACiS,GAAS,IACVjS,eAACqQ,GAAgB,IACjBrQ,eAACoR,GAAU,MAGtB,EClVL,MAAMa,WAAkB5T,YAAUjqC,cAAA,SAAA4tB,WAAA,KAChC+d,OAAS,IAELI,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACnBF,eAAC8Q,KAAG,CAACh8C,GAAG,MAAMu0C,MAAO,CAAEC,gBAAiB,WAAYpJ,SAClDC,gBAAC4Q,KAAG,CAAC9Q,UAAU,6BAA4BC,SAAA,CACzCF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAIC,UAAU,mBAAkBC,SAC/B,UACDF,eAAA,OAAKC,UAAU,iBAAiBoJ,MAAO,CAAEwG,aAAc,MAAOtG,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,qYAG/IF,eAAA,OAAKC,UAAU,iBAAiBoJ,MAAO,CAAEwG,aAAc,MAAOtG,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,6MAI/IF,eAAA,OAAKC,UAAU,iBAAiBoJ,MAAO,CAAEwG,aAAc,MAAOtG,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,yZAI/IF,eAAA,OAAKC,UAAU,iBAAiBoJ,MAAO,CAAEwG,aAAc,MAAOtG,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,+SAG/IF,eAAA,OAAKC,UAAU,iBAAiBoJ,MAAO,CAAEE,WAAY,OAAQkF,YAAa,OAAQhD,SAAU,QAASuF,SAAU,SAAU9Q,SAAC,kLAM9HF,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACnBC,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAIC,UAAU,mBAAkBC,SAC/B,kBAGLC,gBAAC2Q,KAAG,CAACzH,MAAO,CAAEwG,aAAc,OAAQ3P,SAAA,CAClCF,eAAC+Q,KAAG,CAAC0C,GAAI,IAETtT,gBAAC4Q,KAAG,CAAE9Q,UAAU,eAAcC,SAAA,CAC5BF,eAAA,KAAGpC,KAAK,uCAAuC2S,OAAO,cAAarQ,SACjEF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,cAAcyT,UAAU,eAC1CD,eAAA,MAAAE,SAAI,gBACJF,eAAA,MAAAE,SAAI,+BACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,sDAGtBF,eAAA,OAAAE,SAAK,iCAIPC,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,KAAGpC,KAAK,4CAA4C2S,OAAO,cAAarQ,SACtEF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,WAAWyT,UAAU,eAEvCD,eAAA,MAAAE,SAAI,qBACJF,eAAA,MAAAE,SAAI,mCACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,4DAItBF,eAAA,OAAAE,SAAK,kEAMPF,eAAC+Q,KAAG,CAAC0C,GAAI,OAGXtT,gBAAC2Q,KAAG,CAAC7Q,UAAU,OAAOoJ,MAAO,CAAEwG,aAAc,OAAQ3P,SAAA,CACnDF,eAAC+Q,KAAG,CAAC0C,GAAI,IAETtT,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,eAAeyT,UAAU,aAEzCD,eAAA,MAAAE,SAAI,eACJF,eAAA,MAAAE,SAAI,qCACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,0CAGtBF,eAAA,OAAAE,SAAK,iCAIPC,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,KAAGpC,KAAK,6CAA6C2S,OAAO,cAAarQ,SACvEF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,YAAYyT,UAAU,eAExCD,eAAA,MAAAE,SAAI,mBACJF,eAAA,MAAAE,SAAI,sBACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,kFAGtBF,eAAA,OAAAE,SAAK,wBAKPF,eAAC+Q,KAAG,CAAC0C,GAAI,OAGXtT,gBAAC2Q,KAAG,CAAC7Q,UAAU,OAAOoJ,MAAO,CAAEwG,aAAc,OAAQ3P,SAAA,CACnDF,eAAC+Q,KAAG,CAAC0C,GAAI,IAETtT,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,KAAGpC,KAAK,mDAAmD2S,OAAO,cAAarQ,SAC7EF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,aAAayT,UAAU,eAGzCD,eAAA,MAAAE,SAAI,wBACJF,eAAA,MAAAE,SAAI,6BACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,mEAGtBF,eAAA,OAAAE,SAAK,oCAIPC,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,KAAGpC,KAAK,sDAAsD2S,OAAO,cAAarQ,SAChFF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,YAAYyT,UAAU,eAExCD,eAAA,MAAAE,SAAI,kBACJF,eAAA,MAAAE,SAAI,4DAEJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,sEAEtBF,eAAA,OAAAE,SAAK,wCAKPF,eAAC+Q,KAAG,CAAC0C,GAAI,OAGXtT,gBAAC2Q,KAAG,CAAC7Q,UAAU,YAAYoJ,MAAO,CAAEwG,aAAc,OAAQ3P,SAAA,CACxDF,eAAC+Q,KAAG,CAAC0C,GAAI,IAETtT,gBAAC4Q,KAAG,CAAC9Q,UAAU,eAAcC,SAAA,CAC3BF,eAAA,KAAGpC,KAAK,8CAA8C2S,OAAO,cAAarQ,SACxEF,eAAA,OAAKuH,IAAI,GAAG/a,IAAI,gBAAgByT,UAAU,eAE5CD,eAAA,MAAAE,SAAI,oBACJF,eAAA,MAAAE,SAAI,gCACJF,eAAA,OAAKC,UAAU,OAAMC,SAAC,sDAGtBF,eAAA,OAAAE,SACEF,eAAA,KAAGpC,KAAK,0EAA0E2S,OAAO,cAAarQ,SAAC,mBAEzGF,eAAA,aAMFA,eAAC+Q,KAAG,CAAC0C,GAAI,OAGXzT,eAAA,OAAKC,UAAU,YAAWC,SAAC,SAE3BF,eAACqQ,GAAgB,MAGtB,EAGY,MAAMqD,WAAqBrV,YAAUjqC,cAAA,SAAA4tB,WAAA,KAElD+d,OAAS,IAELI,gBAAA,OAAKkJ,MAAO,CAAEyF,UAAW,UAAW5O,SAAA,CAClCF,eAACuK,GAAW,IACZvK,eAACiS,GAAS,MAGf,E,iCCvLY,SAAS0B,GAAahjB,GAAa,IAAZ,MAAE2Z,GAAO3Z,EAC7C,OACEqP,eAAA4H,YAAA,CAAA1H,SACEF,eAAA,OAAKC,UAAU,kBAAiBC,SAAEoK,KAGxC,C,yGCqCe,SAASsJ,GAAmBtV,GACzC,MAAOiB,EAAQsU,GAAapO,mBAAS,MAC9BqO,EAAWC,GAAgBtO,oBAAS,IACpCuO,EAAgBC,GAAqBxO,mBAAS,KAC9CyO,GAAQC,KAAKC,UACdC,EAAkBC,mBAClBC,EAAWD,mBACjB9N,qBAAU,KACRlI,EAAMkW,cAAc,gBAAiB,mBACrClW,EAAMmW,0BAA0B,YAChCnW,EAAMoW,6BAA6B,IAAK,iBACxCpW,EAAMoW,6BAA6B,GAAI,sBACvCpW,EAAMqW,4BAA4B,UAAW,cAC7CrW,EAAMoW,6BAA6B,SAAU,oBAAoB,GAChE,IACH,MAYME,EAAkB/qC,GACf,GAAA9T,OAAG8T,GAAQqd,QAAQ,wBAAyB,KAE/C2tB,EAAehrC,GACZA,EAAMqd,QAAQ,aAAc,IAoH/B4tB,EAAmB,CACvB,CACEjrC,MAAO,uBACPk9B,MAAO,4BAqCLgO,EAAgB,CACpBC,sBAAuB,CAAEC,QAAS,MAClCC,OAAQ,CAAC,qBAAsB,sBAqBjC,OAnBA1O,qBAAU,KACR6N,EAAgBpW,QAAU,IAAI1L,OAAO4iB,OAAOC,KAAKC,OAAOC,aACtDf,EAAStW,QACT8W,GAEFV,EAAgBpW,QAAQsX,YAAY,iBAAiB/M,iBACnD,MAAMgN,QAAcnB,EAAgBpW,QAAQwX,WACtCj2C,EAAO,GAAAzJ,OAAMy/C,EAAME,mBAAmBhP,MAAK1E,GAAOA,EAAKtX,MAAMlJ,SAAS,mBAAkBm0B,WAAU,KAAA5/C,OAAIy/C,EAAME,mBAAmBhP,MAAK1E,GAAOA,EAAKtX,MAAMlJ,SAAS,WAAUm0B,WAAU,MAAA5/C,OAAKy/C,EAAME,mBAAmBhP,MAAK1E,GAAOA,EAAKtX,MAAMlJ,SAAS,aAAYm0B,YAC7Pj2C,EAAS81C,EAAME,mBAAmBhP,MAAK1E,GAAQA,EAAKtX,MAAMlJ,SAAS,iCAAgCo0B,UACzG3B,EAAkBv0C,GAClBw0C,EAAK2B,eAAe,CAClBr2C,QAASA,EACTlD,KAAMk5C,EAAMM,kBAAkBpgD,MAAM,KAAK,GACzC6G,MAAOi5C,EAAME,mBAAmBhP,MAAK1E,GAAOA,EAAKtX,MAAMlJ,SAAS,iCAAgCm0B,WAChGI,QAASP,EAAME,mBAAmBhP,MAAK1E,GAAQA,EAAKtX,MAAMlJ,SAAS,iBAAgBo0B,YAErF5iD,QAAQC,IAAI,SAAUyM,EACxB,GAAE,GACD,IAEDygC,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CACnCF,eAACgW,KAAI,CAAC/V,UAAU,YAAYgW,iBAAkB1W,EAAQnd,KAAK,OAAO6nB,MAtGxD,CACZ,CACE1pC,IAAK,IACLwmC,MAAM,YAER,CACExmC,IAAK,IACLwmC,MAAM,kBAER,CACExmC,IAAK,IACLwmC,MAAO,iBAET,CACExmC,IAAK,IACLwmC,MAAM,iBAuF0EmK,SArM9D3wC,IACpBszC,EAAUtzC,GACV2zC,EAAK2B,eAAe,CAClBK,aAAc,wBACd,IAkMAlW,eAAA,OAAKC,UAAU,YAAWC,SACxBC,gBAACgU,KAAI,CACHgC,OAAO,WACPjC,KAAMA,EACNkC,cA9HY,CAClBF,aAAc,uBACdpB,iBAAkB,uBAClBuB,cAAe,UACf72C,QAAS,GACTlD,KAAM,GACNC,MAAO,GACPw5C,QAAS,GACTO,YAAa,GACbn5B,mBAAoB,GACpBo5B,WAAY,SACZC,SAAU,KACVC,gBAAiB,GACjBC,mBAAoB,GACpBC,qBAAsB,GACtBC,QAAS,EACTC,UAAW,EACXC,KAAM,KA8GAC,SAzLUC,IAChBhkD,QAAQC,IAAI,OAAQ+jD,EAAO16C,MAC3BtJ,QAAQC,IAAI,QAAS+jD,EAAOz6C,OAC5B,IAAIkkB,EAAI,IAAI6d,EAAM17B,YAAYwE,cAAc/M,kBAiB5C,OAhBAikC,EAAMqW,4BAA4BqC,EAAOd,aAAc,gBAEvD5X,EAAMqW,4BAA4BqC,EAAOx3C,QAAS,WAClD8+B,EAAMqW,4BAA4BqC,EAAOz6C,MAAO,SAChD+hC,EAAMqW,4BAA4BqC,EAAO16C,KAAM,QAC/CgiC,EAAMqW,4BAA4BX,EAAgB,UAClD1V,EAAMqW,4BAA4BqC,EAAOjB,QAAS,WAClDzX,EAAMoW,6BAA6BsC,EAAOV,YAAa,qBAEvDhY,EAAMoW,6BAA6B/W,GAAiBqZ,EAAOR,UAAW,sBACtElY,EAAMoW,6BAA6BZ,EAAW,aAC9CxV,EAAMoW,6BAA6BZ,EAAUmD,OAAOD,EAAOP,iBAAkB,GAAI,mBACjFnY,EAAMoW,6BAAwC,MAAXnV,GAAqDuU,EAAtCmD,OAAOD,EAAOL,sBAAsE,GAAI,6BAC1IrY,EAAMoW,6BAA6BsC,EAAOJ,QAAS,4BACnDtY,EAAMoW,6BAA6BsC,EAAOH,UAAW,oCACrDvY,EAAMoW,6BAA6BsC,EAAOF,KAAM,iBACxCvX,GACN,IAAK,IACHjB,EAAMmW,0BAA0B,iBAChCnW,EAAMqW,4BAA4BqC,EAAOX,cAAe,cACxD/X,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,2BAC1DzC,EACFxV,EAAMoW,6BAA6BuC,OAAOtZ,GAAiBqZ,EAAOT,YAAc5Y,GAAiBqZ,EAAOP,kBAAmB,qBAE3HnY,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,qBAEhE,MACF,IAAK,IACHjY,EAAMmW,0BAA0B,aAChCh0B,EAAyB,sBAAIw2B,OAAOD,EAAOX,eAC3C51B,EAAsB,mBAAIw2B,OAAOD,EAAO75B,oBACxCmhB,EAAMoW,6BAA6Bj0B,EAAG,oBACtC6d,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,qBAC9DjY,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,uBAC9D,MACF,IAAK,IACHjY,EAAMmW,0BAA0B,gBAChCnW,EAAMoW,6BAA6B,WAAY,YAC/CpW,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,qBAC9DjY,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,0BAC9D,MACF,IAAK,IACHjY,EAAMmW,0BAA0B,oBAChCh0B,EAAyB,sBAAIw2B,OAAOD,EAAOX,eAC3C51B,EAAsB,mBAAIw2B,OAAOD,EAAO75B,oBACxCmhB,EAAMoW,6BAA6Bj0B,EAAG,oBACtC6d,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,qBAC9DjY,EAAMoW,6BAA6BuC,OAAOD,EAAOT,YAAa,uBAIlEjY,EAAMoW,6BAA6BuC,OAAOD,EAAON,oBAAqB,sBACtEpY,EAAM4Y,eAAc,EAAK,EAkInBlwB,KAAK,QAAOkZ,SAAA,CAEZC,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAI9N,MAAO,CAACqG,QAAS,oBAAoBxP,SAAA,EAEtC,MAAXX,GAA6B,MAAXA,IAAmBS,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SAC1DF,eAACmU,KAAKkD,KAAI,CACRtpC,KAAK,eACLg5B,MAAM,gBACN9G,UAAU,eAIVC,SAEFF,eAACsX,KAAM,CACLC,YAAU,EACV3c,QA1GhB,CACE,CACE/wB,MAAO,uBACPk9B,MAAO,2BAET,CACEl9B,MAAO,kBACPk9B,MAAO,mBAET,CACEl9B,MAAO,WACPk9B,MAAO,+BAET,CACEl9B,MAAO,aACPk9B,MAAO,kCAiGY,MAAXxH,GAAkBS,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACtCF,eAACmU,KAAKkD,KAAI,CACRtpC,KAAK,eACLg5B,MAAM,gBACN9G,UAAU,eAIVC,SAEFF,eAACsX,KAAM,CACLC,YAAU,EACV3c,QAASka,QAMF,MAAXvV,EACES,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CACRtpC,KAAK,gBACLg5B,MAAkB,MAAXxH,EAAiB,gCAAkC,cAAcW,SAExEF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,QAKd7U,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CACRtpC,KAAK,mBACLg5B,MAAM,oBACN9G,UAAU,eAIVC,SAEFF,eAACsX,KAAM,CACLC,YAAU,EACV3c,QAASka,WAOnB3U,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACdF,eAAC+Q,KAAG,CAACqG,KAAM,GAAGlX,SACZF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,UAAUg5B,MAAM,mBAAkB7G,SAChDF,eAAA,SAAOC,UAAU,aAAa+S,IAAKuB,EAAUpD,YAAY,gBAG7DnR,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,EAAEvT,SACnBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,OAAMmyB,SACpBF,eAAC6X,KAAK,CAACC,UAAQ,EAAC3G,YAAY,aAGhCnR,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,EAAEvT,SACnBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,QAAOmyB,SACrBF,eAAC6X,KAAK,CAACC,UAAQ,EAAC3G,YAAY,cAGhCnR,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,EAAEvT,SACnBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,UAASmyB,SACvBF,eAAC6X,KAAK,CAACC,UAAQ,EAAC3G,YAAY,oBAKrB,MAAX5R,GACEY,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACdF,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,qBAAqBg5B,MAAM,sBAAqB7G,SAC9DF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,QAGR7U,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SAC1BF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,uBAAuBg5B,MAAM,+BAA8B7G,SACzEF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,WAOpB1U,gBAAC2Q,KAAG,CAACqG,OAAmB,MAAX5X,EAAiB,GAAK,GAAGW,SAAA,CAEvB,MAAXX,GACES,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,EAAEvT,SACnBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,cAAcg5B,MAAM,sBAAqB7G,SACvDF,eAAC+X,KAAU,CACP9X,UAAU,eACVkR,YAAY,aACZjJ,OAAO,oBAOL,MAAX3I,GAA6B,MAAXA,IACjBS,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,EAAEvT,SACnBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,qBAAqBg5B,MAAM,uBAAsB7G,SAC/DF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,QAMlB7U,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAe,MAAXlU,EAAiB,GAAK,EAAEW,SACzCF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,aAAag5B,MAAK,GAAAhxC,OAAgB,MAAXwpC,EAAiB,UAAwB,MAAXA,GAA6B,MAAXA,EAAkB,OAAS,eAAc,gBAAeW,SAC7IF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,QAId7U,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAe,MAAXlU,EAAiB,GAAK,EAAEW,SACzCF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,WAAWg5B,MAAM,YAAW7G,SAC1CF,eAACsX,KAAM,CACLC,YAAU,EACVrG,SAnXQrnC,IACtB7W,QAAQC,IAAI,YAAD8C,OAAa8T,GAAQ,EAmXlB+wB,QAhPQ,CACtB,CACE/wB,MAAO,IACPk9B,MAAO,YAET,CACEl9B,MAAO,IACPk9B,MAAO,YAET,CACEl9B,MAAO,IACPk9B,MAAO,YAET,CACEl9B,MAAO,KACPk9B,MAAO,aAET,CACEl9B,MAAO,KACPk9B,MAAO,aAET,CACEl9B,MAAO,KACPk9B,MAAO,aAET,CACEl9B,MAAO,KACPk9B,MAAO,aAET,CACEl9B,MAAO,KACPk9B,MAAO,uBAuNU,MAAXxH,GACEY,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACdF,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CAAChO,MAAO,CAACwG,aAAc,KAAK3P,SACpCF,eAAA,OAAKC,UAAU,aAAYC,SACzBC,gBAAA,OAAAD,SAAA,CAAKF,eAAA,QAAMqJ,MAAO,CAACoF,YAAa,QAAQvO,SAAC,sBAAwBF,eAACgY,KAAQ,CAACC,QAASnE,EAAW5C,SA5XxFxV,IACzBqY,EAAarY,EAAE6U,OAAO0H,QAAQ,aAkYlBjY,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,KAEjBK,GACE3T,gBAAAyH,YAAA,CAAA1H,SAAA,CACEF,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,kBAAkBg5B,MAAM,oBAAmB7G,SACzDF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,QAGR7U,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SAC1BF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,uBAAuBg5B,MAAM,+BAA8B7G,SACzEF,eAACwX,KAAW,CACVC,OAAO,IACPpO,MAAO,CAAEsF,MAAO,QAChB94B,IAAK,IACL6hC,IAAK,EACLC,UAAW/C,EACXgD,OAAQ/C,cAU1B1U,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACdF,eAAC+Q,KAAG,CAACqG,KAAM,GAAGlX,SACZF,eAAA,OAAKC,UAAU,aAAYC,SACzBF,eAAA,OAAAE,SAAKF,eAAA,QAAMqJ,MAAO,CAACoF,YAAa,QAAQvO,SAAC,0DAM7CF,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,UAAUg5B,MAAM,sBAAqB7G,SACnDF,eAACwX,KAAW,CACVnO,MAAO,CAAEsF,MAAO,QAChB+I,IAAK,EACLQ,UAAW,QAIjBlY,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,YAAYg5B,MAAM,+BAA8B7G,SAC9DF,eAACwX,KAAW,CACVnO,MAAO,CAAEsF,MAAO,QAChB+I,IAAK,EACLQ,UAAW,WAKnB/X,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAIgB,QAAQ,SAAS9O,MAAO,CAACqG,QAAS,uBAAuBxP,SAAA,CACxEC,gBAAC4Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAIxT,UAAU,aAAYC,SAAA,CAC3CF,eAAA,QAAMC,UAAU,QAAOC,SAAC,2BACxBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,OAAMmyB,SACpBF,eAACwX,KAAW,CACVvX,UAAU,cACVoJ,MAAO,CAAEsF,MAAO,QAChB+I,IAAK,IACL7hC,IAAK,IACLqiC,UAAW,SAIjB/X,gBAAC4Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAIxT,UAAU,aAAYC,SAAA,CAC3CF,eAAA,QAAMC,UAAU,MAAKC,SAAC,QACtBF,eAACmU,KAAKkD,KAAI,CAACtpC,KAAK,OAAMmyB,SACpBF,eAACoY,KAAM,CACLnY,UAAU,eACVyX,IAAK,IACL7hC,IAAK,IACLwiC,WAAY,CAAC/O,gBAAiB,WAC9BgP,UAAW,CAAChP,gBAAiB,eAGjCtJ,eAAA,QAAMC,UAAU,MAAKC,SAAC,YAExBF,eAAC+Q,KAAG,CAACqG,KAAM,GAAI3D,GAAI,GAAGvT,SACpBF,eAACW,KAAM,CAACV,UAAU,WAAWsY,SAAS,SAASC,OAAK,EAAAtY,SAAC,0BASnE,CAEA0T,GAAqBzD,aAphBI5zC,IAChB,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,aAIMk6B,IAAQ,CAClC2X,6BAA8BA,CAACrgB,EAAG3R,KAChCqa,EAAS0b,GAAiCpkB,EAAG3R,GAAM,EAErDiyB,4BAA6BA,CAACtgB,EAAG3R,KAC/Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAEpD+xB,0BAA4BiE,IAC1B3b,EAAS0b,GAA8BC,GAAK,EAE9ClE,cAAeA,CAACtzB,EAAGwB,KACjBqa,EAAS0b,GAAkBv3B,EAAGwB,GAAM,KAkgBnBytB,CAA6CyD,I,8CC1hBnD+E,OAZWra,GACxB0B,eAAA,OAAKC,UAAW3B,EAAM2B,UAAUC,SAC9BF,eAAC4Y,KAA0B,CACzBC,WAAS,EACT1H,YAAY,GACZD,SAAU5S,EAAM4S,SAChBrnC,MAAOy0B,EAAMz0B,MACboY,OAAQqc,EAAMrc,W,eCNL,SAAS62B,GAAgBxa,GACpC,MAAM,KAAElc,EAAI,MAAEvY,EAAK,KAAEyb,EAAI,eAAEyzB,EAAc,MAAE1P,EAAK,WAAE2P,EAAU,KAAE9X,EAAI,UAAEjB,GAAc3B,GAC3E2a,GAAiBxT,mBAAS,IAE3ByT,EAAUC,IAEZ,GAAa,aAAT/2B,EAAqB,CACrB,MAAMg3B,EAAYvvC,EAAM0X,KAAIklB,GAAOA,EAAI58B,QAEvC,GADAovC,EAAcG,GACVA,EAAU53B,SAAS23B,EAAGtvC,OAAQ,CAC9B,IAAIwvC,EAASD,EAAUE,WAAUtX,GACtBA,IAASmX,EAAGtvC,QAEvBA,EAAMoZ,OAAOo2B,EAAQ,EACzB,MACIxvC,EAAMmZ,KAAK,CAAE+jB,MAAOoS,EAAGpS,MAAOl9B,MAAOsvC,EAAGtvC,QAE5CkvC,EAAelvC,EACnB,MAEIkvC,EAAeI,EAAGtvC,MACtB,EAGJ,IAAI0vC,EAA+B,qBAAdtZ,EAA4B,GAAKA,EAItD,MAHwB,eAApB3B,EAAM4U,YACNqG,EAAU,oBAAsBA,GAEV,qBAAfP,EACM,SAAT9X,EAEIlB,eAAC8Q,KAAG,CAAC7Q,UAAWsZ,EAASlQ,MAAOA,EAAMnJ,SACjC5a,EAAK/D,KAAIi4B,GACNxZ,eAAC+Q,KAAG,CAAiB9Q,UAAU,2BAA2BoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,GAAIsgC,SAAU6O,EAAYhI,SAAUgI,GAAcnY,QAASA,IAAMqY,EAAQM,GAAKtZ,SACjMC,gBAAA,OAAKF,UAAU,2BAA0BC,SAAA,CACrCF,eAAA,OAAKC,UAAU,SAASoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,MACrFm2B,eAAA,OAAKC,UAAU,MAAMoJ,MAAO,CAAEG,MAAO3/B,IAAU2vC,EAAI3vC,MAAQ,GAAK,WAAYq2B,SAAEsZ,EAAIzS,YAHhFyS,EAAI3vC,WAWtBm2B,eAAC8Q,KAAG,CAAC7Q,UAAWsZ,EAASlQ,MAAOA,EAAMnJ,SACjC5a,EAAK/D,KAAIi4B,GACNxZ,eAAC+Q,KAAG,CAAiB9Q,UAAU,kBAAkBoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,GAAIsgC,SAAU6O,EAAYhI,SAAUgI,GAAcnY,QAASA,IAAMqY,EAAQM,GAAKtZ,SACxLC,gBAAA,OAAAD,SAAA,CACIF,eAAA,OAAKC,UAAU,SAASoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,MACrFm2B,eAAA,OAAKC,UAAU,MAAMoJ,MAAO,CAAEG,MAAO3/B,IAAU2vC,EAAI3vC,MAAQ,GAAK,WAAYq2B,SAAEsZ,EAAIzS,YAHhFyS,EAAI3vC,WAa9Bm2B,eAAA,OAAKC,UAAWsZ,EAASlQ,MAAOA,EAAMnJ,SACxB,aAAT9d,EACGkD,EAAK/D,KAAIi4B,GACLrZ,gBAAA,OAAqBF,UAAU,kBAAkBoJ,MAAO,CAAEoQ,OAAQ5vC,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,oBAAsB,IAAMg3B,QAASA,IAAMqY,EAAQM,GAAKtZ,SAAA,CAC/JC,gBAAA,OAAAD,SAAA,CACIF,eAAA,OAAKC,UAAU,SAASoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,MACrFm2B,eAAA,OAAKC,UAAU,MAAMoJ,MAAO,CAAEG,MAAO3/B,IAAUA,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,GAAK,WAAYq2B,SAAEsZ,EAAIzS,WAEnH/G,eAACmU,KAAKwF,QAAO,CAACC,UAAQ,MALhBJ,EAAI3vC,SASlByb,EAAK/D,KAAIi4B,GACLrZ,gBAAA,OAAKsT,GAAI,EAAmBxT,UAAU,kBAAkBoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,IAAMg3B,QAASA,IAAMqY,EAAQM,GAAKtZ,SAAA,CACnJC,gBAAA,OAAKF,UAAU,oBAAmBC,SAAA,CAC9BF,eAAA,OAAKC,UAAU,SAASoJ,MAAO,CAAEoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,MACrFm2B,eAAA,OAAKC,UAAU,MAAMoJ,MAAO,CAAEG,MAAO3/B,IAAU2vC,EAAI3vC,MAAQ,GAAK,WAAYq2B,SAAEsZ,EAAIzS,WAErFyS,EAAIK,KAAmB,KAAZL,EAAIK,KAAcL,EAAIK,MALrBL,EAAI3vC,UAYzC,CAEO,SAASiwC,GAAoBxb,GAChC,MAAM,KAAElc,EAAI,MAAEvY,EAAK,KAAEyb,EAAI,eAAEyzB,EAAc,MAAE1P,EAAK,UAAEpJ,GAAc3B,GACzD2a,GAAiBxT,mBAAS,IAE3ByT,EAAUC,IAEZ,GAAa,aAAT/2B,EAAqB,CACrB,MAAMg3B,EAAYvvC,EAAM0X,KAAIklB,GAAOA,EAAI58B,QAEvC,GADAovC,EAAcG,GACVA,EAAU53B,SAAS23B,EAAGtvC,OAAQ,CAC9B,IAAIwvC,EAASD,EAAUE,WAAUtX,GACtBA,IAASmX,EAAGtvC,QAEvBA,EAAMoZ,OAAOo2B,EAAQ,EACzB,MACIxvC,EAAMmZ,KAAK,CAAE+jB,MAAOoS,EAAGpS,MAAOl9B,MAAOsvC,EAAGtvC,QAE5CkvC,EAAelvC,EACnB,MAEIkvC,EAAeI,EAAGtvC,MACtB,EAGJ,IAAI0vC,EAAU,GAQd,MAPyB,qBAAdtZ,EACPsZ,EAAUtZ,EAEc,eAApB3B,EAAM4U,YACNqG,EAAU,oBAIdvZ,eAAA,OAAKC,UAAWsZ,EAASlQ,MAAOA,EAAMnJ,SACxB,aAAT9d,EACGkD,EAAK/D,KAAIi4B,GACLrZ,gBAAA,OAAqBF,UAAU,kBAAkBoJ,MAAO,CAAEoQ,OAAQ5vC,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,oBAAsB,IAAMg3B,QAASA,IAAMqY,EAAQM,GAAKtZ,SAAA,CAC/JF,eAAA,OAAKC,UAAU,SAASoJ,MAAO,CAAE0Q,WAAYlwC,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,UAAY,GAAI8oC,QAASrU,EAAM0b,WAAa,EAAI,KACtIha,eAAA,OAAKC,UAAU,MAAMoJ,MAAO,CAAEoQ,OAAQ5vC,IAAUA,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,GAAK,gBAAgB2/B,MAAM3/B,IAASA,EAAM6vC,MAAKhe,GAAKA,EAAE7xB,QAAU2vC,EAAI3vC,QAAS,GAAK,YAAaq2B,SAAEsZ,EAAIzS,UAFxLyS,EAAI3vC,SAMlByb,EAAK/D,KAAIi4B,GACLrZ,gBAAA,OAEIF,UAAU,6BACVoJ,MAAO,CACHoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,oBAAsB,GAEpDowC,SAAU,aACVvQ,SAAU,SACVwQ,QAAS,OACTC,cAAe,SACf1K,WAAY,SACZ2K,eAAgB,SAChB1K,QAAS,OAEb7O,QAASA,IAAMqY,EAAQM,GAAKtZ,SAAA,CAE5BF,eAAA,OAAKqJ,MAAO,CAAEwF,UAAW,UAAW3O,SAChCF,eAAA,OACIxT,IAAKgtB,EAAIa,MACT9S,IAAKiS,EAAIzS,MACTsC,MAAO,CAAEsF,MAAO6K,EAAI7K,MAAQ6K,EAAI7K,MAAQ,KAAO,OAAQD,OAAQ8K,EAAI9K,OAAS8K,EAAI9K,OAAS,KAAO,YAGxGvO,gBAAA,OAAKF,UAAU,WAAWoJ,MAAO,CAAE6Q,QAAS,OAAQC,cAAe,SAAU1K,WAAY,SAAUd,MAAO,QAASzO,SAAA,CAC/GF,eAAA,OACIC,UAAU,SACVoJ,MAAO,CAAE0Q,WAAYlwC,IAAU2vC,EAAI3vC,MAAQ,UAAY,GAAI8oC,QAASrU,EAAM0b,WAAa,EAAI,KAE/Fha,eAAA,OACIC,UAAU,MACVoJ,MAAO,CACHoQ,OAAQ5vC,IAAU2vC,EAAI3vC,MAAQ,GAAK,gBACnC2/B,MAAO3/B,IAAU2vC,EAAI3vC,MAAQ,GAAK,UAClC6/B,SAAU,SACVC,aAAc,WACdF,WAAY,SACZ6Q,UAAW,aACX3L,MAAO,OACPE,UAAW,UACb3O,SAEDsZ,EAAIzS,aAxCRyS,EAAI3vC,UAiDjC,CCnLO,SAAS0wC,GAAqBlmB,EAAG5S,GACpC,MAAO,CAAEW,KAAMvf,GAA0Bwf,QAASgS,EAAGrZ,MAAOyG,EAChE,CACO,SAAS+4B,GAAyB/4B,GACrC,MAAO,CAAEW,KAAMvf,GAA+BmY,MAAOyG,EACzD,CAEO,SAASg5B,GAAgCpmB,EAAG5S,GAC/C,MAAO,CAAEW,KAAMvf,GAAsCwf,QAASgS,EAClE,CACO,SAASqmB,GAAsBrmB,GAClC,MAAO,CAAEjS,KAAMvf,GAAoCwf,QAASgS,EAChE,CACO,SAASsmB,GAAyBj4B,GACrC,MAAO,CAAEN,KAAMvf,GAAkC6f,KAAMA,EAC3D,CACO,SAASk4B,GAAyBhlC,GACrC,MAAO,CAAEwM,KAAMvf,GAA+Bwf,QAASzM,EAC3D,C,qDCpBO,MAAMilC,GAAoBrS,MAAOsS,EAAQp+C,EAAOopB,KACnD,IACI,IAAKg1B,EACD,OAEJ,MAAMC,EAAUD,EAAOE,aACjBC,EAAcF,EAAQG,KACtBC,EAAgBJ,EAAQ/D,OAAOoE,eAE/BC,EAAW,IACVJ,EACHK,OAAQ5+C,EACR6+C,UAAW,CACPC,GAAIL,EAAcM,GAClBC,WAAY51B,GAEhBppB,MAAOA,EACPi/C,OAAQ,CACJ71B,WAAYA,EACZ21B,GAAIN,EAAcM,GAClBxG,QAASkG,EAAclG,QACvBv4C,MAAOA,IAGf+oB,eAAe0M,QAAQ,oBAAqB38B,KAAKC,UAAU4lD,UAErDP,EAAOc,gBAAgBP,GAC7BQ,iCAAsBf,EAS1B,CAAE,MAAO1vB,GACLp4B,QAAQC,IAAI,gBAAiBm4B,EACjC,GAGS0wB,GAAeC,GACjB,SAA4Bzd,GAC/B,MAAM,OAAEwc,GAAWkB,8BACnB,OAAOhc,eAAC+b,EAAgB,IAAKzd,EAAO2d,cAAenB,GACvD,ECeJ,MAAMoB,WAA0B7d,YAE5BjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAkBhB6d,SAAW,KACP9nD,KAAKypC,SAAS,CAAEse,aAAa,EAAMC,YAAW,EAAOC,UAAU,IAC/D3qB,MAAM,gCAAiC,CACnC0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBiH,MAAOrI,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7C4zB,WAAYj2B,eAAeC,QAAQ,OACnC62B,KAAyC,OAAnC92B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,UAEhFmM,QAAS,CACL,eAAgB,mBAChBE,MAAO,cAEZC,MAAKC,IACI,IAAIiL,KAEPjL,EAASqL,GAIVjpC,KAAKypC,SAAS,CAAC0e,cAAa,IAH5BxpD,QAAQC,IAAIg/B,GAOhB59B,KAAKypC,SAAS,CAAEse,aAAa,GAAQ,IACtChqB,OAAMhH,IACLp4B,QAAQC,IAAIm4B,EAAM,GACpB,EACL,KAEDqxB,4BAA+B1wB,IAC3B13B,KAAKypC,SAAS,CAAE4e,cAAc,IAC9B/qB,MAAM,oCAAqC,CACvC0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBiH,MAAOrI,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7Cub,UAAWhvC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAC3Cg5B,SAAUlvC,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SAC1CshB,KAAMA,EACN2vB,WAAYj2B,eAAeC,QAAQ,OACnC62B,KAAyC,OAAnC92B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,QAC5E/iB,MAAOnN,KAAKC,UAAU2kC,QAE1BvI,QAAS,CACLE,MAAO,cAEZC,MAAKC,IACJ,GAAwB,MAApBA,EAASnyB,OAGT,OAFA9M,QAAQC,IAAI,gDAAkDg/B,EAASnyB,aACvEzL,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,KAGlFkG,EAASC,OAAOF,MAAKT,IACjBspB,GAAkBxmD,KAAKiqC,MAAM2d,cAAe5nD,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,eAC9EyJ,EAAGorB,iBACHtoD,KAAKuoD,2BAEsB,IAAvBrrB,EAAGsrB,gBACHxoD,KAAKyoD,UAELvrB,EAAGwrB,WAAWl9C,MAAM4jB,SAAQjjB,IACxBA,EAAKjE,MAAQ/G,KAAKssB,MAAMthB,EAAKjE,OAC7BiE,EAAKmmC,QAAUnxC,KAAKssB,MAAMthB,EAAKmmC,QAAQ,IAE3CtyC,KAAKypC,SAAS,CAAEkf,oBAAoB,EAAMC,UAAW1rB,EAAGwrB,WAAWl9C,MAAOq9C,cAAe3rB,EAAGwrB,WAAW51C,OAAQu1C,cAAc,EAAO3wB,KAAM,GAAIswB,YAAY,EAAOC,UAAU,IAEnL,GACF,IAEHlqB,OAAMhH,IACLp4B,QAAQC,IAAIm4B,GACZ/2B,KAAKypC,SAAS,CAAE/R,KAAM,IAAK,GAC7B,EACL,KAED+wB,OAAS,KACLzoD,KAAKypC,SAAS,CAAE4e,cAAc,IAC9B/qB,MAAM,yBAA0B,CAC5B0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBiH,MAAOrI,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7Cub,UAAWhvC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAC3Cg5B,SAAUlvC,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SAC1CixC,WAAYj2B,eAAeC,QAAQ,OACnC62B,KAAyC,OAAnC92B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,QAC5E/iB,MAAOnN,KAAKC,UAAU2kC,MACtB+iB,QAA8B,UAArB9oD,KAAKiqC,MAAM7lC,UAExBo5B,QAAS,CACLE,MAAO,cAEZC,MAAKC,IACJ,GAAwB,MAApBA,EAASnyB,OAGT,OAFA9M,QAAQC,IAAI,gDAAkDg/B,EAASnyB,aACvEzL,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,KAGlFkG,EAASC,OAAOF,MAAKT,IAEjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAIs+B,GACZl9B,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,SAC3E,CACC13B,KAAKiqC,MAAMyY,UACX1iD,KAAKiqC,MAAMyY,WAGftxB,eAAe0M,QAAQ,UAAWZ,EAAGqO,OACrC,IACIwd,EADQz6C,GAAM/M,SAASJ,KAAKssB,MAAMyP,EAAG5uB,QACrBpN,SACpBkwB,eAAeoY,WAAW,SAC1BpY,eAAe0M,QAAQ,QAASirB,GAChC33B,eAAe0M,QAAQ,gBAAiBirB,GACxC33B,eAAe0M,QAAQ,cAAe,SACtC,IAAI5P,EAAO,wCACPluB,KAAK0wB,kBACLU,eAAe0M,QAAQ,2BAA2B,GAClD5P,EAAO,sDAEXgQ,OAAO6K,SAASQ,KAAOrb,EACvBluB,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAMI,cAAc,EAAO3wB,KAAM,IACjF,IACF,IAEHqG,OAAMhH,IACLp4B,QAAQC,IAAIm4B,GACZ/2B,KAAKypC,SAAS,CAAE/R,KAAM,IAAK,GAC7B,EACL,KAED6wB,wBAA0B,KACtBvoD,KAAKypC,SAAS,CAAE4e,cAAc,IAC9B/qB,MAAM,gCAAiC,CACnC0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBiH,MAAOrI,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7Cub,UAAWhvC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAC3Cg5B,SAAUlvC,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SAC1CixC,WAAYj2B,eAAeC,QAAQ,OACnC62B,KAAyC,OAAnC92B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,QAC5E/iB,MAAOnN,KAAKC,UAAU2kC,MACtB+iB,QAA8B,UAArB9oD,KAAKiqC,MAAM7lC,UAExBo5B,QAAS,CACLE,MAAO,cAEZC,MAAKC,IACJ,GAAwB,MAApBA,EAASnyB,OAGT,OAFA9M,QAAQC,IAAI,gDAAkDg/B,EAASnyB,aACvEzL,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,KAGlFkG,EAASC,OAAOF,MAAKT,IAEjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAIs+B,GACZl9B,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,SAC3E,CACC13B,KAAKiqC,MAAMyY,UACX1iD,KAAKiqC,MAAMyY,WAGftxB,eAAe0M,QAAQ,UAAWZ,EAAGqO,OACrC,IACIwd,EADQz6C,GAAM/M,SAASJ,KAAKssB,MAAMyP,EAAG5uB,QACrBpN,SACpBkwB,eAAeoY,WAAW,SAC1BpY,eAAe0M,QAAQ,QAASirB,GAChC33B,eAAe0M,QAAQ,gBAAiBirB,GACxC33B,eAAe0M,QAAQ,cAAe,SACtC,IAAI5P,EAAO,wCACPluB,KAAK0wB,kBACLU,eAAe0M,QAAQ,2BAA2B,GAClD5P,EAAO,sDAEXgQ,OAAO6K,SAASQ,KAAOrb,EACvBluB,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAMI,cAAc,EAAO3wB,KAAM,IACjF,IACF,IAEHqG,OAAMhH,IACLp4B,QAAQC,IAAIm4B,GACZ/2B,KAAKypC,SAAS,CAAE/R,KAAM,IAAK,GAC7B,EACL,KAEDsxB,WAActxB,IACV13B,KAAKypC,SAAS,CAAE4e,cAAc,IAC9B/qB,MAAM,4BAA6B,CAC/B0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBiH,MAAOrI,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7Cub,UAAWhvC,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAC3Cg5B,SAAUlvC,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SAC1CshB,KAAMA,EACN2vB,WAAYj2B,eAAeC,QAAQ,OACnC62B,KAAyC,OAAnC92B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,QAC5E/iB,MAAOnN,KAAKC,UAAU2kC,QAE1BvI,QAAS,CACLE,MAAO,cAEZC,MAAKC,IACJ,GAAwB,MAApBA,EAASnyB,OAGT,OAFA9M,QAAQC,IAAI,gDAAkDg/B,EAASnyB,aACvEzL,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,KAGlFkG,EAASC,OAAOF,MAAKT,IAEjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAIs+B,GACZl9B,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAOI,cAAc,EAAO3wB,KAAM,SAC3E,CACHtG,eAAe0M,QAAQ,UAAWZ,EAAGqO,OACrC,IACIwd,EADQz6C,GAAM/M,SAASJ,KAAKssB,MAAMyP,EAAG5uB,QACrBpN,SACpBkwB,eAAeoY,WAAW,SAC1BpY,eAAe0M,QAAQ,QAASirB,GAChC33B,eAAe0M,QAAQ,gBAAiBirB,GACxC33B,eAAe0M,QAAQ,cAAe,SACtC,IAAI5P,EAAO,wCACPluB,KAAK0wB,kBACLxC,EAAO,sDAEXgQ,OAAO6K,SAASQ,KAAOrb,EACvBluB,KAAKypC,SAAS,CAAEue,YAAY,EAAMC,UAAU,EAAMI,cAAc,EAAO3wB,KAAM,IACjF,IACF,IAEHqG,OAAMhH,IACLp4B,QAAQC,IAAIm4B,GACZ/2B,KAAKypC,SAAS,CAAE/R,KAAM,IAAK,GAC7B,EACL,KAkBDuxB,aAAe5hB,KACNrnC,KAAKkI,MAAM+/C,SAKnB,KA6EDiB,UAAan7B,IACT/tB,KAAKiqC,MAAMkf,KAAKp7B,EAAK,EArWrB/tB,KAAKkI,MAAQ,CACTwvB,KAAM,GACNuwB,UAAU,EACVD,YAAY,EACZK,cAAc,EACdN,aAAa,EACbY,oBAAoB,EACpBS,eAAgB,GAChBR,UAAW,GACXC,cAAe,GACfQ,SAAS,EACTlB,cAAc,GAElBnoD,KAAKw5C,UAAwD,aAA5Cx5C,KAAKiqC,MAAM17B,YAAYwD,SAAS3N,UAA2BpE,KAAKiqC,MAAM17B,YAAYwD,SAASiY,YAC5GhqB,KAAK0wB,gBAAqE,kBAAnD1wB,KAAKiqC,MAAM17B,YAAYoC,QAAQkV,eAC1D,CAkPA2lB,oBAC4B,WAApBxrC,KAAKiqC,MAAM4C,MAGX7sC,KAAK8nD,UAEb,CAGAwB,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGf,CASAC,UAAUC,GACN1pD,KAAKypC,SAAS,CAAE4f,SAAS,IACzB,IAAIl4B,EAAQC,eAAeC,QAAQ,WAC/B6L,EAAK,CACLsX,MAAOx0C,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MAAMorB,cAC7C8gB,WAAYnjB,eAAeC,QAAQ,OACnCs4B,OAAsC,KAA9B3pD,KAAKkI,MAAMkhD,eAAwBppD,KAAKkI,MAAMkhD,eAAiB,GACvEQ,SAAUF,EAAa,GAAKpgB,GAAclY,eAAeC,QAAQ,UACjEw4B,KAAyC,OAAnCz4B,eAAeC,QAAQ,QAAmB,GAAKD,eAAeC,QAAQ,SAEhFiM,MAAM,6BAA8B,CAChCC,OAAQ,OACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,YAEXtF,KAAMj3B,KAAKC,UAAU87B,KACtBS,MACCC,IACI,GAAwB,MAApBA,EAASnyB,OAKT,OAJA9M,QAAQC,IAAI,gDACRg/B,EAASnyB,QACbyyB,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,SAC3Dp+B,KAAKypC,SAAS,CAAE4f,SAAS,IAG7BzrB,EAASC,OAAOF,MAAKT,IACjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAIs+B,EAAGiM,MACf3K,MAAM,yDACH,CAKH,GAJIx+B,KAAKiqC,MAAMyY,UACX1iD,KAAKiqC,MAAMyY,WAEftxB,eAAe0M,QAAQ,UAAWZ,EAAGqO,OACjCme,EAAY,CACZ,IAAI7pB,EAAK1+B,KAAKssB,MAAMyP,EAAG5uB,OACvBuxB,EAAGrxB,SAASmY,MAAQ,YACpBkZ,EAAGrxB,SAASmT,mBAAoB,EAChCke,EAAGrxB,SAASiT,kBAAmB,EAC/Boe,EAAGrxB,SAASkT,yBAA0B,EACtCme,EAAGrxB,SAASoY,UAAUrF,KAAO,EAC7Bse,EAAGrxB,SAASoY,UAAUpF,IAAM,EAC5Bqe,EAAGtxB,YAAYwC,cAAgB,qBAC/B8uB,EAAGtxB,YAAYuC,aAAe,cAC9B+uB,EAAGtxB,YAAY2D,UAAUpE,aAAe,KACxC+xB,EAAGtxB,YAAYwD,SAAS3N,QAAUpE,KAAKiqC,MAAM17B,YAAYwD,SAAS3N,QAClEy7B,EAAGtxB,YAAYwD,SAASiY,aAAc,EACtC6V,EAAGtxB,YAAYkC,SAASyF,UAAYlW,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UACpE2pB,EAAGtxB,YAAYkC,SAAS2F,SAAWpW,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SACnEpW,KAAKiqC,MAAM6f,wBAAwBjqB,EAAGtxB,aACtCvO,KAAKiqC,MAAM8f,yBAAyB,oBACpC/pD,KAAKiqC,MAAM+f,qBAAqB,EAAG,OACnChqD,KAAKiqC,MAAM+f,qBAAqB,EAAG,aACnCrhB,KACAW,IACJ,CAIAtpC,KAAKypC,SAAS,CAAE4f,SAAS,IACzB,IAAIn7B,EAAO,wCACPluB,KAAK0wB,kBACLxC,EAAO,sDAEXgQ,OAAO6K,SAASQ,KAAOrb,CAC3B,IAEF,IAER6P,OAAOC,IACLh+B,KAAKypC,SAAS,CAAE4f,SAAS,IACzB1qD,QAAQC,IAAI,gBAAiBo/B,EAAI,GAEzC,CAIA0N,SACI,MAYMue,EAAgBA,KAClB,IAAKjqD,KAAKkI,MAAMygD,mBACZ,MAAO,GAEX,IAAI9G,EAAe,CACf,qBAAwB,gBACxB,qBAAwB,YACxB,gBAAmB,eACnB,YAAe,SAEfqI,EAAe7F,GACRA,GAAe,KAARA,EAAaA,EAAM,KAErC,MAAMpzB,EAAO,GACb,IAAK,IAAI9kB,KAAQnM,KAAKkI,MAAM0gD,UAAW,CACnC,IAAI9hC,EAAY,IAAI+hB,KAAK18B,EAAKjE,MAAMsG,SAASsY,WACzC0yB,EAAwD,aAA5CrtC,EAAKjE,MAAMqG,YAAYwD,SAAS3N,UAA2B+H,EAAKjE,MAAMqG,YAAYwD,SAASiY,YAC3D,OAA5C7d,EAAKjE,MAAMqG,YAAYwD,SAAS3N,QAChC6sB,EAAKtC,KAAK,CACNnZ,MAAOrJ,EAAK2G,OACZ4/B,MAAO/G,eAAA,OAAAE,SACHF,eAAA,OAAAE,SAAK,gCAIb5a,EAAKtC,KAAK,CACNnZ,MAAOrJ,EAAK2G,OACZ4/B,MACI5G,gBAAA,OAAKkJ,MAAO,CAAEqF,OAAQ,OAAQwL,QAAS,OAAQC,cAAe,SAAUC,eAAgB,iBAAkBla,SAAA,CACtGC,gBAAA,OAAAD,SAAA,CACIC,gBAAA,OAAAD,SAAA,CAAKF,eAAA,KAAAE,SAAIvC,GAAen9B,EAAKjE,MAAMqG,YAAYwD,SAAS3N,WAAa,IAAGo1C,EAA+B,uBAAnB,oBACpF7N,eAAA,OAAKC,UAAU,OAAOoJ,MAAO,CAAEoC,SAAU,QAASvL,SAAEqe,EAAYrI,EAAa11C,EAAKjE,MAAMqG,YAAYwD,SAASpG,eAAiB,KAAOu+C,EAAY/9C,EAAKjE,MAAMqG,YAAYwD,SAAS1G,QAAU,KAAO6+C,EAAY/9C,EAAKjE,MAAMqG,YAAYwD,SAAS7J,YAElP4jC,gBAAA,OAAKkJ,MAAO,CAAEG,MAAO,UAAWiC,SAAU,OAAQC,UAAW,OAAQxL,SAAA,CAAC,gBAAc/kB,EAAUqjC,4BAKlH,CAGA,OACIre,gBAACC,KAAK,CACFiJ,MAAO,CACH8F,IAAK,GAEvBsP,cAAc,oBACAxe,UAAU,iBACViJ,KAAM70C,KAAKkI,MAAMygD,mBACjB1S,MAAM,6BACNoU,KAAMA,IAAMrqD,KAAKypC,SAAS,CAAEwgB,eAAe,IAC3CK,SAAUA,IAAMtqD,KAAKypC,SAAS,CAAEkf,oBAAoB,IACpDrO,MAAM,QACNiQ,cAAc,EACdtP,UAAU,EACVuP,OAAQ,CACJ7e,eAACW,KAAM,CAAC0I,MAAO,CAAEoF,YAAa,IAAM7N,QAAQ,iBACxCke,SAAwC,KAA9BzqD,KAAKkI,MAAMkhD,eACrB5c,QAASA,IAAMxsC,KAAKypD,WAAU,GAAM5d,SAAC,6BAGzCC,gBAACQ,KAAM,CAAC0I,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAOpN,QAAQ,OAAOC,QAASA,IAAMxsC,KAAKypD,WAAU,GAAO5d,SAAA,CACtGF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,SAAWF,eAAA,QAAMC,UAAU,4BAA2BC,SAAC,mBAErGA,SAAA,CAEFC,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CAAC,4BAA0B7rC,KAAKkI,MAAM0gD,UAAUh7B,OAAO,0GAC5F+d,eAAA,OAAKC,UAAU,aAAYC,SAAC,2EAC5BF,eAAA,OAAKqJ,MAAO,CAAEnhC,OAAQ,SAAUwhC,SAAU,OAAQQ,KAAM,GAAIhK,SACxDF,eAAC+e,GAAU,CACPz5B,KAAMA,EACNyzB,eAAgBrd,IACZrnC,KAAKypC,SAAS,CAAE2f,eAAgB/hB,GAAI,EAExC7xB,MAAOxV,KAAKkI,MAAMkhD,eAClBvc,KAAK,OACL9e,KAAK,QACL8wB,UAAU,aACV8F,WAAW,cAEf,EAIhB,OAAI3kD,KAAKkI,MAAM8/C,YAAchoD,KAAKkI,MAAM+/C,SAEhCnc,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BF,eAAA,OAAKxT,IAAI,2BAA2B6c,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,UACpE1O,eAAA,OAAKC,UAAU,iBAAgBC,SAAC,aAChCC,gBAAA,OAAKF,UAAU,wBAAuBC,SAAA,CAClCF,eAAA,OAAAE,SAAK,oCACLF,eAAA,OAAAE,SAAK,wCAQG,WAApB7rC,KAAKiqC,MAAM4C,KAEPlB,eAAA,OAAAE,SACKoe,MAMTne,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAG7BF,eAAA,OAAKqJ,MAAO,CAAEwG,aAAc,IAAK3P,SAACF,eAAA,OAAKxT,IAAI,2BAA2B6c,MAAO,CAAEqF,OAAQ,YACvF1O,eAAA,OAAKC,UAAU,kCAAiCC,SAAC,qBAG7C7rC,KAAKiqC,MAAM17B,YAAYkC,SAASpI,OAC5ByjC,gBAAA,OAAKkJ,MAAO,CAAEnhC,OAAQ,gBAAiBshC,MAAO,UAAWwV,WAAY,QAAS9e,SAAA,CAC1EC,gBAAA,OAAAD,SAAA,CAAK,qBAAkBF,eAAA,QAAMqJ,MAAO,CAAE2E,WAAY,IAAKxE,MAAO,QAAStJ,SAAE7rC,KAAKiqC,MAAM17B,YAAYkC,SAASpI,QAAasjC,eAAA,KAAGqJ,MAAO,CAAEG,MAAO,UAAWD,WAAY,EAAG0V,mBAAoB,aAAehf,UAAU,kBAAkBY,QAASA,KAAQxsC,KAAKkpD,UAAU,EAAE,EAAGrd,SAAC,YACxQF,eAAA,OAAAE,SAAK,6CAIjBF,eAAA,OAAKqJ,MAAO,CAAE6Q,QAAS,OAAQE,eAAgB,SAAU1K,QAAS,iBAAkBxP,SAC9E7rC,KAAKkI,MAAMmgD,cAAgBroD,KAAKkI,MAAM6/C,YAAepc,eAACkf,KAAO,CAACC,UAAU,SAASn4B,KAAK,OAAUgZ,eAAC2Y,GAAgB,CAAC9uC,MAAOxV,KAAKkI,MAAMwvB,KAAMmlB,SAAWxV,IACnJrnC,KAAKypC,SAAS,CAAE/R,KAAM2P,IACL,IAAbA,EAAEzZ,QACF5tB,KAAKooD,4BAA4B/gB,EACrC,MAINrnC,KAAKkI,MAAM8/C,aAAehoD,KAAKkI,MAAM+/C,UA7IvCtc,eAAA,OAAKC,UAAU,gCAA+BC,SAE1CC,gBAAA,OAAKkJ,MAAO,CAAEC,gBAAiB,UAAWqG,aAAc,MAAOD,QAAS,OAAQhE,UAAW,OAAQsF,SAAU,SAAU9Q,SAAA,CACnHF,eAAA,OAAKxT,IAAI,gCAAgC6c,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,OAAQD,YAAa,UAC9FzO,eAAA,KAAAE,SAAG,2CA0IXC,gBAAA,OAAKkJ,MAAO,CAAEoC,SAAU,IAAMxL,UAAU,MAAKC,SAAA,CAAC,kCAA0BF,eAAA,KAAGqJ,MAAO,CAAEG,MAAO,UAAWyV,mBAAoB,aAAepe,QAASA,KAC9IxsC,KAAK8nD,UAAU,EACjBjc,SAAC,cACFoe,MAGb,EAGWxC,UAAY3L,aA5iBF5zC,IACd,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,aAKIk6B,IAAQ,CAEhCqiB,iBAAmBpc,IACfjG,EAAS0b,GAAwBzV,EAAMuN,OAAO1mC,OAAO,EAEzD8qC,4BAA6BA,CAACtgB,EAAG3R,KAC7Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAEtD28B,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAEnE48B,eAAgBA,CAAC/+C,EAAKm7B,KAClBqB,EAAS0b,GAAuB/c,EAAG,WAAYn7B,GAAK,EAExDg/C,sBAAwBlrB,IACpB0I,EAAS2d,GAAsBrmB,GAAG,EAEtC8pB,wBAA0Bv7C,IACtBm6B,EAAS0b,GAAsB71C,GAAa,EAEhDy7C,qBAAsBA,CAACmB,EAAKv3C,KACxB80B,EAAS0iB,GAA0BD,EAAKv3C,GAAO,EAEnDy3C,yBAA2BF,IACvBziB,EAAS0iB,GAA8BD,GAAK,EAEhDpB,yBAA0BA,CAACxoC,EAAMoF,KAC7B+hB,EAAS0iB,GAA8B7pC,GAAa,KAygBY,KAAM,CAAE+pC,YAAY,GAAjExP,CAAyE+L,K,cCvjBpG,MAAM0D,GAAiB,CAAC,UAAW,SAAU,aAAc,aAAc,SAAU,YAAa,YAAa,YACvGC,GAAmB,CAAC,qBAAsB,oBAqBzC,SAASC,GAAsBxhB,GAMpC,IAAI+a,EAAS,CACX0G,aAAa,EACbC,kBAAmB,GACnBC,UAAW,EACXC,MAAO,EACPC,eAAgB,EAChBC,YAAa,EACbC,cAAe,GAGjB,MAAM,SACJj6C,EAAQ,cACRgB,GACEk3B,EAAM17B,YAEV,IAaI09C,EAbApK,EAAe9vC,EAASpG,aACxBg0C,EAAiB5tC,EAAS1G,OAC1B6gD,EAAen6C,EAAS9J,KAAKkrB,OAC7Bg5B,EAAap5C,EAAcxM,UAC3BuL,EAAOiB,EAAc7M,cACrBkmD,EAAqBr5C,EAActM,yBAA2BsM,EAAcrM,iCAC5E2lD,EAAiBt5C,EAAczM,mBAC/Bsd,EAAa,GACbooC,EAAgB,GAChBM,EAAkB,GAClBC,EAAkB,GAClBC,EAAM,EACNC,EAAQ,EAERb,EAAY,KACZC,EAAQ,EACRa,EAAS,EACTC,EAAW,EACXC,EAAS,EACTC,EAAU,EACVC,EAAS,EACTC,EAAgB,EAChBC,EAAe,EACfC,EAAgB,EAChBC,EAAoB,EAIxB,MAAMC,EAAoBA,CAACC,EAAU5kC,EAAM6kC,EAAKC,EAAQC,EAAQC,KAC9D,IAAIxB,EAAgB,EAChByB,EAAcL,EAAWE,EACzBI,EAAUllC,EAAO+kC,EACjBI,EAASN,EAAMG,EAWnB,OAVKrB,IACHwB,EAASF,EACTC,EAAUD,GAEZ9uD,QAAQC,IAAI,gBAAkBwuD,EAAU,IAAME,EAAS,IAAIG,GAC3D9uD,QAAQC,IAAI,YAAc4pB,EAAM,IAAM+kC,EAAS,IAAIG,GACnD/uD,QAAQC,IAAI,WAAayuD,EAAK,IAAMG,EAAW,IAAIG,GACnDhvD,QAAQC,IAAI,kBAAoB6vB,KAAK40B,IAAIoK,EAAaC,EAASC,IAE/D3B,EAAgBv9B,KAAK40B,IAAIoK,EAAaC,EAASC,GACxC3B,CAAa,EAItB,IAAIjb,EAAazH,GAAiBv3B,EAASoV,YACvC/iB,EAAU2N,EAAS3N,QACnBwpD,EAAiBtkB,GAAiBv2B,EAAc1L,yBAChD+6C,EAAkB9Y,GAAiBv2B,EAAcvM,iBACjDqnD,EAA0BvkB,GAAiBv2B,EAAcjM,2BACzD+hB,EAAwBygB,GAAiBv2B,EAAc/M,iBAAiB6iB,uBACxEw5B,EAAqB/Y,GAAiBv2B,EAAclM,oBACpDinD,EAAyBxkB,GAAiBv2B,EAAchM,wBACxDgnD,EAAsBzkB,GAAiBv2B,EAAcpM,qBACrDmiB,EAAqBwgB,GAAiBv2B,EAAc/M,iBAAiB8iB,oBAEzE,GAAiB,KAAbioB,EACFyb,EAAM,OAEN,OAAQpoD,GACN,IAAK,gBACHkoD,EAAkB,IAClBT,EAAQ,EACRa,EAAS,GACTC,EAAW,GACXC,EAAS,GACTC,EAAU,IACVC,EAAS,EACTC,EAAgB,EAEhBnpC,EAAagqC,EACbZ,EAAejc,EAAantB,EAC5B4oC,EAAM,IAAM5oC,EAAamtB,EACrBob,GACFI,EAAkB3oC,EAAaw+B,EAC/BqK,EAAQ,IAAMrK,EAAkByL,IAEhCtB,EAAkB3oC,EAClB6oC,EAAQD,GAEVP,EAAM,IAAMM,GAAmBxb,EAAaqR,GAC5C4J,EAAgBmB,EAAkBpc,EAAYA,EAAaqR,EAAiByL,EAAyB,GAAM,IAAM,IAC7G7B,EAAgBM,IAClBN,EAAgBM,GAEfC,EAAkBP,IACnBO,EAAkBP,EACdG,GACFa,EAAejc,GAAcib,EAAgB5J,GAC7CoK,EAAM,KAAOR,EAAgB5J,GAAmBrR,EAChD0b,EAAQ,IAAMT,EAAgB6B,IAE9Bb,EAAejc,EAAaib,EAC5BQ,EAAM,IAAMR,EAAgBjb,EAC5B0b,EAAQD,GAEVP,EAAM,IAAMD,GAAiBjb,EAAaqR,IAE5C,MACF,IAAK,YACHx+B,EAAamqC,EACbzB,EAAkB,IAClBC,EAAkB3oC,EAClBioC,EAAQ,IACRa,EAAS,GACTC,EAAW,GACXC,EAAS,GACTC,EAAU,IACVC,EAAS,EACTC,EAAgB,EAChBC,EAAenkC,EAAwBjF,EACvC4oC,EAAM,IAAM5oC,EAAaiF,EACzB4jC,EAAQ,IAAMF,EAAkB1jC,EAChCojC,EAAM,IAAMM,EAAkB1jC,EAC9BmjC,EAAgBmB,EAAkBtkC,EAAuBA,EAAuBA,EAAuB,GAAK,GAAK,IAC7GmjC,EAAgBM,IAClBN,EAAgBM,GAEfC,EAAkBP,IACnBO,EAAkBP,EAClBgB,EAAenkC,EAAwBmjC,EACvCQ,EAAM,IAAMR,EAAgBnjC,EAC5B4jC,EAAQ,IAAMT,EAAgBnjC,EAC9BojC,EAAM,IAAMD,EAAgBnjC,GAE9B,MACF,IAAK,mBACHjF,EAAamqC,EACbzB,EAAkB,IAClBC,EAAkB3oC,EAClBioC,EAAQ,IACRa,EAAS,GACTC,EAAW,GACXC,EAAS,GACTC,EAAU,IACVC,EAAS,GACTC,EAAgB,EAChBC,EAAenkC,EAAwBjF,EACvCqpC,EAAgBrpC,EAAakF,EAC7BokC,EAAoB,IAAKD,EAAgBpkC,EACzC2jC,EAAM,IAAM5oC,EAAaiF,EACzB4jC,EAAQ,IAAMF,EAAkB1jC,EAChCojC,EAAM,IAAMM,EAAkB1jC,EAC9BmjC,EAAgBmB,EAAkBtkC,EAAuBA,EAAuBA,EAAuB,IAAM,IAAM,KAC/GmjC,EAAgBM,IAClBN,EAAgBM,GAEfC,EAAkBP,IACnBO,EAAkBP,EAClBgB,EAAenkC,EAAwBmjC,EACvCiB,EAAgBjB,EAAgBljC,EAChCokC,EAAoB,IAAKD,EAAgBpkC,EACzC2jC,EAAM,IAAMR,EAAgBnjC,EAC5B4jC,EAAQ,IAAMT,EAAgBnjC,EAC9BojC,EAAM,IAAMD,EAAgBnjC,GAE9B,MACF,IAAK,eACHjF,EAAakqC,EACbxB,EAAkB,IAClBC,EAAkB3oC,EAClBioC,EAAQ,EACRa,EAAS,GACTC,EAAW,GACXC,EAAS,GACTC,EAAU,IACVC,EAAS,GACTC,EAAgB,EAChBC,EAAe3K,EAAqBz+B,EACpC4oC,EAAM,IAAMD,EAAkBlK,EAC9BoK,EAAQ,IAAMF,EAAkBsB,EAChC5B,EAAM,IAAMM,EAAkBlK,EAC9B2J,EAAgBmB,EAAkB9K,EAAoBA,EAAoBwL,EAAyB,GAAK,IAAM,IAC1G7B,EAAgBM,IAClBN,EAAgBM,GAEfC,EAAkBP,IACnBO,EAAkBP,EAClBgB,EAAe3K,EAAqB2J,EACpCQ,EAAM,IAAMR,EAAgB3J,EAC5BoK,EAAQ,IAAMT,EAAgB6B,EAC9B5B,EAAM,IAAMD,EAAgB3J,GA4DpC,OArDA1jD,QAAQC,IAAI,+CAEP2sD,GAAep+B,SAAS++B,IAAkBV,GAAiBr+B,SAASwyB,KACvEhhD,QAAQC,IAAI,uBACZomD,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,4EAGR,gBAAjB9J,GAAmD,aAAjBA,IACpCljD,QAAQC,IAAI,iDACZomD,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,sKAIzBY,EAAkBD,IACpB3tD,QAAQC,IAAI,uBAAyB0tD,GACrCtH,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,+BAAgCW,EAAgB,IAAU,6BAA8BC,EAAkB,KAInIz6C,EAAO+6C,IACTluD,QAAQC,IAAI,6BAA+BiuD,GAC3C7H,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,6BAA8BkB,EAAS,iDAAmD/6C,GAInHs6C,EAAqBU,IACvBnuD,QAAQC,IAAI,qCAAuCkuD,GACnD9H,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,sDAAuDmB,EAAS,gFAAkFV,GAInJ,KAAxBr6C,EAASoV,YAA4C,GAAvBpV,EAASoV,aACzCxoB,QAAQC,IAAI,mCACZomD,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,4EAIzBQ,GAA2D,KAA5Cp5C,EAAcjM,2BAAgF,IAA5CiM,EAAcjM,4BACjFnI,QAAQC,IAAI,iDACZomD,EAAO0G,aAAc,EACrB1G,EAAO2G,kBAAoB,6EAOrBvnD,GACN,IAAK,gBACHwnD,EAAY,EACZjtD,QAAQC,IAAI,sCAAwCgtD,GACpD,MACF,IAAK,YACHA,EAAY,GACZjtD,QAAQC,IAAI,4BAA8BgtD,GAC1C,MACF,IAAK,mBACHA,EAAY,GACZjtD,QAAQC,IAAI,+BAAiCgtD,GAC7C,MACF,IAAK,eACHA,EAAY,GACZjtD,QAAQC,IAAI,iCAAmCgtD,GAInD,OAAQa,GACN,KAAKA,GAAS,GAEZ9tD,QAAQC,IAAI,8BACZ,MACF,KAAK6tD,EAAQ,IAAMA,GAAS,GAC1Bb,GAAa,IACbjtD,QAAQC,IAAI,yCACZ,MACF,KAAK6tD,EAAQ,IAAMA,GAAS,GAC1Bb,GAAa,GACbjtD,QAAQC,IAAI,wCACZ,MACF,KAAK6tD,EAAQ,IAAMA,GAAS,GAC1Bb,GAAa,IACbjtD,QAAQC,IAAI,yCACZ,MACF,KAAK6tD,EAAQ,IAAMA,GAAS,GAC1Bb,GAAa,EACbjtD,QAAQC,IAAI,wCAYZouD,GAAgB,OAClBruD,QAAQC,IAAI,qCACZgtD,GAAa,KAIXsB,GAAmB,KAAOA,GAAoB,IAChDvuD,QAAQC,IAAI,gEACZgtD,GAAa,MAEXsB,EAAkB,IACpBvuD,QAAQC,IAAI,kCACZgtD,GAAa,IAIXY,EAAM,IAAMA,GAAO,IACrB7tD,QAAQC,IAAI,2BACZgtD,GAAa,IAENY,EAAM,IAAMA,GAAOE,IAC1B/tD,QAAQC,IAAI,8BACZgtD,GAAa,GAIX95C,GAAQ+6C,IACL/6C,GAAQ,KAAOA,GAAQ,MAC1BnT,QAAQC,IAAI,+BACZgtD,GAAa,KAEV95C,GAAO,KAAOA,GAAQ,MACzBnT,QAAQC,IAAI,0CACZgtD,GAAa,GACbC,GAAS,IAEN/5C,GAAQ,KAAOA,GAAQ,MAC1BnT,QAAQC,IAAI,yCACZgtD,GAAa,IACbC,GAAS,IAMTO,GAAsB,IAAMA,GAAsB,KACpDztD,QAAQC,IAAI,mCACZgtD,GAAa,KAEXQ,GAAsB,GAAKA,EAAqB,KAClDztD,QAAQC,IAAI,iCACZgtD,GAAa,IAIXtiB,GAAiB+iB,GAAkB,KACrC1tD,QAAQC,IAAI,uCACZgtD,GAAa,GACbC,GAAS,IAGX,IAAImC,EAAW,EAOf,OANIzB,GAAmB,MAASA,GAAmB,QACjDyB,EAAW,IACXrvD,QAAQC,IAAI,sCAAwCovD,EAAW,kBAEjErvD,QAAQC,IAAI,mBAAoBijD,GAExBA,GACN,IAAK,uBACH,MACF,IAAK,WACHljD,QAAQC,IAAI,gDACZgtD,GAAa,EACbC,GAAS,EACT,MACF,IAAK,aASL,IAAK,aACHltD,QAAQC,IAAI,kDACZgtD,GAAa,EACbC,GAAS,EACT,MARF,IAAK,gBACHltD,QAAQC,IAAI,mDACZgtD,GAAa,IAQjBjtD,QAAQC,IAAI,4BAA8B2tD,GAE1C,IAAI0B,EAAKx/B,KAAK4L,MAAM,IAAMuxB,EAAWtiB,GAAiBijB,GAAiBjjB,GAAiBW,EAAM17B,YAAYwE,cAAczM,qBACpH4nD,EAAKz/B,KAAK4L,MAAMiP,GAAiBijB,GAAmBV,EAAQ,IAAOmC,GAgBvE,OAbArvD,QAAQC,IAAI,6CACZD,QAAQC,IAAI,UAAY6tD,GACxB9tD,QAAQC,IAAI,QAAUqtD,GACtBttD,QAAQC,IAAI,UAAY6tD,GACxB9tD,QAAQC,IAAI,4BAA8B2tD,GAC1C5tD,QAAQC,IAAI,0BAA4BotD,GAExChH,EAAO4G,UAAYA,EACnB5G,EAAO6G,MAAQA,EAEf7G,EAAO8G,eAAiBmC,EACxBjJ,EAAO+G,YAAcmC,EACrBlJ,EAAOgH,cAAgBA,EAChBhH,CACT,CAmHenJ,oBAAWC,aA/iBD5zC,IAChB,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,aAIMk6B,IAAQ,CAClC4X,4BAA6BA,CAACtgB,EAAG3R,KAC7Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAEtD28B,mBAAoBA,CAACrc,EAAOtgB,KACxBqa,EAAS0b,GAAuBzV,EAAO,WAAYtgB,GAAM,EAE7Dy7B,wBAA0Bv7C,IACtBm6B,EAAS0b,GAAsB71C,GAAa,KAgiBqB,KAAM,CAAE+8C,YAAY,GAAjExP,EAjHF7R,IACtB,MAAOkkB,EAAYC,GAAiBhd,oBAAS,IACtCid,EAAuBC,GAA4Bld,oBAAS,IAC5DjuB,EAAMorC,GAAWnd,mBAAS,KAC1B4a,EAAewC,GAAoBpd,mBAAS,KAC5C0a,EAAgB2C,GAAqBrd,mBAAS,KAC9C2a,EAAa2C,GAAkBtd,mBAAS,KACxCsa,EAAaiD,GAAkBvd,oBAAS,IACxCua,EAAmBiD,GAAwBxd,mBAAS,IAErDyd,EAAW,CACf,CACI5Y,MAAO,gBACPzgC,MAAO2N,GAEX,CACI8yB,MAAO,sBACPzgC,MAAOw2C,GAEX,CACI/V,MAAO,kBACPzgC,MAAOs2C,GAEX,CACI7V,MAAO,eACPzgC,MAAOu2C,IAIb5Z,qBAAU,KACR,IAAI6S,EAASyG,GAAsBxhB,GACnCskB,EAAQvJ,EAAO4G,UAAUkD,QAAQ,GAAK,KACtCL,EAAkB,IAAMnlB,GAAa0b,EAAO8G,iBAC5C4C,EAAe,IAAMplB,GAAa0b,EAAO+G,cACzC4C,EAAe3J,EAAO0G,aACtBkD,EAAqB5J,EAAO2G,mBAC5B6C,EAAiB,IAAKllB,GAAa0b,EAAOgH,gBAC1CrtD,QAAQC,IAAI,kBAAkB,GAC7B,CAACqrC,EAAM17B,cAyCV,OACEo9B,eAAA,OAAKC,UAAU,0BAAyBC,SACrCsiB,EAlCCE,EAEA1iB,eAAA,OAAKqJ,MAAO,CAACqG,QAAS,UAAUxP,SAC9BF,eAACkc,GAAiB,CAACzjD,QAAQ,gBAAgB+kD,KAAOp7B,GAV5CA,KACC,IAATA,GACFugC,GAAyB,EAC3B,EAOiEnF,CAAKp7B,OAKpE+d,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAC5BF,eAAA,OAAKC,UAAU,cAAaC,SAAC,mBAC7BF,eAAA,OAAKC,UAAU,iBAAgBC,SAAC,2FAChCC,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACdF,eAAC+Q,KAAG,CAAC1H,MAAO,CAACwG,aAAc,QAASuT,GAAI,GAAIhM,KAAM,GAAGlX,SAACF,eAAC6X,KAAK,CAAC7wB,KAAK,QAAQmqB,YAAY,aAAaD,SAAWxV,GAAK4C,EAAM+gB,mBAAmB3jB,EAAE6U,OAAO1mC,MAAO,iBAC5Jm2B,eAAC+Q,KAAG,CAAC1H,MAAO,CAACwG,aAAc,QAASuT,GAAI,GAAIhM,KAAM,GAAGlX,SAACF,eAAC6X,KAAK,CAAC7wB,KAAK,QAAQmqB,YAAY,YAAYD,SAAWxV,GAAK4C,EAAM+gB,mBAAmB3jB,EAAE6U,OAAO1mC,MAAO,mBAE7Jm2B,eAAC8Q,KAAG,CAAA5Q,SACFF,eAAC+Q,KAAG,CAACqG,KAAM,GAAGlX,SAACF,eAAC6X,KAAK,CAAC7wB,KAAK,QAAQmqB,YAAY,QAAOD,SAAWxV,GAAK4C,EAAM+gB,mBAAmB3jB,EAAE6U,OAAO1mC,MAAO,eAEjHm2B,eAAA,OAAAE,SAAKF,eAACW,KAAM,CAACV,UAAU,eAAe7d,KAAK,UAAUye,QAASA,IAAI8hB,GAAyB,GAAMziB,SAAC,eAClGC,gBAAA,OAAKF,UAAU,WAAUC,SAAA,CAACF,eAAA,QAAAE,SAAM,6BAA+B,IAACF,eAACgH,QAAI,CAACjtB,GAAI,+BAAiCukB,EAAMxY,WAAWoa,SAAC,cAC7HC,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAAC,IAACF,eAAA,KAAGC,UAAU,aAAaY,QAASA,IAAI4hB,GAAc,GAAOviB,SAAC,kBActEC,gBAAA,OAAAD,SAAA,CACzBC,gBAAA,OAAKF,UAAU,eAAcC,SAAA,CAAC,2CAAwCF,eAAA,QAAMC,UAAU,OAAMC,SAAC,cAAgB,wBAC7GF,eAAC8Q,KAAG,CAAC7Q,UAAU,cAAaC,SAEvB5B,EAAM+d,WAQL0D,EApBD5f,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAC1BF,eAAA,OAAKC,UAAU,YAAWC,SAAC,sFAC3BF,eAAA,OAAKqJ,MAAO,CAACoC,SAAU,GAAIuC,WAAY,KAAK9N,SAAE8f,OAmBxCkD,EAAS3hC,KAAI,CAACygB,EAAM/5B,IAClBk4B,gBAAC4Q,KAAG,CAACqG,KAAM,GAAIgM,GAAI,GAAInjB,UAAU,mBAAkBC,SAAA,CACjDF,eAAA,OAAKC,UAAU,eAAcC,SAAE8B,EAAKsI,QACpCtK,eAAA,OAAKC,UAAU,eAAcC,SAAE8B,EAAKn4B,UAFmB5B,KAVzCi7C,EAAS3hC,KAAI,CAACygB,EAAM/5B,IACtCk4B,gBAAC4Q,KAAG,CAACqG,KAAM,GAAIgM,GAAI,GAAInjB,UAAU,mBAAkBC,SAAA,CACjDF,eAAA,OAAKC,UAAU,eAAcC,SAAE8B,EAAKsI,QACpCtK,eAAA,OAAKC,UAAU,eAAcC,SAAC,UAFyBj4B,OAiB/D+3B,eAAA,OAAKC,UAAU,6BAA4BC,SAAC,2FAC5CF,eAAA,OAAKC,UAAU,8BAA6BC,SAAC,4GAC7CF,eAAA,OAAKC,UAAU,kBAAiBC,SAACF,eAACW,KAAM,CAACV,UAAU,WAAW7d,KAAK,UAAUye,QAASA,IAAI4hB,GAAc,GAAMviB,SAAC,cAC/GC,gBAAA,OAAKF,UAAU,eAAcC,SAAA,CAAC,4BAAyBF,eAAA,QAAMC,UAAU,YAAWC,SAACF,eAACgH,QAAI,CAACjtB,GAAI,+BAAiCukB,EAAMxY,WAAWoa,SAAC,mBAI5I,KCtjBK,SAASmjB,KAEtB,MAAM,WAAEv9B,GAAew9B,gBAChBjH,EAAYnF,GAAiBzR,oBAAS,GAK7C,OAJAe,qBAAU,KACR/gB,eAAe0M,QAAQ,MAAOrM,EAAW,GACxC,IAGDqa,gBAAA,OAAKF,UAAU,YAAYoJ,MAAO,CAAC2H,SAAU,SAAUtH,SAAU,UAAUxJ,SAAA,CACvEF,eAAC2T,GAAa,CAACrJ,MAAM,oCACrBnK,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACZF,eAAC+Q,KAAG,CAACqG,KAAM,GAAImM,GAAI,GAAGrjB,SAClBF,eAAC4T,GAAkB,CAACsD,cAAeA,MAEvClX,eAAC+Q,KAAG,CAACqG,KAAM,GAAImM,GAAI,GAAGrjB,SAClBF,eAACwjB,GAAc,CAAC19B,WAAYA,EAAYu2B,WAAYA,WAKpE,CCzBe,SAASoH,KACpB,OACItjB,gBAAA,OAAAD,SAAA,CACIF,eAAA,SACAA,eAAA,OAAKC,UAAU,mBAAkBC,SAAC,8CAG9C,CCJe,SAASwjB,KAGtB,MAAmC,MAA7BnxB,OAAO6K,SAASuC,UAAoBpN,OAAO6K,SAASvmC,KAAKorB,OAAS,GAAmC,mBAA7BsQ,OAAO6K,SAASuC,UAC5FpN,OAAO6K,SAAW7K,OAAO6K,SAASQ,KAEhCoC,eAAA,WAIAG,gBAAA,OAAKF,UAAU,aAAYC,SAAA,CACzBF,eAACuK,GAAW,IACZpK,gBAAA,OAAKrrC,GAAG,WAAWmrC,UAAU,iBAAgBC,SAAA,CAC3CC,gBAAA,OAAKF,UAAU,MAAKC,SAAA,CAClBC,gBAAA,OAAKF,UAAU,2BAA0BC,SAAA,CACvCF,eAAA,MAAIC,UAAU,QAAOC,SAAC,eACtBF,eAAA,MAAAE,SAAI,oBACJF,eAAA,OAAKC,UAAU,aAAYC,SAAC,oEAG5BF,eAAA,OAAKC,UAAU,yBAKjBD,eAAA,OAAKC,UAAU,cAAaC,SAC1BF,eAAA,OAAKlrC,GAAG,UAAUmrC,UAAU,OAAOsH,IAAI,mBAAmB/a,IAAI,mBAGlEwT,eAAA,OAAKC,UAAU,OAAMC,SAAC,SACtBF,eAAA,OAAKC,UAAU,OAAMC,SAAC,YAIxBF,eAACyjB,GAAS,MAKlB,C,uGClCe,SAASE,GAAUrlB,GAC9B,MAAM,IAAEzoB,EAAG,IAAE6hC,EAAG,KAAE9hC,EAAI,QAAEguC,EAAO,kBAAEC,EAAiB,OAAEC,EAAM,WAAEC,GAAezlB,EAE3EkI,qBAAU,KACNwd,EAAYnuC,GACZouC,EAAYvM,EAAM7hC,EAAMA,EAAM6hC,GAC9BwM,EAAatuC,GACbuuC,EAAaP,GACbQ,EAAcR,EAAQ,GACvB,CAACA,EAAS/tC,EAAK6hC,EAAK9hC,IAEvB,MAAOyuC,EAAWF,GAAgB1e,mBAAS,IACpC6e,EAAYF,GAAiB3e,mBAAS,IACtC8e,EAAUP,GAAeve,mBAAS,MAClC+e,EAAUP,GAAexe,mBAAS,IAClCgf,EAAWP,GAAgBze,mBAAS,MAqB3C,OACItF,gBAAA,OAAKF,UAAU,aAAaoJ,MAAO/K,EAAM+K,MAAMnJ,SAAA,CAC3CF,eAAA,OAAKC,UAAU,WAAUC,UAAa,IAAX4jB,EAAkB,IAAM,KACnD9jB,eAAA,SAAO5d,KAAK,OAAO8uB,SAhBNxV,IACjB,IAAIja,EAAI4jB,OAAO3J,EAAE6U,OAAO1mC,MAAMqd,QAAQ,WAAY,KAC9CzF,EAAI8iC,GACJJ,EAAaI,GACbV,EAAkBU,GAClBH,EAAcG,KAEdJ,EAAa1iC,GACboiC,EAAkBpiC,GAClB2iC,EAAc3iC,GAClB,EAM8Cwe,UAAU,aAAaoJ,MAAO,CAACsF,OAAmB,IAAboV,EAAkB,OAAO,IAAK5S,YAAY,iBAAiBtnC,MAAOmhB,GAASs5B,MACxJP,GAAa/jB,eAACoY,KAAM,CAAC/O,MAAO,CAAEE,WAAY,QAAUtJ,UAAU,eAAeyX,IAAK8M,EAAU3uC,IAAK0uC,EAAU3uC,KAAM6uC,EAAWvT,SAvB7GxV,IACrByoB,EAAazoB,GACb0oB,EAAcp5B,GAAS0Q,IACvBmoB,EAAkBnoB,EAAE,EAoByI7xB,MAAOw6C,MAG5K,CAiGO,SAASK,GAAoBpmB,GAChC,MAAM,IAAEzoB,EAAG,IAAE6hC,EAAG,KAAE9hC,EAAI,QAAEguC,EAAO,sBAAEe,EAAqB,aAAEC,GAAiBtmB,EAEzEkI,qBAAU,KACNwd,EAAYnuC,GACZouC,EAAYvM,GACZwM,EAAatuC,GACbuuC,EAAaP,GACbQ,EAAcR,GACdiB,EAAqBD,EAAa,GAInC,CAAChB,EAAS/tC,EAAK6hC,EAAK9hC,EAAMgvC,IAE7Bpe,qBAAU,KACNse,EAAgBlB,EAAQ,GACzB,CAACA,IAEJpd,qBAAU,KACsB,qBAAjBoe,GACPG,EAAeH,EAAehB,EAAU,IAC5C,GACD,CAACgB,IAEJ,MAAOP,EAAWF,GAAgB1e,mBAAS,IACpC6e,EAAYF,GAAiB3e,mBAAS,IACtC8e,EAAUP,GAAeve,mBAAS,MAClC+e,EAAUP,GAAexe,mBAAS,IAClCgf,EAAWP,GAAgBze,mBAAS,OACpCuf,EAAmBH,GAAwBpf,mBAAS,IACpDwf,EAAaF,GAAkBtf,mBAAiC,qBAAjBmf,EAA+BA,EAAehB,EAAU,IAAO,GAC/GsB,EAAyC,qBAAjBN,EAExBE,EAAmBpM,IACrBiM,EAAsBjM,EAAI,EAoB9B,OACIvY,gBAAA,OAAKF,UAAU,aAAaoJ,MAAO,CAAC+Q,eAAe,iBAAiBla,SAAA,CAG/DglB,GAAkB/kB,gBAAA,OAAKF,UAAU,SAASoJ,MAAO,CAACoG,WAAW,UAAUvP,SAAA,CACpEF,eAAA,OAAKC,UAAU,WAAUC,SAAC,MAC1BF,eAAA,SAAO5d,KAAK,OAAO8uB,SAxBExV,IAC7B,IAAIgd,EAAMrT,OAAO3J,EAAE6U,OAAO1mC,MAAMqd,QAAQ,WAAY,KAChDzF,EAAKi3B,EAAIkM,EAAgB,IACzBnjC,EAAI8iC,GACJQ,EAAe,IAAOR,EAAWS,GACjCb,EAAaI,GACbI,EAAsBJ,GACtBH,EAAcG,KAEdQ,EAAerM,GACfyL,EAAa1iC,GACbkjC,EAAsBljC,GACtB2iC,EAAc3iC,GAClB,EAW8Dwe,UAAU,aAAaoJ,MAAO,CAACsF,MAAM,OAAQD,OAAO,QAASyC,YAAY,GAAGtnC,MAAOmhB,GAASi6B,QAEtJ9kB,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAAEpd,KAAK4L,MAAiB,IAAX41B,GAAgB,IAAI,SAG5E,CCxMA,MAAMa,GAAmB5oD,IACd,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,SAChBuD,SAAU7J,EAAMqG,YAAYwD,SAC5BtB,SAAUvI,EAAMuI,SAChBktC,QAAQ,IAIVoT,GAAsBroB,IAAQ,CAChC3I,kBAAoBC,IAChB0I,EAAS0b,GAAsBpkB,GAAG,EAEtCkrB,sBAAwBlrB,IACpB0I,EAAS2d,GAAsBrmB,GAAG,EAEtCqrB,yBAA0BA,CAAC9pC,EAAMoF,KAC7B+hB,EAASyd,GAAyB5kC,GAAa,EAEnDyvC,kBAAmBA,CAACt+B,EAAOrE,KACvBqa,EAAS0b,GAAsB1xB,EAAOrE,GAAM,EAEhD4iC,oBAAsBz7C,IAClBkzB,EAAS0b,GAAwB5uC,GAAO,EAE5C4qC,0BAA4BiE,IACxB3b,EAAS0b,GAA8BC,GAAK,EAEhD/D,4BAA6BA,CAACtgB,EAAG3R,KAC7Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAEtD6iC,4BAA8BviB,IAC1BjG,EAAS0b,GAAgCzV,GAAO,EAEpDwiB,6BAA+BxiB,IAC3BjG,EAAS0b,GAAiCzV,GAAO,EAErDqc,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAEnE+iC,0BAA2BA,CAAC/M,EAAK/1B,EAAKD,KAClCqa,EAAS0b,GAAuBC,EAAK/1B,EAAKD,GAAM,EAEpDgjC,kBAAmBA,KACf3oB,EAAS0b,KAAwB,EAErCkN,uBAAwBA,KACpB5oB,EAAS0b,KAA6B,IAI/B,MAAMmN,WAAetS,IAAMjV,UACtCjqC,YAAYkqC,GACRC,MAAMD,GAwFV,KACAunB,cAAiB7iB,IAQb,GAAwB,wBAApBA,EAAM1d,KAAKlD,KACX,IACIpvB,QAAQC,IAAI,sBAAuB+vC,EAAM1d,KAAK/kB,IAAKyiC,EAAM1d,KAAKzb,OAE9D,MAAM9W,EAAIyC,KAAKssB,MAAMkhB,EAAM1d,KAAKzb,OAEhCxV,KAAKiqC,MAAMlK,kBAAkBrhC,EAAE+yD,cAAcljD,aAC7C6iB,eAAe0M,QAAQ,iBAAkBp/B,EAAEgzD,gBAG3C/iB,EAAM/tB,OAAO+wC,YAAY,CACrB5jC,KAAM,2BACN7hB,IAAKyiC,EAAM1d,KAAK/kB,KACjByiC,EAAM5H,OACb,CAAE,MAAOhQ,GACLp4B,QAAQo4B,MAAM,iCAAkCA,GAEhD4X,EAAM/tB,OAAO+wC,YAAY,CACrB5jC,KAAM,oBACN7hB,IAAKyiC,EAAM1d,KAAK/kB,IAChB6qB,MAAOA,EAAMolB,SACdxN,EAAM5H,OACb,CACJ,EACH,KAsDD6qB,QAAU,KACN,MAAMtnB,EAAI,IAAIzB,KACd7oC,KAAKiqC,MAAMihB,sBAAsB5gB,EAAEunB,cAAc,EACpD,KAEDnmB,OAAS,KACL,IAAIomB,EACA,iDACA9xD,KAAKyxB,WACL,SACAzxB,KAAKkI,MAAM6pD,aAE2B,OAAtC3gC,eAAeC,QAAQ,aACvBygC,EAAW,yCAGf,MAAMpyB,EAActO,eAAeC,QAAQ,eACrC2gC,EAAStyB,GAA4B,oBAmDrC,UAAEjV,GAAczqB,KAAKiqC,MAAMl4B,UAC3B,QAAE3N,GAAYpE,KAAKiqC,MAAM17B,YAAYwD,SAE3C,OACI+5B,gBAAA,OAAKF,UAXUqmB,KACY,KAAvBjyD,KAAKkI,MAAM9D,QACJ,GAEJ,SAOS6tD,GAAapmB,SAAA,CACzBF,eAACumB,KAAM,CAAArmB,SACHF,eAAA,SAAAE,SAAQmmB,EAAS,qCAGrBrmB,eAAC2M,GAAa,CAACpB,KAAK,EAAMyE,OAAO,IAEjC7P,gBAACqmB,KAAS,CAAAtmB,SAAA,CACNC,gBAAA,OAEI6S,IAAMA,GAAS3+C,KAAKoyD,cAAc,GAAKzT,EACvC/S,UAAU,kBAAiBC,SAAA,CAE3BF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,mBAAkBC,SAAC,kCAItCF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,cAAaC,SAAC,sBAEjCF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,GAAGvT,SACRF,eAAC8Z,GAAmB,CAChB7Z,UAAU,4BACV3a,KAAM,CACF,CACIzb,MAAO,WACPk9B,MAAO,iBACPsT,MAAO,2BAEX,CACIxwC,MAAO,YACPk9B,MAAO,oBACPsT,MAAO,yBAEX,CACIxwC,MAAO,UACPk9B,MAAO,eACPsT,MAAO,wBAGftB,eA/ELrd,IACnBrnC,KAAK4xD,UACL5xD,KAAKiqC,MAAM+mB,kBAAkB,IAAInxB,GAAiB,gBAClD7/B,KAAKiqC,MAAMgnB,oBAAoB,GACrB,aAAN5pB,GACArnC,KAAKiqC,MAAMmW,0BAA0B,YACrCpgD,KAAKiqC,MAAMqW,6BAA4B,EAAM,eAE7CtgD,KAAKiqC,MAAMonB,oBACXrxD,KAAKiqC,MAAMqnB,0BACE,cAANjqB,GACPrnC,KAAKiqC,MAAMmW,0BAA0B,aACrCpgD,KAAKiqC,MAAMqW,6BAA4B,EAAO,gBACjC,YAANjZ,IACPrnC,KAAKiqC,MAAMmW,0BAA0BvgB,IACrC7/B,KAAKiqC,MAAMqW,6BAA4B,EAAO,gBAElDtgD,KAAKypC,SAAS,CAAErlC,QAASijC,IACzBrnC,KAAKqyD,SAAS,EAAE,EA8DQ78C,MAAOxV,KAAKkI,MAAM9D,QAClB2pB,KAAK,QAEL8wB,UAAU,aACV7J,MAAO,CAAEsF,MAAO,gBAtCvB,GA9DAgY,KACC,OAAdtyD,KAAKu4C,MAGqB,KAAvBv4C,KAAKkI,MAAM9D,QAsGTkuD,IACGxmB,gBAAA,OAAa6S,IAAMA,GAAS3+C,KAAKoyD,cAAc,GAAKzT,EAAK9S,SAAA,CACrDF,eAAC8Q,KAAG,CAAC7Q,UAAU,GAAEC,SACbC,gBAAC4Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SAAA,CACfF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,IAAMzL,UAAU,cAAaC,SAAC,0CAGvDF,eAAA,OAAKC,UAAU,GAAEC,SACbF,eAAC+e,GAAU,CACPz5B,KAAM,CACF,CACIzb,MAAO,MACPk9B,MAAO,OAEX,CACIl9B,MAAO,KACPk9B,MAAO,OAGfgS,eAAiBrd,IACbrnC,KAAKypC,SAAS,CAAE8oB,MAAOlrB,IACvBjW,eAAe0M,QAAQ,QAASuJ,GACtB,OAANA,IACAjW,eAAeoY,WAAW,QAC1BxpC,KAAKypC,SAAS,CAAEsoB,aAAc,KAClC,EAEJv8C,MAAOxV,KAAKkI,MAAMqqD,MAClBxkC,KAAK,QACL8wB,UAAU,aACV7J,MAAO,CAAEsF,MAAO,iBAKV,QAArBt6C,KAAKkI,MAAMqqD,OACR5mB,eAAC8Q,KAAG,CAAA5Q,SACAC,gBAAC4Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SAAA,CACfF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,IAAMzL,UAAU,cAAaC,SAAC,oCAGvDF,eAAA,OAAKC,UAAU,GAAEC,SACbF,eAACsX,KAAM,CACHrX,UAAU,QACVjZ,KAAK,QACLnd,MAAOxV,KAAKkI,MAAM6pD,aAClBlV,SAAWhwB,IACP7sB,KAAKypC,SAAS,CAAEsoB,aAAcllC,IAC9BuE,eAAe0M,QAAQ,OAAQjR,EAAE,EACnCgf,SAED7rC,KAAKkI,MAAMsqD,aACP9kB,QAAQ+kB,IAAQA,EAAGje,MAAMrnB,SAAU,aACnCD,KAAKulC,GACF9mB,eAAA,UAAQn2B,MAAOi9C,EAAGtkB,GAAGtC,SAAA,GAAAnqC,OACb+wD,EAAGja,UAAS,KAAA92C,OAAI+wD,EAAGha,SAAQ,MAAA/2C,OAAK+wD,EAAGje,MAAK,oBAtDtE,GApGRke,MACd,GAAwB,wBAApB1yD,KAAKyxB,YAAsD,OAAdzxB,KAAKu4C,KAClD,MAA8B,KAAvBv4C,KAAKkI,MAAM9D,QACf,CACH,MAAM,MAAEmuD,EAAK,aAAER,GAAiB/xD,KAAKkI,MACrC,MAAkB,OAAVqqD,GAA6B,QAAVA,GAAoC,KAAjBR,CAClD,GA+JSW,IACG5mB,gBAAA,OAAa6S,IAAMA,GAAS3+C,KAAKoyD,cAAc,GAAKzT,EAAK9S,SAAA,CACrDC,gBAAC2Q,KAAG,CAAC7Q,UAAU,GAAEC,SAAA,CACbC,gBAAC4Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SAAA,CACfF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,IAAMzL,UAAU,cAAaC,SAAC,2CAGvDF,eAAA,OAAKqJ,MAAO,CAAEwG,aAAc,IAAK3P,SAC7BF,eAAC2jB,GAAS,CACN9tC,IAAK,IACL6hC,IAAK,IACL9hC,KAAM,IACNguC,QAAuB,KAAd9kC,EAAmB,IAASqC,SAASrC,GAC9C+kC,kBApJfnoB,IACjBrnC,KAAKiqC,MAAMinB,4BAA4B7pB,GACvCrnC,KAAKiqC,MAAMknB,6BAA6B9pB,EAAE,EAmJVqoB,YAAY,SAIxB/jB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,eAAcC,SACxCF,eAAA,OAAKxT,IAAI,0BAA0B+a,IAAI,cAAc8B,MAAO,CAAEqF,OAAQ,YAG9E1O,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAAC6G,QAAI,CAACjtB,GAAIosC,EAASjmB,SAAA,CACfF,eAACW,KAAM,CAACV,UAAU,gBAAgBW,QAAQ,iBAAiBke,SAAsB,OAAZrmD,EAAgCynC,SAAC,cAGtGF,eAACW,KAAM,CAACV,UAAU,oBAAoBW,QAAQ,iBAAiBke,SAAsB,OAAZrmD,EAAgCynC,SAAC,kBA3BhH,QAoChB,EAjZV7rC,KAAKkI,MAAQ,CACTmhD,SAAS,EACTjlD,QAAS,GACTuuD,UAAW,GACXC,iBAAiB,EACjBC,gBAAgB,EAChBC,aAAc,KACdP,MAAO,GACPC,aAAc,GACdT,aAAc,GACdld,MAAM,GAGV,MAAM6G,EAAe,IAAI1D,gBAAgB9Z,OAAO6K,SAASkP,QACzDj4C,KAAKyxB,WAAaiqB,EAAaxD,IAAI,cACnCl4C,KAAKu4C,KAAOmD,EAAaxD,IAAI,QAC7Bl4C,KAAK+yD,gBAAsD,SAApCrX,EAAaxD,IAAI,eACxCl4C,KAAKoyD,cAAgB,GAErB90B,MAAM,eAAgB,CAClBC,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBmzC,WAAYv0C,KAAKyxB,aAErB+L,QAAS,CAAE,eAAgB,sBAE1BG,MAAMC,IACqB,MAApBA,EAASnyB,OAMbmyB,EAASC,OAAOF,MAAMT,IAClB,GAAkB,OAAdA,EAAGgM,YACA,CACH,MAAM8pB,EAAM91B,EAAG+1B,aAAa/lC,KACxBoP,IAAA,IAAC,UAAEkc,EAAS,SAAEC,EAAQ,MAAEjE,EAAK,GAAErG,GAAI7R,EAAA,MAAM,CACrC6R,KACAqK,YACAC,WACAjE,QACH,IAELx0C,KAAKypC,SAAS,CAAE+oB,aAAcQ,GAClC,KAjBAr0D,QAAQu0D,KAAK,6DAA+Dt1B,EAASnyB,OAkBvF,IAELsyB,OAAOC,IACJr/B,QAAQo4B,MAAM,gBAAiBiH,EAAI,GAE/C,CAEAwN,oBAEItN,OAAOiN,iBAAiB,UAAWnrC,KAAKwxD,eAExCtzB,OAAOnG,SAASoT,iBAAiB,gBAAiBnrC,KAAK4xD,SACvDuB,KAAgBC,KAAK,4CACrBD,KAAgBE,OAAO,CACnBC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,KAAK,IAETzzD,KAAKqyD,SAAS,GACyB,KAAnCryD,KAAKiqC,MAAMl4B,SAASoV,aACpBnnB,KAAKiqC,MAAMknB,6BAA6B,KACxCnxD,KAAKiqC,MAAMinB,4BAA4B,MAG3C,MAAMwC,EAAUtiC,eAAeC,QAAQ,QACjCkhC,EAAQnhC,eAAeC,QAAQ,SACrCrxB,KAAKypC,SAAS,CACV8oB,QACAR,aAAc2B,GAAoB,IAE1C,CAEAjoB,uBAEIvN,OAAOyW,oBAAoB,UAAW30C,KAAKwxD,eAE3CtzB,OAAOnG,SAAS4c,oBAAoB,gBAAiB30C,KAAK4xD,QAC9D,CAqCAS,SAASz+C,GAEL5T,KAAKypC,SAAS,CAAE71B,UAAS,KAErB,MAAM,WAAEkqC,GAAe5f,OAKvB,IAAIy1B,EAAU,EACd,GAAI7V,EAAa,IACb,OAAQlqC,GACJ,KAAK,EACD+/C,EAAU,EACV,MACJ,KAAK,EACDA,EAAU,IACV,MACJ,KAAK,EACDA,EAAU,IACV,MACJ,KAAK,EACDA,EAAU,SAMlB,OAAQ//C,GACJ,KAAK,EACD+/C,EAAU,EACV,MACJ,KAAK,EACDA,EAAU,IACV,MACJ,KAAK,EACDA,EAAU,IACV,MACJ,KAAK,EACDA,EAAU,IAMtBz1B,OAAO8e,SAAS,CACZlC,IAAK6Y,EACLC,SAAU,UACZ,GAEV,EA2OJrC,GAAS1V,aAAWC,YAAQgV,GAAiBC,GAAzBjV,CAA6CyV,KAE1D,MAAMsC,WAAgC5U,IAAMjV,UAC/CjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAehB2nB,QAAU,KACN,MAAMtnB,EAAI,IAAIzB,KACd7oC,KAAKiqC,MAAMihB,sBAAsB5gB,EAAEunB,cAAc,EACpD,KAEDnmB,OAAS,KACL,MAAMhM,EAActO,eAAeC,QAAQ,eACrC2gC,EAAStyB,GAA4B,mBAErCsrB,EAAqBA,CAAC18B,EAAKD,IACrBsgB,IACJ3uC,KAAK4xD,UACL5xD,KAAKiqC,MAAM+gB,mBAAmBrc,EAAOrgB,EAAKD,EAAK,EAiBjD86B,EAAQp7B,IACG,IAATA,GACA/tB,KAAKypC,SAAS,CAAEqqB,kBAAkB,GACtC,GAGE,UAAE59C,EAAS,SAAEE,EAAQ,MAAE/N,GAAUrI,KAAKiqC,MAAM17B,YAAYkC,SAE9D,OACIk7B,eAACooB,KAAI,CAACC,SAAUh0D,KAAKkI,MAAMmhD,QAAQxd,SAC/BC,gBAAA,OAAKF,UAAU,SAAQC,SAAA,CACnBF,eAACumB,KAAM,CAAArmB,SACHF,eAAA,SAAAE,SAAQmmB,EAAS,4BAGrBrmB,eAAC2M,GAAa,CAACpB,KAAK,EAAMyE,OAAO,IAEjChQ,eAACwmB,KAAS,CAACvmB,UAAU,OAAMC,SACrB7rC,KAAKkI,MAAM4rD,iBAqGTnoB,eAAA4H,YAAA,CAAA1H,SACIF,eAACkc,GAAiB,CACdsB,KAAOp7B,GAASo7B,EAAKp7B,GACrBglC,gBAAiB/yD,KAAK+yD,oBAvG9BpnB,eAAC8Q,KAAG,CAAC7Q,UAAU,cAAaC,SACxBC,gBAAC4Q,KAAG,CAAC9Q,UAAU,iBAAiBoJ,MAAO,CAAEqC,UAAW,GAAIxL,SAAA,CACpDF,eAAC8Q,KAAG,CACA7Q,UAAU,iBACVoJ,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAUI,aAAc,IAAK3P,SAEnEF,eAAA,OAAKC,UAAU,oBAAmBC,SAAC,yBAIvCC,gBAACgU,KAAI,CAACmU,YAAU,EAACzK,UAAWxpD,KAAKkI,MAAMshD,UAAW0K,SA1CxDvlB,IAClBA,EAAM6G,iBAGN,IAA6B,IAFhB7G,EAAMwlB,cAEVC,gBAGL,OAFAzlB,EAAM0lB,uBACNr0D,KAAKypC,SAAS,CAAE+f,WAAW,IAG/BxpD,KAAKypC,SAAS,CAAEqqB,kBAAkB,IAClC9zD,KAAKypC,SAAS,CAAE+f,WAAW,GAAO,EAgC+D3d,SAAA,CACrEC,gBAACgU,KAAKwU,MAAK,CAACtf,MAAO,CAAEwG,aAAc,IAAK3P,SAAA,CACpCF,eAACmU,KAAKyU,MAAK,CACPvf,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KACvC/N,UAAU,4CAA2CC,SACxD,eAGDF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACRiP,aAAa,aACb5oB,UAAU,6BACVkR,YAAY,wBACZtnC,MAAOU,EACP2mC,SAAUmO,EAAmB,WAAY,eAE7Crf,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,qCAI1CC,gBAACgU,KAAKwU,MAAK,CAACtf,MAAO,CAAEwG,aAAc,IAAK3P,SAAA,CACpCF,eAACmU,KAAKyU,MAAK,CACPvf,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KACvC/N,UAAU,iDAAgDC,SAC7D,cAGDF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACRiP,aAAa,cACb5oB,UAAU,6BACVkR,YAAY,uBACZtnC,MAAOY,EACPymC,SAAUmO,EAAmB,WAAY,cAE7Crf,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,oCAI1CC,gBAACgU,KAAKwU,MAAK,CAACtf,MAAO,CAAEwG,aAAc,IAAK3P,SAAA,CACpCF,eAACmU,KAAKyU,MAAK,CACPvf,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KACvC/N,UAAU,iDAAgDC,SAC7D,UAGDF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACRx3B,KAAK,QACLymC,aAAa,QAEb5oB,UAAU,6BACVkR,YAAY,2BACZtnC,MAAOnN,EACPw0C,SAAUmO,EAAmB,WAAY,WAE7Crf,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,wCAGtCF,eAAA,OACIqJ,MAAO,CAAEoC,SAAU,GAAIjC,MAAO,UAAWkC,UAAW,GACpDzL,UAAU,4CAA2CC,SACxD,6CAILF,eAAA,OAAKC,UAAU,4CAA2CC,SACtDF,eAACW,KAAM,CACHme,SAAoB,KAAVpiD,EACVujC,UAAU,kBACVW,QAAQ,iBACRxe,KAAK,SAAQ8d,SAChB,eAILC,gBAAA,OAAKF,UAAU,qBAAoBC,SAAA,CAAC,2BAEhCF,eAAA,QACIa,QAASA,IACJtO,OAAO6K,SAASQ,KAAO,+BAAiCvpC,KAAKyxB,WACjEoa,SACJ,6BAiB1B,EA1KX7rC,KAAKkI,MAAQ,CACTmhD,SAAS,EACTyK,kBAAkB,EAClBtK,WAAW,GAGf,MAAM9N,EAAe,IAAI1D,gBAAgB9Z,OAAO6K,SAASkP,QAEzDj4C,KAAKyxB,WAAaiqB,EAAaxD,IAAI,cACnCl4C,KAAKu4C,KAAOmD,EAAaxD,IAAI,QAC7Bl4C,KAAK00D,SAAWzV,IAAMC,WAC1B,EC5eW,SAASyV,KAEpB,OACI7oB,gBAAA,OAAKF,UAAU,aAAYC,SAAA,CACvBF,eAAA,MAAAE,SAAI,WAGJC,gBAAA,OAAKrrC,GAAG,WAAWmrC,UAAU,2BAA0BC,SAAA,CAEnDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,kFAAiF,IAACF,eAAA,SAAM,odAG/FA,eAAA,OAAKC,UAAU,SACfD,eAAA,KAAAE,SAAG,qDAAoDF,eAAA,SAAM,uHAG7DG,gBAAA,MAAAD,SAAA,CACIF,eAAA,MAAAE,SAAI,6EACJF,eAAA,MAAAE,SAAI,oBACJF,eAAA,MAAAE,SAAI,sCACJF,eAAA,MAAAE,SAAI,+BACJF,eAAA,MAAAE,SAAI,+CACJF,eAAA,MAAAE,SAAI,gEACJF,eAAA,MAAAE,SAAI,sBACJF,eAAA,MAAAE,SAAI,qGAGRC,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC/BF,eAAA,KAAAE,SAAG,+CAA8CF,eAAA,SAAM,yfAGvDG,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC/BF,eAAA,KAAAE,SAAG,yBAAwBF,eAAA,SAAK,0LAUhD,CDqmBAkoB,GAA0BhY,aACtBC,YAAQgV,GAAiBC,GAAzBjV,CAA6C+X,K,cEhpBjD,MAAMe,GAAWtnC,EAAQ,KAEV,MAAMunC,WAAsB7qB,YAEzCjqC,YAAYkqC,GACVC,MAAMD,GAAM,KAOduB,kBAAoB,KAClBxrC,KAAK80D,mBACL90D,KAAK+0D,QAAUjrB,YAAY9pC,KAAK80D,iBAAkB,IAAU,EAC7D,KAEDrpB,qBAAuB,KACrB8S,cAAcv+C,KAAK+0D,QAAQ,EAC5B,KAEDD,iBAAmB,KACjB,IAAI3jC,EAAQC,eAAeC,QAAQ,WACnCiM,MAAM,6BAA8B,CAClCC,OAAQ,MACRC,QAAS,CACPC,cAAe,UAAYtM,EAC3BuM,MAAO,cAERC,MAAKC,IACkB,MAApBA,EAASnyB,OAIbmyB,EAASC,OAAOF,MAAKT,IACI,MAApBA,EAAG23B,eAAqD,IAA5B33B,EAAG23B,cAAcjnC,QAC9C5tB,KAAKypC,SAAS,CAACurB,cAAe,KAAK,IAAMh1D,KAAKypC,SAAS,CAACurB,cAAe93B,EAAG23B,iBAC5E,IANAl2D,QAAQC,IAAI,gDAAkDg/B,EAASnyB,OAOvE,GACF,EACH,KAEDwpD,wBAA0B,CAACC,EAAc9mC,KACvC,IAAIgK,EAAO,CACT+8B,eAAgBD,EAAaz0D,GAC7B20D,OAAQ,IAAIvsB,MAEV1X,EAAQC,eAAeC,QAAQ,WACnCiM,MAAM,gCAAiC,CACnCC,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAUg3B,GACrBoF,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MAAKC,IACJ,GAAwB,MAApBA,EAASnyB,OAGN,CACL,IAAI4pD,EAAYT,GAAS50D,KAAKkI,OAC9BmtD,EAAUL,cAAcpmC,OAAOR,EAAG,GAClCpuB,KAAKypC,SAAS,CAACurB,cAAeK,EAAUL,eAC1C,MANEr2D,QAAQC,IAAI,gDAAkDg/B,EAASnyB,OAMzE,GACA,EA1DJzL,KAAK+0D,aAAUlnC,EACf7tB,KAAKkI,MAAQ,CACX8sD,cAAe,GAEnB,CA0DAtpB,SACE,IAAI4pB,EAAoBA,CAACJ,EAAc9mC,IAC9BiZ,GAAKrnC,KAAKi1D,wBAAwBC,EAAc9mC,GAGzD,OACEud,eAAA,OAAKC,UAAU,+BAA8BC,SACN,IAApC7rC,KAAKkI,MAAM8sD,cAAcpnC,QACxB5tB,KAAKkI,MAAM8sD,cAAc9nC,KAAI,CAACE,EAAGgB,IAC/B0d,gBAACypB,KAAK,CACNra,QAAWoa,EAAkBloC,EAAGgB,GAChCwd,UAAU,sBAAqBC,SAAA,CAE3BC,gBAACypB,KAAMtpB,OAAM,CAAAJ,SAAA,CACTF,eAAA,OAAKC,UAAU,qBAAqBzT,IAAKmR,GAAQ,0BAAA5nC,OAA6B4nC,IAAa,YAAa4J,IAAI,WAC5GvH,eAAA,KAAGC,UAAU,2BAA0BC,SAAC,eAE5CF,eAAC4pB,KAAMnpB,KAAI,CAAAP,SAAEze,EAAEooC,aAM7B,EC3Ea,MAAMC,WAAiBzrB,YAAUjqC,cAAA,SAAA4tB,WAAA,KAK5C+d,OAAS,IAEDI,gBAAA,OAAKF,UAAU,sBAAqBC,SAAA,CAChCF,eAAA,MAAIC,UAAU,cAAaC,SAAC,oBAE5BC,gBAAA,MAAAD,SAAA,CACIF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eACnDF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,QAAO,eAC3CF,eAAA,KAAGC,UAAU,YAAYrC,KAAK,MAAKsC,SAAC,WAEhCC,gBAAA,OAAKrrC,GAAG,WAAWmrC,UAAU,2BAA0BC,SAAA,CAEnDF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,QACZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,iCAAgC,8KAEvCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,cAAa,kGAEpBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,YAAW,sKAElBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,YAAW,4LAElBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,sBAAqB,iCAE5BC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,cAAa,qGAGpBF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,QAEZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,sBAAqB,8WAI5BC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,6BAA4B,oOAEnCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,mBAAkB,iQAEzBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,iBAAgB,8RAGvBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,KAAAE,SAAG,iCAAgC,0PAEvCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,cAAa,6DAEtCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,eAAc,+EAEvCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,iMAE7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,uMAE7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,qPAExCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,aAAY,oGAErCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,SAAQ,oKAEjCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,uBAAsB,sGAG/CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,0CAAyC,6KAGlEC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,YAAW,qKAGpCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,kTAG1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oBAAmB,wIAG5CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,sBAAqB,uKAG9CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,wVAIxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,0BAAyB,8HAGlDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,kUAG3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,4VAG1CF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,SAEZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gCAA+B,kpBAGxDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iCAAgC,4FAGzDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,+IAG3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iBAAgB,oIAGzCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,cAAa,2gBAE1CC,gBAAA,MAAAD,SAAA,CACYF,eAAA,MAAAE,SAAI,wEACJF,eAAA,MAAAE,SAAI,+JACJF,eAAA,MAAAE,SAAI,8OACJF,eAAA,MAAAE,SAAI,wHAGZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oBAAmB,sIAG5CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,uEAG1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,wbAG3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,YAAW,2MAGpCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,qKAGxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iBAAgB,2JAGzCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,cAAa,0IAGtCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oBAAmB,uHAG5CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,yBAAwB,0FAGjDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,WAAU,mRAGnCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iBAAgB,4JAGzCF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,SAEZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,mNAGxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,+BAA8B,ySAIvDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,eAAc,6HAKvCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,sBAAqB,4CAK9CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kCAAiC,uQAK1DC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,0BAAyB,6GAKlDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,wCAK1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iBAAgB,yKAKzCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wCAAuC,iLAKhEC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,cAAa,kNAKtCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,6FAQ7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,WAAU,8HAQnCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,4BAA2B,2NAQpDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,yBAAwB,uHAIjDF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,UAKZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,+KAQxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,8GAQ3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oCAAmC,qGAQ5DC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,2BAA0B,qIAQnDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,UAAS,oGAQlCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,oGAQ1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,6CAQ7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oBAAmB,wFAQ5CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,+BAA8B,+MAUvDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,UAAS,mLAIlCF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,UAKZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,YAAW,kMAQpCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,cAAa,0GAQtCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qCAAoC,+LAQ7DC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,mOAQ7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,8BAA6B,oGAQtDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wBAAuB,yRAQhDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,sBAAqB,gIAQ9CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wBAAuB,8EAQhDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,kDAQ3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wBAAuB,0FAQhDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,mBAAkB,wFAQ3CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,0BAAyB,8FAQlDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,uBAAsB,qPAI/CF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,SAKZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,4HAQ1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,uBAAsB,wLAQ/CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,SAAY,2HAQrCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,oBAAmB,6XAU5CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,UAAS,kIAQlCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wBAAuB,yLAQhDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,sCAAqC,mMAQ9DC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,wIAQxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,sBAAqB,iJAI9CF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,SAMZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,qBAAoB,gQAQ7CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,gBAAe,mHAQxCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,4BAA2B,yFAQpDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,0BAAyB,qKAQlDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,UAAS,kEAQlCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,6BAAgC,0PAKzDC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,4BAA2B,0PAIpDF,eAAA,MAAIlrC,GAAG,KAAIorC,SAAC,UAKZC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,kBAAiB,kIAK1CC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,eAAc,iMAKvCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,iBAAgB,wNAQzCC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAACF,eAAA,KAAAE,SAAG,wBAAuB,iFAO/D,CA3kBDL,oBACIxrC,KAAKiqC,MAAMohB,yBAAyB,WACxC,EA4kBJoK,GAAW5Z,aAAWC,aA9lBG5zC,IAChB,CACLqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,SAChBmvC,QAAQ,MAIgBjV,IAAQ,CAClC2iB,yBAA0BA,CAAC9pC,EAAMoF,KAC7B+hB,EAASyd,GAAyB5kC,GAAa,KAolB/Bu6B,CAA6C2Z,KChlBnE,MAAMC,WAAmB1rB,YAAWjqC,cAAA,SAAA4tB,WAAA,KAEhC6d,kBAAoB,KAChB,IAAImqB,EAAarsB,KACW,wBAAxBA,OACAqsB,EAAavkC,eAAeC,QAAQ,eAEpC6M,OAAO6K,SAASQ,KAAKpc,SAAS,eAC9BwoC,EAAW,2DAGfz3B,OAAO2M,YAAY,KACnB3M,OAAO9M,eAAeoY,WAAW,WACjCtL,OAAO9M,eAAeoY,WAAW,SACjCtL,OAAO9M,eAAeoY,WAAW,iBACjCtL,OAAO9M,eAAeoY,WAAW,SACjCtL,OAAO9M,eAAeoY,WAAW,eAEjCtL,OAAO6K,SAASQ,KAAOrL,OAAO6K,SAASQ,KAAQosB,CAAU,GACtD,IAAK,EACX,KACDjqB,OAAS,IAIDC,eAAA,OAAKlrC,GAAG,UAAUmrC,UAAU,8BAA6BC,SACjDF,eAACkf,KAAO,CAACC,UAAU,YAIlC,EAMUhP,oBAhDU5zC,IACd,CACHqG,YAAarG,EAAMqG,gBAKCm6B,IAAQ,CAEnC,IAuC2D,KAAM,CAAE4iB,YAAY,GAAjExP,CAAyE4Z,I,OCtDxF,MAAME,GACQ,WADRA,GAEgB,mBAFhBA,GAGM,SAHNA,GAIO,UAJPA,GAKY,eAIZC,GACS,YADTA,GAEiB,oBAFjBA,GAGU,aAHVA,GAIY,eAJZA,GAKM,SALNA,GAMY,cANZA,GAOW,cAPXA,GAQc,mBARdA,GASQ,WAIDC,GAAqB,CAC9BC,SAAU,EACVC,UAAW1sB,GAA6B9P,UACxCy8B,kBAAmB3sB,GAA6BlvB,UAChD87C,iBAAkB5sB,GAA6Bv3B,SAC/CokD,OAAQ,IACRC,WAAY9sB,GAA6B5zB,OACzC2gD,aAAc/sB,GAA6B5zB,OAAS,EACpD4gD,QAAS,IACTC,OAAQjtB,GAA6B/uB,OACrCi8C,aAAcltB,GAA6B9uB,YAC3Ci8C,YAAantB,GAA6BhwB,YAC1Co9C,aAAc,IACdC,eAAgBrtB,GAA6B7uB,cAC7Cm8C,SAAUttB,GAA6B1zB,UAI9BihD,GAAuB,CAChCd,SAAU,KACVC,UAAW1sB,GAA6B13B,WACxCqkD,kBAAmB3sB,GAA6B13B,WAAa,EAC7DskD,iBAAkB5sB,GAA6B13B,WAAa,EAC5DukD,OAAQ,KACRC,WAAY9sB,GAA6B13B,WAAa,EACtDykD,aAAc/sB,GAA6B13B,WAAa,EACxD0kD,QAAS,KACTC,OAAQjtB,GAA6B13B,WAAa,EAClD4kD,aAAcltB,GAA6B13B,WAAa,EACxD6kD,YAAantB,GAA6B13B,WAAa,EACvD8kD,aAAc,KACdC,eAAgBrtB,GAA6B13B,WAAa,EAC1DglD,SAAUttB,GAA6B13B,WAAa,GAIlDklD,GAAsB,8BAGfC,GAAuB,CAChC,CACIhpC,KAAM6nC,GACNn1D,GAAIq1D,GAAmBC,SACvB7nC,KAAK,GAADxsB,OAAKo1D,GAAmB,cAC5BjpB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,cAC5Br2D,GAAIq1D,GAAmBE,WAE3B,CACIrgB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,cAC5Br2D,GAAIq1D,GAAmBG,qBAInC,CACIloC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,aAC5Br2D,GAAIq1D,GAAmBI,kBAE3B,CACInoC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,WAC5Br2D,GAAIq1D,GAAmBK,OACvBtoB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,WAC5Br2D,GAAIq1D,GAAmBM,YAE3B,CACIzgB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B5zB,OAAS,GACtEjV,GAAIq1D,GAAmBO,gBAInC,CACItoC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,WAC5Br2D,GAAIq1D,GAAmBQ,QACvBzoB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,WAC5Br2D,GAAIq1D,GAAmBS,QAE3B,CACI5gB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,gBAC5Br2D,GAAIq1D,GAAmBU,cAE3B,CACI7gB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,gBAC5Br2D,GAAIq1D,GAAmBW,eAInC,CACI1oC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,kBAC5Br2D,GAAIq1D,GAAmBY,aACvB7oB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,kBAC5Br2D,GAAIq1D,GAAmBa,gBAE3B,CACIhhB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,aAC5Br2D,GAAIq1D,GAAmBc,aAO1BI,GAAyB,CAClC,CACIjpC,KAAM6nC,GACNn1D,GAAIo2D,GAAqBd,SACzB7nC,KAAK,GAADxsB,OAAKo1D,GAAmB,eAC5BjpB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,eAC5Br2D,GAAIo2D,GAAqBb,WAE7B,CACIrgB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OACxB4nC,GAA6B13B,WAAa,GAE9CnR,GAAIo2D,GAAqBZ,qBAIrC,CACIloC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBX,kBAE7B,CACInoC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBV,OACzBtoB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBT,YAE7B,CACIzgB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBR,gBAIrC,CACItoC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OACxB4nC,GAA6B13B,WAAa,GAE9CnR,GAAIo2D,GAAqBP,QACzBzoB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBN,QAE7B,CACI5gB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBL,cAE7B,CACI7gB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBJ,eAIrC,CACI1oC,KAAM6nC,GACN1nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBH,aACzB7oB,KAAM,CACF,CACI8H,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBF,gBAE7B,CACIhhB,KAAMkgB,GACN3nC,KAAK,GAADxsB,OAAKo1D,GAAmB,KAAAp1D,OAAI4nC,GAA6B13B,WAAa,GAC1EnR,GAAIo2D,GAAqBD,aC8E1BK,OAzSf,SAAyBhtB,GACrB,MAAMz7B,EAAWijC,aAAavpC,GAAUA,EAAMsG,WACxCD,EAAckjC,aAAavpC,GAAUA,EAAMqG,cAE3CgT,EAAOmwB,mBAAQ,IAAMljC,EAASoY,UAAUrF,MAAM,CAAC/S,IAC/C0oD,EAAexlB,mBAAQ,IAAMnwB,GAAQ+nB,GAA6B13B,YAAY,CAAC2P,IAC/E41C,EAAUzlB,mBAAQ,IAChBwlB,EACOL,GAEJf,IACR,CAACoB,IAEEE,EAAY1lB,mBAAQ,IAClBwlB,EACOF,GAEJD,IACR,CAACG,IAIEG,EAAkBC,uBAAa/1C,IACjC,MAAMg2C,EAAc,CAChB,CACI92D,GAAI02D,EAAQpB,SACZyB,OAAQL,EAAQjB,kBAEpB,CACIz1D,GAAI02D,EAAQjB,iBACZsB,OAAQL,EAAQhB,QAEpB,CACI11D,GAAI02D,EAAQhB,OACZqB,OAAQL,EAAQb,SAEpB,CACI71D,GAAI02D,EAAQb,QACZkB,OAAQL,EAAQT,cAEpB,CACIj2D,GAAI02D,EAAQT,aACZc,OAAQxmB,OAAOymB,mBAIvB,IAAK,MAAM,GAAEh3D,EAAE,OAAE+2D,KAAYD,EACzB,GAAIh2C,EAAO9gB,GAAM8gB,EAAOi2C,EACpB,OAAO/2D,EAIf,OAAO02D,EAAQpB,QAAQ,GACxB,CAACoB,EAAQT,aAAcS,EAAQb,QAASa,EAAQhB,OAAQgB,EAAQpB,SAAUoB,EAAQjB,oBAE9EwB,EAAmBC,GAAwBvmB,oBAAS,KACvD,GAAI7vB,IAAS41C,EAAQjB,iBACjB,MAAO,CACP,CAACiB,EAAQpB,WAAW,EACpB,CAACoB,EAAQjB,mBAAmB,EAC5B,CAACiB,EAAQhB,SAAS,EAClB,CAACgB,EAAQb,UAAU,EACnB,CAACa,EAAQT,eAAe,GAG5B,MAAMkB,EAAeP,EAAgB91C,GASrC,MARqB,CACjB,CAAC41C,EAAQpB,WAAW,EACpB,CAACoB,EAAQjB,mBAAmB,EAC5B,CAACiB,EAAQhB,SAAS,EAClB,CAACgB,EAAQb,UAAU,EACnB,CAACa,EAAQT,eAAe,EACxB,CAACkB,IAAe,EAED,IAGjBC,EAAkBP,uBACnBQ,IACG,GAAIZ,EAAc,CACd,MAAQ,CAACY,GAAU1H,GAAc7hD,EAAYqD,WAAWqE,eACxD,IAAKm6C,EAAW,OAAO,CAC3B,KAAO,CACH,MAAQ,CAAC0H,GAAU1H,GAAc7hD,EAAYkC,SAASwF,eACtD,IAAKm6C,EAAW,OAAO,CAC3B,CAEA,OAAO,CAAI,GAEf,CAAC7hD,EAAYkC,SAASwF,eAAgB1H,EAAYqD,WAAWqE,eAAgBihD,IAG3Ea,EAAoBT,uBAAY,CAACjwB,EAAG5mC,KACtC4mC,EAAEmO,iBACFmiB,GAAsBzvB,IAAI,IAAWA,EAAM,CAACznC,IAAMynC,EAAKznC,MAAO,GAC/D,IAEGu3D,EAAsBtmB,mBAAQ,IAAMmmB,EAAgB,aAAa,CAACA,IAClEI,EAAuBvmB,mBAAQ,IAAMmmB,EAAgB,cAAc,CAACA,IACpEK,EAAsBxmB,mBAAQ,IAAMmmB,EAAgB,YAAY,IAAQ,CAACA,IACzEM,EAAwBzmB,mBAAQ,IAAMmmB,EAAgB,eAAe,CAACA,IACtEO,EAAyB1mB,mBAAQ,IAAMmmB,EAAgB,gBAAgB,CAACA,IACxEQ,EAAoB3mB,mBAAQ,IAAMmmB,EAAgB,UAAU,IAAQ,CAACA,IACrES,EAAyB5mB,mBAAQ,IAAMmmB,EAAgB,eAAe,IAAQ,CAACA,IAC/EU,EAAyB7mB,mBAAQ,IAAMmmB,EAAgB,eAAe,IAAQ,CAACA,IAC/EW,EAA2B9mB,mBAAQ,IAAMmmB,EAAgB,iBAAiB,IAAQ,CAACA,IACnFY,EAAsB/mB,mBAAQ,IAAMmmB,EAAgB,YAAY,IAAQ,CAACA,IAEzEa,EAAgBpB,uBAAY,CAAC72D,EAAIk4D,KACnC,MAAMC,EAAeD,EAAgBllB,OAAOvrC,GAAUA,IAChD2wD,EAAgBF,EAAgBtT,MAAMn9C,GAAUA,IAEtD,OAAI0wD,EACO,CACHvgB,KACI1M,eAAA,OAAKC,UAAU,oBAAmBC,SAC9BF,eAAA,OACIxT,IAAI,4CACJ+a,IAAI,gBAIhB4lB,UAAW,WAGfD,EACO,CACHxgB,KACI1M,eAAA,OAAKC,UAAU,mBAAkBC,SAC7BF,eAAA,OAAKC,UAAU,sBAGvBktB,UAAW,WAGZ,CACHzgB,KAAM1M,eAAA,OAAKC,UAAU,qBACrBktB,UAAW,UACd,GACF,IAEGC,EAAiBzB,uBACnBh7B,IAAa,IAAZ,GAAE77B,GAAI67B,EACH,MAAM08B,EAAgB,CAClB,CAAC7B,EAAQpB,UAAW,CAACiC,EAAqBC,GAC1C,CAACd,EAAQjB,kBAAmB,CAACgC,GAC7B,CAACf,EAAQhB,QAAS,CAACgC,EAAuBC,GAC1C,CAACjB,EAAQb,SAAU,CAAC+B,EAAmBC,EAAwBC,GAC/D,CAACpB,EAAQT,cAAe,CAAC8B,EAA0BC,KAGjD,KAAEpgB,GAASqgB,EAAcj4D,EAAIu4D,EAAcv4D,IAAO,IACxD,OAAO43C,CAAI,GAEf,CACI8e,EAAQpB,SACRoB,EAAQjB,iBACRiB,EAAQhB,OACRgB,EAAQb,QACRa,EAAQT,aACRsB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IAIFO,EAAgB3B,uBACjB72D,IACG,MAAMu4D,EAAgB,CAClB,CAAC7B,EAAQpB,UAAW,CAACiC,EAAqBC,GAC1C,CAACd,EAAQjB,kBAAmB,CAACgC,GAC7B,CAACf,EAAQhB,QAAS,CAACgC,EAAuBC,GAC1C,CAACjB,EAAQb,SAAU,CAAC+B,EAAmBC,EAAwBC,GAC/D,CAACpB,EAAQT,cAAe,CAAC8B,EAA0BC,KAGjD,UAAEK,GAAcJ,EAAcj4D,EAAIu4D,EAAcv4D,IAAO,IAC7D,OAAOq4D,CAAS,GAEpB,CACI3B,EAAQpB,SACRoB,EAAQjB,iBACRiB,EAAQhB,OACRgB,EAAQb,QACRa,EAAQT,aACRsB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IAIFQ,EAAgB5B,uBACjB72D,IACG,MAAM04D,EAAWjC,EAAe5tB,GAA6B13B,WAAa03B,GAA6B9P,UACjG4/B,EAAmBlC,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B9P,UAAY,EACzHznB,EAAWmlD,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6Bv3B,SACrGsI,EAAa68C,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B5zB,OACvG2jD,EAAcnC,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B5zB,OAAS,EACjH6E,EAAS28C,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B/uB,OACnG++C,EAAcpC,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B9uB,YACxGlB,EAAc49C,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6BhwB,YACxGigD,EAAgBrC,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B7uB,cAC1G7E,EAAWshD,EAAe5tB,GAA6B13B,WAAa,EAAI03B,GAA6B1zB,SAe3G,MAbyB,CACrB,CAACuhD,EAAQnB,WAAYz0C,IAAS43C,EAC9B,CAAChC,EAAQlB,mBAAoB10C,IAAS63C,EACtC,CAACjC,EAAQqC,UAAWj4C,IAASxP,EAC7B,CAAColD,EAAQf,YAAa70C,IAASlH,EAC/B,CAAC88C,EAAQd,cAAe90C,IAAS83C,EACjC,CAAClC,EAAQZ,QAASh1C,IAAShH,EAC3B,CAAC48C,EAAQX,cAAej1C,IAAS+3C,EACjC,CAACnC,EAAQV,aAAcl1C,IAASjI,EAChC,CAAC69C,EAAQR,gBAAiBp1C,IAASg4C,EACnC,CAACpC,EAAQP,UAAWr1C,IAAS3L,GAGTnV,GAClB,CAAE00C,MAAO,UAAWwE,WAAY,KAChC,CAAExE,MAAO,UAAWwE,WAAY,IAAK,GAE/C,CACIud,EACA31C,EACA41C,EAAQZ,OACRY,EAAQlB,kBACRkB,EAAQf,WACRe,EAAQP,SACRO,EAAQV,YACRU,EAAQX,aACRW,EAAQd,aACRc,EAAQqC,SACRrC,EAAQR,eACRQ,EAAQnB,YAIhB,OACIrqB,eAAA,OAAKC,UAAU,sBAAqBC,SAC/BurB,EAAUlqC,KAAI,CAACygB,EAAM/5B,KAClB,MAAM6lD,EAA0B9rB,EAAKltC,KAAO02D,EAAQjB,kBAAoB30C,IAAS41C,EAAQjB,iBACzF,OACIpqB,gBAAA,OAAAD,SAAA,CACIC,gBAAA,OAAKF,UAAU,iBAAiBoJ,MAAO,CAAEwG,aAAc,QAAS3P,SAAA,CAC5DF,eAACotB,EAAc,CAACt4D,GAAIktC,EAAKltC,KACzBkrC,eAAA,OAAKqJ,MAAO,CAAEE,WAAY,QAASrJ,SAC/BF,eAACgH,QAAI,CACD/G,UAAU,iBACVlmB,GAAIioB,EAAKzf,KACTse,QAAUnF,GAAMsG,EAAKltC,KAAO02D,EAAQjB,kBAAoB6B,EAAkB1wB,EAAGsG,EAAKltC,IAClFu0C,MAAO,CAAEG,MAAOskB,IAA4BvB,EAAsB,UAAYe,EAActrB,EAAKltC,KAAMorC,SAEtG8B,EAAK5f,YAIjB2pC,EAAkB/pB,EAAKltC,KACpBkrC,eAAA,OAAKC,UAAU,qBAAoBC,SAC9B8B,EAAKE,KAAK3gB,KAAI,CAACwsC,EAASC,IACrBhuB,eAAA,OAAoBC,UAAU,gBAAeC,SACzCF,eAACgH,QAAI,CACDjtB,GAAIg0C,EAAQxrC,KACZ8mB,MAAO,CACHoC,SAAU,OACVuC,WAAYuf,EAAcQ,EAAQj5D,IAAIk5C,WACtCxE,MAAO+jB,EAAcQ,EAAQj5D,IAAI00C,OACnCtJ,SAED6tB,EAAQ/jB,QATPgkB,SAjBhB/lD,EAgCJ,KAK1B,E,6HCtRA,MAAMgmD,WAAwB5vB,YAyB1BjqC,YAAYkqC,GACRC,MAAMD,GAAO,KAxBjB4vB,iBAAmB,CAAC/qC,EAAG2N,EAAGq9B,EAAOC,KACnB,KAANjrC,IACAA,EAAI,cAEE,KAAN2N,IACAA,EAAI,cAEE,eAAN3N,GAA4B,eAAN2N,IACtBA,EAAI,cAER,IAAIu9B,EAAK,IAAInxB,KAAK/Z,GAClBkrC,EAAKA,EAAGC,UACR,IAAIC,EAAK,IAAIrxB,KAAKpM,GAIlB,OAHAy9B,EAAKA,EAAGD,UAGM,QAAVH,EACQE,EAAKE,EAAM,GAAK,EAAI,EAEpBF,EAAKE,EAAM,EAAI,GAAK,CAChC,EACH,KAuEDC,eAAkBC,IACd,IAAIC,EAAU,GACG,UAAbD,GAAiE,UAAzCp6D,KAAKiqC,MAAM17B,YAAY0C,gBAC/CmpD,EAAW,YAEf,IACI,OAAQA,GACJ,IAAK,WACDC,EAAUr6D,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAY,IAClDlW,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SACpC,MACJ,IAAK,aACDikD,EAAUr6D,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAY,IACpDlW,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,SACtC,MACJ,IAAK,QACDikD,EAAUr6D,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAY,IAClDlW,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,SAAW,QAAUpW,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAY,IACnGlW,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,SACtC,MACJ,QACIikD,EAAUD,EAGtB,CAAE,MAAO9yB,GACL+yB,EAAUD,CACd,CACA,OAAOC,CAAO,EACjB,KAEDC,cAAgB,CAACviC,EAAUnkB,KAChB,CACHpF,SAAUm9B,eAACkf,KAAO,CAACjf,UAAU,oBAAoBjZ,KAAK,KAAK4Z,QAAQ,UAAUue,UAAa/yB,EAASvpB,SAAW,GAAOupB,EAASvpB,SAAW,IAAQ,SAAW,KAC5JupB,SAAUA,EAASre,KACnBmJ,QAASkV,EAASlV,QAClBw3C,QAASr6D,KAAKm6D,eAAepiC,EAASsiC,SACtCE,QAASxiC,EAASwiC,QAAQhwB,iBAC1BiwB,OAAQ,SACR5mD,MAAOA,EACPnT,GAAIs3B,EAASt3B,KAEpB,KACDg6D,OAAS,KACL,IAAItpC,EAAQC,eAAeC,QAAQ,WACnCiM,MAAM,kBAAmB,CACrBC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MACCC,IACI,GAAwB,MAApBA,EAASnyB,OAKT,OAJA9M,QAAQC,IAAI,gDACRg/B,EAASnyB,aACbyyB,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAK/DR,EAASC,OAAOF,MAAKT,IAEjB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQC,IAAI,UAAYs+B,EAAGiM,MAC3BjL,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,QAExD,CACH,IAAIs8B,EAAOx9B,EAAGy9B,KAAKztC,KAAIxuB,IAEnB,IAAIk8D,EAAK,IAAI/xB,KAAKS,GAAe5qC,EAAEm8D,WAEnC,MAAO,CAAEC,KAAMrsC,KAAKC,SAAUjuB,GAAI/B,EAAEyvC,GAAIz0B,KAAMhb,EAAEq8D,SAAUl4C,QAASnkB,EAAEs8D,QAASC,KAAMv8D,EAAEw8D,KAAMb,QAAS37D,EAAEy8D,QAASZ,QAASK,EAAGrwB,eAAe,SAAU/7B,SAAU,EAAG,IAEtKxO,KAAKypC,SAAS,CAAE/V,UAAWgnC,GAC/B,IAEF,IAGL38B,OAAM,SAAUC,GACbr/B,QAAQC,IAAI,gBAAiBo/B,EACjC,GAAE,EACT,KACDw8B,OAAU/5D,IACN,IAAI0wB,EAAQC,eAAeC,QAAQ,WAEnCiM,MAAM,mBAAqB78B,EAAI,CAC3B88B,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MACCC,IACI,GAAwB,MAApBA,EAASnyB,OAKT,OAJA9M,QAAQC,IAAI,gDACRg/B,EAASnyB,QACbyyB,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,SAC3Dp+B,KAAKypC,SAAS,CAAEC,MAAM,IAI1B9L,EAASC,OAAOF,MAAKT,IAEC,OAAdA,EAAGgM,SACHhL,OAAOnG,SAASoG,cAAc,IAAIC,MAAM,kBAAmB,IAC3Dz/B,QAAQC,IAAI,UAAYs+B,EAAGiM,OAG/BnpC,KAAKypC,SAAS,CAAEC,MAAM,IACtB1pC,KAAKy6D,QAAQ,GACf,IAGL18B,OAAM,SAAUC,GACbh+B,KAAKypC,SAAS,CAAEC,MAAM,IACtB/qC,QAAQC,IAAI,gBAAiBo/B,EACjC,GAAE,EACT,KACDo9B,SAAW,CAAC36D,EAAImT,KACZ,IAEIynD,EAFAlqC,EAAQC,eAAeC,QAAQ,WAG/BqpC,EAAO16D,KAAKkI,MAAMwrB,UACtBgnC,EAAK9mD,GAAS,IAAK8mD,EAAK9mD,GAAQknD,KAAMrsC,KAAKC,SAAUlgB,SAAU,GAC/DxO,KAAKypC,SAAS,CAAE/V,UAAWsU,MAAM7jB,KAAKu2C,KACtC16D,KAAKypC,UAAU6xB,IAAS,CACpBC,WAAY,IAAID,EAAUC,WAAY96D,OAE1C68B,MAAM,qBAAuB78B,EAAI,CAC7B88B,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAEZC,MAAKC,GACoB,MAApBA,EAASnyB,QACTzL,KAAKypC,UAAU6xB,IAAS,CACpBC,WAAYD,EAAUC,WAAW7tB,QAAQ8tB,GAAcA,IAAc/6D,aAEzE+9B,MAAM,6DAIV68B,EAAcz9B,EAASJ,QAAQ0a,IAAI,uBAAuB72C,MAAM,KAEzDu8B,EAASxF,QAEfuF,MAAKvF,IACF,IAAKA,EACD,MAAM,IAAI2U,MAAM,gBAGpB,MAAM0uB,EAASrjC,EAAKsjC,YAEpB,OAAO,IAAIC,eAAe,CACtBpiC,MAAMqiC,GAGF,SAASC,IACL,OAAOJ,EAAOK,OAAOn+B,MAAKrB,IAAsB,IAArB,KAAEy/B,EAAI,MAAEvmD,GAAO8mB,EAEtC,IAAIy/B,EAOJ,OADAH,EAAWI,QAAQxmD,GACZqmD,IANHD,EAAWK,OAMF,GAErB,CAdOJ,IAgBb,IAELl+B,MAAKu+B,GAAU,IAAIC,SAASD,KAC5Bv+B,MAAKvR,GAAKA,EAAEgwC,SACZz+B,MAAKy+B,IAEF,IAAI1B,EAAO16D,KAAKkI,MAAMwrB,UACtBgnC,EAAK9mD,GAAS,IAAK8mD,EAAK9mD,GAAQknD,KAAMrsC,KAAKC,SAAUlgB,SAAU,GAC/DxO,KAAKypC,SAAS,CAAE/V,UAAWgnC,IAE3B,IAAIU,EAAWC,EAAY/jC,MAAM,GAAGh2B,OAAOuxB,QAAQ,KAAM,IAEzD,MAAM4Z,EAAMvO,OAAOm+B,IAAIC,gBAAgBF,GACvCp8D,KAAKypC,SAAS,CAAEgD,IAAKA,EAAK2uB,SAAUA,IACpCp7D,KAAKypC,UAAU6xB,IAAS,CACpBC,WAAYD,EAAUC,WAAW7tB,QAAQ8tB,GAAcA,IAAc/6D,QAEzET,KAAKu8D,KAAK3yB,QAAQoN,QAClBh3C,KAAKw8D,aAAa,IAErBz+B,OAAMC,IACHr/B,QAAQC,IAAI,gBAAiBo/B,GAC7B,IAAI08B,EAAO16D,KAAKkI,MAAMwrB,UACtBgnC,EAAK9mD,GAAS,IAAK8mD,EAAK9mD,GAAQknD,KAAMrsC,KAAKC,SAAUlgB,SAAU,GAC/DxO,KAAKypC,SAAS,CAAE/V,UAAWgnC,IAC3B16D,KAAKypC,UAAU6xB,IAAS,CACpBC,WAAYD,EAAUC,WAAW7tB,QAAQ8tB,GAAcA,IAAc/6D,OACtE,GAEL,EACT,KACDg8D,eAAiB,KACbz8D,KAAKw6D,OAAOx6D,KAAKkI,MAAMzH,GAAG,EAC7B,KACDurC,OAAS,KACLhsC,KAAKypC,SAAS,CAAEC,MAAM,GAAQ,EACjC,KACDoB,OAAUl3B,IACN5T,KAAKypC,SAAS,CACVC,MAAM,EACNgzB,WAAY18D,KAAKkI,MAAMwrB,UAAU9f,GAAOiP,QACxCjP,MAAOA,EACPnT,GAAIT,KAAKkI,MAAMwrB,UAAU9f,GAAOnT,IAClC,EA3RFT,KAAKkI,MAAQ,CACTwrB,UAAW,GACX+Y,IAAK,GACL2uB,SAAU,GACV1xB,MAAM,EACNgzB,WAAY,GACZ9oD,MAAO,EACPnT,GAAI,EACJ86D,WAAY,IAEhBv7D,KAAKu8D,KAAOtd,IAAMC,YAClBl/C,KAAKo7D,SAAWp7D,KAAKo7D,SAAShwB,KAAKprC,MACnCA,KAAK28D,QAAU,CACX,CACI5C,UAAW,WACXvE,KAAM,IAEV,CACIuE,UAAW,WACXvE,KAAM,YACNtnB,MAAM,EACN0uB,QAAS,UACTC,OAAQ,CACJrwB,QAASA,CAACnF,EAAGy1B,EAAQC,EAAaC,EAAKC,KACnCj9D,KAAKo7D,SAAS4B,EAAIv8D,GAAIu8D,EAAIppD,MAAM,IAI5C,CACImmD,UAAW,UACXvE,KAAM,WACNtnB,MAAM,GACP,CACC6rB,UAAW,UACXvE,KAAM,YACNtnB,MAAM,GACP,CACC6rB,UAAW,UACXvE,KAAM,UACN0H,SAAUl9D,KAAK65D,iBACf3rB,MAAM,GACP,CAYC6rB,UAAW,KACXvE,KAAM,KACN7X,QAAQ,GACT,CACCoc,UAAW,QACXvE,KAAM,QACN7X,QAAQ,GAGpB,CACAnS,oBACIxrC,KAAKy6D,QACT,CA8NA/uB,SACI,MAAMixB,EAAU,CACZ,CACI1mB,MAAO,YACPknB,UAAW,WACXjxD,IAAK,WACLouC,MAAO,IACP8iB,SAAU,CACNC,WAAW,GAEf3xB,OAAS8pB,GACL7pB,eAACoK,KAAO,CAACC,UAAU,UAAUC,MAAOuf,EAAK3pB,SACrCF,eAAA,KAAGqJ,MAAO,CAAE2E,WAAY,KAAM9N,SAAE2pB,OAI5C,CACIvf,MAAO,UACPknB,UAAW,UACXjxD,IAAK,UACLkxD,SAAU,CACNC,WAAW,GAEf3xB,OAAS8pB,GACL7pB,eAACoK,KAAO,CAACC,UAAU,UAAUC,MAAOuf,EAAK3pB,SACrCF,eAAA,KAAAE,SAAI2pB,OAIhB,CACIvf,MAAO,gBACPknB,UAAW,UACXjxD,IAAK,UACLouC,MAAO,IACPgjB,OAAQA,CAACxuC,EAAG2N,IAAM,IAAIoM,KAAK/Z,EAAEyrC,SAAW,IAAI1xB,KAAKpM,EAAE89B,SACnDgD,iBAAkB,WAEtB,CACItnB,MAAO,WACPknB,UAAW,UACXjxD,IAAK,UACLouC,MAAO,IACP5O,OAAQA,CAACrrC,EAACm9D,KAAA,IAAE,QAAEnD,GAASmD,EAAA,OACnB7xB,eAAA4H,YAAA,CAAA1H,SACK7rC,KAAKm6D,eAAeE,IACtB,GAGX,CACIpkB,MAAO,IACPknB,UAAW,SACXjxD,IAAK,SACLuxD,MAAO,QACPnjB,MAAO,GACP5O,OAAQA,CAACrrC,EAAG28D,EAAKppD,IACb+3B,eAAA,OAAKC,UAAU,SAAQC,SACnBF,eAAA,KAAAE,SACK7rC,KAAKkI,MAAMqzD,WAAWpuC,SAAS6vC,EAAIv8D,IAAMkrC,eAACooB,KAAI,IAAMpoB,eAAC+xB,KAAgB,CAAClxB,QAASA,IAAMxsC,KAAKo7D,SAAS4B,EAAIv8D,GAAIu8D,EAAIppD,OAAQohC,MAAO,CAAEoC,SAAU,YAM/J,OACItL,gBAAA,OAAKF,UAAU,sCAAqCC,SAAA,CAChDC,gBAACC,KAAK,CAACrC,KAAM1pC,KAAKkI,MAAMwhC,KAAMsC,OAAQhsC,KAAKgsC,OAAOH,SAAA,CAC9CF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBC,gBAACC,KAAMI,MAAK,CAACP,UAAU,aAAYC,SAAA,CAAC,gCAA8B7rC,KAAKkI,MAAMw0D,WAAW,SAE5F/wB,eAACI,KAAMK,KAAI,CAAAP,SAAC,kEAGZF,eAACI,KAAMM,OAAM,CAACT,UAAU,sBAAqBC,SACzCC,gBAAC2Q,KAAG,CAAC7Q,UAAU,cAAaC,SAAA,CACxBF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAACW,KAAM,CAACC,QAAQ,UAAUC,QAASxsC,KAAKgsC,OAAOH,SAAC,cAEpDF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAACW,KAAM,CAACC,QAAQ,SAASC,QAASxsC,KAAKy8D,eAAe5wB,SAAC,kCAKvEF,eAAA,KAAGgS,QAAM,EAACgB,IAAK3+C,KAAKu8D,KAAMhzB,KAAMvpC,KAAKkI,MAAMukC,IAAK2uB,SAAUp7D,KAAKkI,MAAMkzD,SAASvvB,SAAC,SAC/EF,eAAA,OAAKC,UAAU,6BAA4BC,SACvCF,eAACgyB,KAAK,CAAC/xB,UAAU,iBAAiB+wB,QAASA,EAASiB,OAAQ,CAAEt2B,EAAG,KACjEu2B,mBAAmB,EACnBC,WAAY99D,KAAKkI,MAAMwrB,UAAUxG,IAAIltB,KAAKs6D,eAAgByD,WAAY,CAClEC,SAAU,GACVC,kBAAkB,SAMtC,EAEWniB,aAnaU5zC,IACd,CACHqG,YAAarG,EAAMqG,gBAICm6B,IAAQ,CACnC,IA4ZcoT,CAA6C8d,IAA7C9d,I,yJC5aA,SAASoiB,GAAaj0B,GACjCk0B,KAAMC,oBAAoBC,UAAS,2CAAA38D,OACYy8D,KAAMG,QAAO,kBAC5D,MAAM,KACFzxB,EAAI,KAAEgI,EAAI,KAAE5jB,EAAI,YAAEstC,EAAW,KAAEC,EAAI,SAAEC,EAAQ,MAAEnkB,EAAK,MAAEokB,EAAK,OAAEC,EAAM,SAAEC,EAAQ,eAC7EC,EAAc,SAAEvU,EAAQ,WAAEwU,EAAU,YACpCC,GACA90B,GACG+0B,EAAWC,GAAgB7tB,mBAAS,IACpC8tB,EAAgBC,GAAqB/tB,wBAASvjB,IAC9CuxC,EAAYC,GAAiBjuB,wBAASvjB,GACvCyxC,EAAerf,iBAAO,OACrBsf,EAAaC,GAAkBpuB,mBAAS,GACzCquB,EAAiBxf,kBAAO,GAC9Byf,2BAAiB,KACb,GAAI7qB,EAAM,CACN2qB,EAAe,GACF,SAAT3yB,IACAsyB,OAAkBtxC,GAClBwxC,OAAcxxC,IAElB,MAAM8xC,EAAeA,KACbL,EAAa11B,SACbq1B,EAAaK,EAAa11B,QAAQg2B,YAAc,EACpD,EAIJ,OAFA/0B,WAAW80B,EAAc,GACzBzhC,OAAOiN,iBAAiB,SAAUw0B,GAC3B,KACHzhC,OAAOyW,oBAAoB,SAAUgrB,EAAa,CAE1D,IACD,CAAC9qB,EAAMhI,IAEV,MAwDMgzB,EAAc9xC,IAEZ+wC,EADS,QAAT/wC,GACaU,KAAK40B,IAAIqb,EAAQ,GAAK,GAAG5P,QAAQ,IAEjCrgC,KAAKjN,IAAIk9C,EAAQ,GAAK,IAAK5P,QAAQ,GACpD,EAgBEgR,EAAc/xC,IAChByxC,EAAe,GACF,SAATzxC,GAAmBkD,GAAsB,KAAV,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAM8uC,KACjCpB,GAAW,OAAJ1tC,QAAI,IAAJA,OAAI,EAAJA,EAAM8uC,KAAM,GACH,SAAThyC,GAAmBkD,IAAY,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAM8uC,QAAY,OAAJ9uC,QAAI,IAAJA,OAAI,EAAJA,EAAM+uC,QACtDrB,GAAW,OAAJ1tC,QAAI,IAAJA,OAAI,EAAJA,EAAM8uC,KAAM,EACvB,EAOErmB,EAAgB,CAClB,CACIhH,MAAO,WACPxmC,IAAK,WACLmsC,KAAM1M,eAAA,OAAKxT,IAAI,qCAAqC+a,IAAI,cAE5D,CACInlB,KAAM,WAEV,CACI2kB,MAAO,WACPxmC,IAAK,SACLmsC,KAAM1M,eAAA,OAAKxT,IAAI,mCAAmC+a,IAAI,aAIxD+sB,EAAkB,CACpB,CACIvtB,MAAO,iBACPl9B,MAAO,kBAEX,CACIk9B,MAAO,SACPl9B,MAAO,UAEX,CACIk9B,MAAO,iBACPl9B,MAAO,UAEX,CACIk9B,MAAO,WACPl9B,MAAO,YAEX,CACIk9B,MAAO,gBACPl9B,MAAO,kBAmCT0qD,EAAyB,YAATrzB,EAAqByN,EAAQ0kB,EAEnD,OACIrzB,eAAA4H,YAAA,CAAA1H,SACIC,gBAACC,KAAK,CACFH,UAAU,oCACVu0B,UAAW,CAAElrB,gBAAiB,uBAC9BmrB,gBAAc,EACd7V,cAAc,EACdjQ,MAAM,MACNzF,KAAMA,EACNoB,MAAM,GACNqU,SA5KU+V,KAClB/V,GAAU,EA4KFE,OAAQ,KAAK3e,SAAA,CAEbF,eAAA,OAAKC,UAAU,oBAAmBC,SAAC,oBACnCC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,qBAAoBC,SAAW,SAATgB,GAAmBlB,eAAA,OAAKqJ,MAAO,CAACE,WAAY,IAAIrJ,SAAC,oBACtFC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,YAAYzT,IAAI,kCAAkC+a,IAAI,OAAO1G,QAASA,IAAMszB,EAAW,UACtGh0B,gBAAA,OAAKF,UAAU,aAAYC,SAAA,CAAC,QAAKC,gBAAA,QAAAD,SAAA,CAAW,OAAJ5a,QAAI,IAAJA,OAAI,EAAJA,EAAM8uC,IAAI,MAAQ,OAAJ9uC,QAAI,IAAJA,OAAI,EAAJA,EAAM+uC,YAC5Dr0B,eAAA,OAAKC,UAAU,aACfE,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,OACIxT,IAAwB,qBAAf,OAAJlH,QAAI,IAAJA,OAAI,EAAJA,EAAMqvC,UAAiC,4BAA8B,uBAC1EptB,IAAI,SAERvH,eAAA,OAAAE,UA3HK00B,EA2HyB,OAAJtvC,QAAI,IAAJA,OAAI,EAAJA,EAAM8pC,SA1H7CwF,GAAYA,EAAS1tC,QAAQ,YAAa,UA4HjC8Y,eAAA,OAAKC,UAAU,YAAYzT,IAAI,mCAAmC+a,IAAI,OAAO1G,QAASA,IAAMszB,EAAW,aAE3Gn0B,eAAA,OAAKC,UAAU,eAAcC,SAEZ,SAATgB,EACIlB,eAAC+J,KAAQ,CACL8qB,iBAAiB,8BACjB7qB,KAAM,CAACC,MAAO8D,EAAelN,QAAUnF,GA9GpDA,KACfw3B,EAAex3B,EAAEn7B,IAAI,EA6GoDu0D,CAAUp5B,IACvD2O,UAAU,cACV0qB,QAAS,CAAC,SAAS70B,SAEnBF,eAAA,OAAKqJ,MAAO,CAACS,OAAQ,UAAW2E,YAAa,IAAKjiB,IAAI,0BAA0B+a,IAAI,WAExFvH,eAAA,OACIC,UAAU,gBACVoJ,MAAO,CAAES,OAAQ,WACjBjJ,QArMRm0B,KACpB,MAAMC,EAAkB,IAAIC,KAAK,CAACrC,GAAO,CAAEzwC,KAAM,oBAC3C+yC,EAAe/oC,SAASG,cAAc,KAC5C4oC,EAAav3B,KAAO8yB,IAAIC,gBAAgBsE,GACxCE,EAAa1F,SAAe,OAAJnqC,QAAI,IAAJA,OAAI,EAAJA,EAAM8pC,SAC9B+F,EAAa9pB,OAAO,EAiMQ7e,IAAI,sCACJ+a,IAAI,kBAKxBpH,gBAAC2Q,KAAG,CAACzH,MAAO,CAACa,KAAM,GAAGhK,SAAA,CAClBC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAACuF,SAAU,YAAawI,KAAe,YAATlW,EAAqB,GAAK,GAAGhB,SAAA,CACnEF,eAAA,OAAKC,UAAU,2BAA2B+S,IAAK2gB,EAAcyB,SAtL5DC,KACjB,GAAIvB,EAAe71B,QAAS,OAE5B,MAAMq3B,EAAkB3B,EAAa11B,QAAQs3B,aACvCC,EAAUppC,SAASqpC,iBAAiB,eAE1C,IAAIC,EAAc9B,EACd+B,EAAcC,IAElBJ,EAAQ/xC,SAAQoyC,IACZ,MAAM,IAAE1mB,GAAQ0mB,EAAOC,wBACjBC,EAAWjzC,KAAKkzC,IAAI7mB,EAAMmmB,EAAkB,GAE9CS,EAAWJ,IACXA,EAAcI,EACdL,EAAcv0C,SAAS00C,EAAO/gE,GAAGY,MAAM,KAAK,IAChD,IAGAggE,IAAgB9B,GAChBC,EAAe6B,EACnB,EAiKoGx1B,SAChFF,eAAA,OAAKqJ,MAAO,CAAEsF,MAAO4lB,EAAgBxB,GAAS9yB,UAAU,cAAaC,SAC7C,qBAAf,OAAJ5a,QAAI,IAAJA,OAAI,EAAJA,EAAMqvC,UACH30B,eAACi2B,KAAQ,CAACpD,KAAMA,EAAMqD,cArNvBC,IAC3B/C,EAAY+C,EAAK,EAoNsEj2B,SACtD7D,MAAM7jB,KAAK,IAAI6jB,MAAMy2B,IAAW,CAACsD,EAAInuD,IAClC+3B,eAAA,OACIlrC,GAAE,WAAAiB,OAAakS,EAAQ,GAEnBohC,MAAO,CAAEsF,MAAO4lB,EAAgBxB,GAChC9yB,UAAU,aAAYC,SAEtBF,eAACq2B,KAAI,CAACC,WAAYruD,EAAQ,EAAG0mC,MAAQ4lB,EAAgBxB,KAAU,QAAAh9D,OAJlDkS,EAAQ,QASjC+3B,eAAC+K,KAAK,CACFwrB,SAAS,EACT5nB,MAAO4lB,EAAgBxB,EACvBvmC,IAjKPgqC,EAACC,EAAar0C,KAC3C,MAAMquC,EALgBiG,EAACC,EAAQv0C,IACxB,IAAI8yC,KAAK,CAACyB,GAAS,CAAEv0C,SAIfs0C,CAAkBD,EAAar0C,GAC5C,OAAOsuC,IAAIC,gBAAgBF,EAAK,EA+JS+F,CAAyB3D,EAAU,OAAJvtC,QAAI,IAAJA,OAAI,EAAJA,EAAMqvC,gBAM9Dx0B,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCF,eAAA,OAAKC,UAAU,8BAA6BC,SACxCF,eAAC42B,KAAU,CACP5vC,KAAK,QACL6vC,QAAM,EACN54B,QAA4B,qBAAf,OAAJ3Y,QAAI,IAAJA,OAAI,EAAJA,EAAMqvC,UAAiCf,EAAc,EAC9DvB,SAAU,EACVgC,MAA0B,qBAAf,OAAJ/uC,QAAI,IAAJA,OAAI,EAAJA,EAAMqvC,UAAiC7B,EAAW,EACzD5hB,SAxOX4lB,CAACX,EAAM9D,KACxByB,EAAe71B,SAAU,EACzB41B,EAAesC,GACf,MAAMY,EAAmB3qC,SAAS4qC,cAAc,YAADjhE,OAAaogE,IAExDY,GACApD,EAAa11B,QAAQoT,SAAS,CAC1BlC,IAAK4nB,EAAiBE,UACtBhP,SAAU,WAIlB/oB,YAAW,KACP40B,EAAe71B,SAAU,CAAK,GAC/B,IAAI,MA6NakC,gBAAA,OAAKF,UAAU,yBAAwBC,SAAA,CACnCF,eAAA,OAAKC,UAAU,WAAUC,SACrBF,eAACk3B,KAAa,CAAC7tB,MAAO,CAAEoC,SAAU,IAAM5K,QAASA,IAAMqzB,EAAW,WAEtE/zB,gBAAA,OAAKF,UAAU,aAAYC,SAAA,CAAEpd,KAAK4L,MAAc,IAARqkC,GAAa,OACrD/yB,eAAA,OAAKC,UAAU,WAAUC,SACrBF,eAACm3B,KAAY,CAAC9tB,MAAO,CAAEoC,SAAU,IAAM5K,QAASA,IAAMqzB,EAAW,oBAKvE,SAAThzB,GACOlB,eAAC+Q,KAAG,CAACqG,KAAM,GAAGlX,SACVC,gBAAA,OAAKF,UAAU,eAAcC,SAAA,CACzBC,gBAAA,OAAKkJ,MAAO,CAACsF,MAAO,QAAQzO,SAAA,CACxBC,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAAA,OAAKC,UAAU,kBAAiBC,SAAC,sBACjCF,eAACsX,KAAM,CACHrX,UAAU,kBACVoJ,MAAO,CACHsF,MAAO,QAEX9kC,MAAO0pD,EACPhc,YAAU,EACVrG,SA/HpBrnC,IACpB6pD,OAAcxxC,GACdsxC,EAAkB3pD,EAAM,EA8HgBsnC,YAAY,kBACZvW,QA9IvB05B,EAAgBvyB,QAAOq1B,IACpC,MAAMC,EAAWzE,EAAYlsB,MAAK4wB,GAAOA,EAAIl1C,OAASg1C,EAAOvtD,QAC7D,OAAOwtD,GAAYA,EAASn1B,KAAKjgB,OAAS,CAAC,SA+Ifke,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAAA,OAAKC,UAAU,kBAAiBC,SAAC,mBACjCF,eAACsX,KAAM,CACHrX,UAAU,kBACVoJ,MAAO,CACHsF,MAAO,QAEX9kC,MAAO4pD,EACPlc,YAAU,EACVrG,SAxIxBrnC,IAChB6pD,EAAc7pD,EAAM,EAwIoBsnC,YAAY,wBACZvW,QArJrB28B,MACnB,MAAMC,EAAmB5E,EAAYlsB,MAAK1E,GAAQA,EAAK5f,OAASmxC,IAEhE,OADgBiE,EAAmBA,EAAiBt1B,KAAK3gB,KAAI+1C,IAAG,CAAOvwB,MAAOuwB,EAAIG,SAAU5tD,MAAOytD,EAAI90B,OAAS,EAClG,EAkJmC+0B,WAIrBv3B,eAACW,KAAM,CACHV,UAAU,mBACV7d,KAAK,UACL08B,cAA6B58B,IAAnBqxC,QAA+CrxC,IAAfuxC,EAC1C5yB,QA9IjB62B,KACfzE,EAASQ,EAAW,EA6IgCvzB,SACvB,yBA3OJ00B,KAsPjC,C,+BCzTA,MAAM,QAAE+C,IAAYC,KA0nDL1nB,oBAAWC,aAxnDD5zC,IACd,CACHqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,SAChBiC,SAAUvI,EAAMuI,aAIIi4B,IAAQ,CAAQ,IAgnDlBoT,EA9mD1B,SAA2B7R,GACvB,MAAMu5B,EAAO/xB,aAAavpC,GACfA,EAAM8oB,OAAOZ,eAGjByvB,GAAQC,KAAKC,UACd0jB,EAAWxjB,iBAAO,OACjB,CAAEyjB,GAAiB33B,KAAM43B,YACzBta,GAAWjY,oBAAS,IACpBwyB,EAAaC,GAAkBzyB,oBAAS,IACxC0yB,EAAcC,GAAmB3yB,oBAAS,IAC1C4yB,GAAiB5yB,mBAAS,KAC1B4tB,GAAa5tB,mBAAS,MACtB,CAAE6yB,GAAgB7yB,mBAAS,KAC3B8yB,EAAYC,GAAiB/yB,mBAAS,OACtCgzB,EAAcC,GAAmBjzB,mBAAS,KAC1CkzB,EAAsBC,GAA2BnzB,mBAAS,KAC1DozB,EAAkBC,GAAuBrzB,mBAAS,KAClDszB,EAA0BC,GAA+BvzB,mBAAS,KAClEwzB,EAAmBC,GAAwBzzB,oBAAS,IACpD0zB,EAAUC,GAAe3zB,mBAAS,KAClC4zB,EAAeC,GAAoB7zB,mBAAS,KAC5C8zB,EAAkBC,GAAuB/zB,mBAAS,KAClDg0B,EAAgBC,GAAqBj0B,oBAAS,IAC9Ck0B,EAAmBC,GAAwBn0B,oBAAS,IACpDo0B,EAAkBC,GAAuBr0B,oBAAS,IAClDs0B,EAAaC,GAAkBv0B,mBAAS,YACxCw0B,EAAYC,GAAiBz0B,mBAAS,KACtC00B,EAAcC,GAAmB30B,mBAAS,OAC1C40B,EAAYC,GAAiB70B,mBAAS,KACtCotB,EAAM0H,GAAW90B,mBAAS,KAC1B6wB,EAAYkE,GAAiB/0B,mBAAS,IACtCqtB,EAAU2H,GAAeh1B,mBAAS,IAClCstB,EAAO2H,IAAYj1B,mBAAS,IAC5BpD,GAAMs4B,IAAWl1B,mBAAS,IAC3Bm1B,GAAiBtmB,iBAAO,MACxBvqC,GAASuqC,iBAAO,MAChB1lC,GAAS0lC,iBAAO,MAChBluC,GAAWkuC,iBAAO,MAClBumB,GAAgBvmB,iBAAO,MACvBwmB,GAAmBxmB,iBAAO+kB,GAC1B0B,GAAsBzmB,iBAAOilB,GAC7ByB,GAAoB1mB,iBAAOmlB,GAC3BwB,GAAkB3mB,iBAAOmkB,IACzB,OAAE3d,IAAWkB,8BAGbkf,GAAOn1B,mBAAQ,MACjB60B,kBACA7wD,UACA6E,UACAxI,YACAy0D,oBACA,IAEEM,GAAmB7mB,iBAAO,OACzB8mB,GAAgBC,IAAqB51B,mBAAS,MAE/C61B,GAA0BA,CAACC,EAAUC,KAEnCH,GADAG,EACkBD,EAEA,KACtB,EAaJ/0B,qBAAU,KACNi1B,KACA,MAAMC,EAAWv9B,aAAY,KACzBs9B,IAAa,EAAM,GACpB,KACH,MAAO,IAAM7oB,cAAc8oB,EAAS,GAErC,IAEHl1B,qBAAU,KACNs0B,GAAiB78B,QAAUo7B,EAC3B0B,GAAoB98B,QAAUs7B,EAC9ByB,GAAkB/8B,QAAUw7B,CAAc,GAC3C,CAACJ,EAAeE,EAAkBE,IAErCjzB,qBAAU,KACNy0B,GAAgBh9B,QAAUw6B,CAAY,GACvC,CAACA,IAEJjyB,qBAAU,KACN,GAAIsxB,EAAS75B,QAAS,CAClB,MAAM09B,EAAiB7D,EAAS75B,QAAQ+4B,cACpC,mCAEA2E,IACAA,EAAeC,UAAYD,EAAeE,aAElD,IACD,CAACxD,EAAcp2C,SAElBukB,qBAAU,KACN,GAAIqxB,EAAKiE,gBAAiB,CACtB,MAAMC,EAAYb,GAAKrD,EAAKiE,iBAC5B,GAAIC,GAAaA,EAAU99B,SAAWk9B,GAAiBl9B,QAAS,CAC5D,MAGMg5B,EAHa8E,EAAU99B,QAAQ63B,wBAAwB3mB,IAEzDgsB,GAAiBl9B,QAAQ63B,wBAAwB3mB,IAE/C6sB,EAAgBb,GAAiBl9B,QAAQ29B,UAE/CT,GAAiBl9B,QAAQoT,SAAS,CAC9BlC,IAAK6sB,EAAgB/E,EACrBhP,SAAU,UAElB,CACJ,IACD,CAAC4P,EAAMqD,KAEV,MA2BMO,GAAe,WAAyB,IAAxBQ,IAAWj6C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GACzBwD,EAAQC,eAAeC,QAAQ,WAC/Bu2C,GACA7D,GAAgB,GAIpBzmC,MADU,sBACC,CACPC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,eAAgB,sBAGnBC,MAAMC,IACCgqC,GACA7D,GAAgB,GAEI,MAApBnmC,EAASnyB,QAGbmyB,EAASC,OAAOF,MAAM1M,IAClB,MAAM42C,EAAe52C,EACf62C,EAAoB72C,EACrByc,QAAQM,GAAyB,kBAAhBA,EAAK+5B,SACtBC,SAASh6B,GACNA,EAAKO,UAAUrhB,KAAK6K,IAAQ,IACrBA,EACHkwC,QAASj6B,EAAKi6B,QACdC,QAASl6B,EAAK+5B,OACdI,UAAWpwC,EAASowC,UAAYhnE,KAAKssB,MAAMsK,EAASowC,WAAa,CAAC,QAGxEt6B,EA7DC5c,KACnB,MAAMm3C,EAAc,CAAC,EAuBrB,OAtBAnI,GAAgB7wC,SAAS4zC,IACrB,MAAMqF,EAAezB,GAAgBh9B,QAAQyI,MACxC1E,GAASA,EAAK5f,OAASi1C,EAASxtD,QAE/B8yD,GAAYD,GAAeA,EAAaxzB,KAE9CuzB,EAAYpF,EAASxtD,OAAS,CAC1BuY,KAAMi1C,EAASxtD,MACfq/B,KAAMyzB,EACNz6B,KAAM,GACT,IAEL5c,EAAK7B,SAASue,IACV,MAAM,OAAEo6B,GAAWp6B,EAEfy6B,EAAYL,IACZK,EAAYL,GAAQl6B,KAAKlf,KAAKgf,EAClC,IAEJnX,OAAOmsB,OAAOylB,GAAah5C,SAAS4zC,IAChCA,EAASn1B,KAAKK,MAAK,CAACpf,EAAG2N,IAAM3N,EAAEqf,GAAK1R,EAAE0R,IAAG,IAEtC3X,OAAOmsB,OAAOylB,EAAY,EAqCRG,CAAcV,GAkB3B,GAjBAxD,EAAgBx2B,GAChB02B,EAAwB12B,GACxB42B,EAAoBqD,GACpBnD,EAA4BmD,IAEK,KAA7BrB,GAAiB78B,SACjB88B,GAAoB98B,QAAQhc,OAAS,GACrC+4C,GAAkB/8B,UAElB4D,GACIi5B,GAAiB78B,QACjB88B,GAAoB98B,QACpB+8B,GAAkB/8B,QAClBiE,EACAi6B,GAGW,SAAflC,EAAuB,CACvB,MAAMvS,EAASmR,EAAiB,GAChCuB,EAAgB,IAAK1S,EAAQ0M,IAAK,EAAGC,MAAOwE,EAAiB52C,SAC7D46C,GAAYnV,EAAOllB,GAAI,OAAQklB,EAAO0H,SAC1C,IACF,IAELh9B,OAAOC,IACA4pC,GACA7D,GAAgB,EACpB,GAEZ,EAEM0E,GAAyBC,IAC3B,MAAMC,EAAeC,KAAMF,GAAUG,QAAQ,OACvC//B,EAAM8/B,OAAQC,QAAQ,OACtBC,EAAuBH,EAAaI,SAAS,EAAG,OACtD,OACIjgC,EAAIkgC,OAAOF,EAAsB,QACjChgC,EAAImgC,QAAQH,EAAsB,MAAM,EAI1Ct7B,GAAaA,CACf07B,EACAC,EACAC,EACAv7B,EACAi6B,KAEA,MAAMuB,EAA+BvB,EAAkBp6B,QAAQu1B,GACrCA,EAAIlI,SAAStnC,cAActG,SAAS+7C,KAIxDI,EAAkBz7B,EAAK3gB,KAAKq8C,IAC9B,GAAIJ,EAAWv7C,OAAS,IAAMu7C,EAAWh8C,SAASo8C,EAAIx7C,MAClD,MAAO,IAAKw7C,EAAK17B,KAAM,IAG3B,MAAM27B,EAAeD,EAAI17B,KAAKH,QAAQC,IAClC,MAAM87B,EAAgB97B,EAAKy1B,SAAS3vC,cAActG,SAAS+7C,GACrDQ,EAAiB/7B,EAAKY,UAAU8W,MAAM4d,GACxCA,EAAIlI,SAAStnC,cAActG,SAAS+7C,KAElCS,GACDP,GACe,cAAhBz7B,EAAKzE,QACW,kBAAhByE,EAAKzE,QACW,aAAhByE,EAAKzE,QACLu/B,GAAsB96B,EAAKi8B,UAC/B,OAAQH,GAAiBC,IAAmBC,CAAW,IAG3D,MAAO,IAAKJ,EAAK17B,KAAM27B,EAAc,IAEzCnF,EAAgBiF,GAChB7E,EAAoB4E,EAA6B,EAm1B/CpJ,GAAkB,CACpB,CACIvtB,MAAO,iBACPl9B,MAAO,kBAEX,CACIk9B,MAAO,SACPl9B,MAAO,UAEX,CACIk9B,MAAO,iBACPl9B,MAAO,UAEX,CACIk9B,MAAO,WACPl9B,MAAO,YAEX,CACIk9B,MAAO,gBACPl9B,MAAO,kBAQTq0D,GAAmB,CACrB,CACIn3B,MAAO,eACPl9B,MAAO,gBAEX,CACIk9B,MAAO,gBACPl9B,MAAO,iBAEX,CACIk9B,MAAO,gBACPl9B,MAAO,iBAEX,CACIk9B,MAAO,gBACPl9B,MAAO,iBAEX,CACIk9B,MAAO,YACPl9B,MAAO,eAEX,CACIk9B,MAAO,cACPl9B,MAAO,iBAQTs0D,GAAe,CACjBhF,SAAUA,EACViF,UAAU,EACVC,gBAAgB,EAChBntB,SAASotB,GACL,MAAMnF,EAAW,IAAImF,EAAKnF,UAC1BC,EAAYD,EAChB,EACAoF,OAAO7iC,GAAI,EACX8iC,aAAch2B,UAAiB,IAADi2B,EAbZ7J,EAcd,GAdcA,EAcO,OAAJ/B,QAAI,IAAJA,GAAU,QAAN4L,EAAJ5L,EAAM9kD,YAAI,IAAA0wD,OAAN,EAAJA,EAAY32C,cAb1B,kBAAkBjH,KAAK+zC,GAamB,CAAC,IAAD8J,EACzC,IAAIjO,EACJ,IACIA,QAAakO,KAAS,CAAElO,KAAMoC,EAAM+L,OAAQ,aAChD,CAAE,MAAOxzC,GAEL,OADAolB,KAAQquB,QAAQ,4CACTjH,KAAOkH,WAClB,CAQA,OAPsB,IAAIC,KACtB,CAACtO,GACG,OAAJoC,QAAI,IAAJA,GAAU,QAAN6L,EAAJ7L,EAAM9kD,YAAI,IAAA2wD,OAAN,EAAJA,EAAYx3C,QAAQ,kBAAmB,QACvC,CACI9E,KAAM,aAIlB,CAAO,CACH,MAAM48C,EAAmB,CACrB,aACA,YACA,mBAEEC,EAAWpM,EAAKzwC,KAEtB,IADkB48C,EAAiBx9C,SAASy9C,GAGxC,OADAzuB,KAAQquB,QAAQ,4CACTjH,KAAOkH,WAEtB,CACA,OAAO,CAAI,GAIbI,GAAqBA,CAACC,EAAeC,KAAhBF,EAErBG,GAAkBA,CAACzkC,EAAS/wB,KAC9B,MAAMy1D,EAAc1kC,EAAQ8L,MAAM0wB,GAAWA,EAAOvtD,QAAUA,IAC9D,OAAOy1D,EAAcA,EAAYv4B,MAAQ,IAAI,EAU3Cw4B,GAAuB3K,GAClBA,EAAS1tC,QAAQ,YAAa,IAuInCs4C,GAAkBA,KACpB,IAAIh6C,EAAQC,eAAeC,QAAQ,WACnC,MAAM+5C,EAAW,IAAIC,SACrBvG,EAAS11C,SAASue,IACdy9B,EAASE,OAAO,SAAU39B,EAAK49B,cAAc,IAEjD1H,GAAe,GAKfvmC,MAHmB,WAAf0oC,EACM,kCACA,oCACC,CACPh9B,MAAO,WACPzL,OAAQ,OACRnF,KAAMgzC,EACN5tC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,WAAYwmC,EAAW/1B,GACvB,SAAU,MAGbxQ,MAAMC,IACHimC,GAAe,GACS,MAApBjmC,EAASnyB,QAKbo/B,YAAW,KAzCE2gC,MACrB,IAAIr6C,EAAQC,eAAeC,QAAQ,WACnCiM,MAAM,uCAAwC,CAC1C0L,MAAO,WACPzL,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,aAEb,EAiCU8tC,EAAkB,GACnB,KAGHC,KACArE,MAVIjrB,KAAQplB,MAAM,yCAUJ,IAEjBgH,OAAOhH,IACJp4B,QAAQC,IAAIm4B,GACZ8sC,GAAe,GACf1nB,KAAQplB,MAAM,yCAAyC,GACzD,EAGJ20C,GAAuBC,IACzB,MAAMC,EAAer6C,KAAKo6C,GACpBl7B,EAAMm7B,EAAah+C,OACnBi+C,EAAQ,IAAIz5C,WAAWqe,GAC7B,IAAK,IAAIriB,EAAI,EAAGA,EAAIqiB,EAAKriB,IACrBy9C,EAAMz9C,GAAKw9C,EAAaj0C,WAAWvJ,GAEvC,OAAOy9C,EAAMvJ,MAAM,EAGjBkG,GAAcA,CAAC/nE,EAAIstB,EAAMrU,KAC3B,MAAMyX,EAAQC,eAAeC,QAAQ,WACrCiM,MAAM,0BAA2B,CAC7BC,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU,CACjBuoD,OAAQ,GACRoe,OAAiB,QAATh6C,EAAiBttB,EAAK,EAC9BqrE,MAAgB,QAAT/9C,EAAiBttB,EAAK,IAEjC+8B,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAGVC,MAAKwW,UACsB,MAApBvW,EAASnyB,cAGPmyB,EAASC,OAAOF,MAAMT,IACxB,MAAM6uC,EAAQ7uC,EAAGqR,UACjB,GAAa,YAATxgB,GAA+B,SAATA,EAAiB,CACvC,MAAMywC,EAAOkN,GAAoBK,EAAM,GAAGC,SAC1C9F,EAAQ1H,GACR6H,GAAS,GACTZ,GAAoB,EACxB,MAAO,GAAqB,IAAjBsG,EAAMn+C,aACV,GAAqB,IAAjBm+C,EAAMn+C,OAAc,CAC3B,MAAM4wC,EAAOkN,GAAoBK,EAAM,GAAGC,SACpCpL,EAAkB,IAAIC,KAAK,CAACrC,GAAO,CACrCzwC,KAAM,oBAEJ+yC,EAAe/oC,SAASG,cAAc,KAC5C4oC,EAAav3B,KAAO8yB,IAAIC,gBAAgBsE,GACxCE,EAAa1F,SAAW2Q,EAAM,GAAG5iE,KACjC23D,EAAa9pB,OACjB,KAAO,CACH,MAAMi1B,EAAQ,GAAAvqE,OAAMgY,EAAI,QAClBvR,EAAM,IAAI+jE,GACVC,EAAchkE,EAAIikE,OAAO,GAAD1qE,OAAIgY,IAClC,IAAK,IAAI0U,EAAI,EAAGA,EAAI29C,EAAMn+C,OAAQQ,IAAK,CACnC,MAAM,KAAEjlB,EAAI,QAAE6iE,GAAYD,EAAM39C,GAChC+9C,EAAY3N,KAAKr1D,EAAM6iE,EAAS,CAAEL,QAAQ,GAC9C,CACAxjE,EAAIkkE,cAAc,CAAEt+C,KAAM,SAAU4P,MAAMy+B,GACtCkQ,kBAAOlQ,EAAM6P,IAErB,IACF,IAELluC,OAAM,QAAS,EAwBlB0tC,GAAaA,KACf5G,GAAqB,GACrBE,EAAY,IACZllB,EAAK0sB,aAAa,EA+FhB/hB,GAAS,CACX7e,eAACW,KAAM,CAACV,UAAU,kBAAkB7d,KAAK,OAAOye,QAASi/B,GAAW5/B,SAAC,WAGrEF,eAACW,KAAM,CACHV,UAAU,gBACV6e,cACyC58B,IAArCgyB,EAAK2sB,cAAc,eAClB3sB,EAAK2sB,cAAc,eAC4B,IAA5C3sB,EAAK2sB,cAAc,cAAc5+C,OAEzCy7B,QAASua,EACTp3B,QAnIaigC,KAEjB,MAAMC,EAAiB5H,EAASl3C,OAC1B++C,EAAe7H,EAAS53C,KAAKygB,GAASA,EAAKj0B,OAC3C,OAAN+sC,SAAM,IAANA,OAAQmmB,SAAS,iCAAkCF,EAAgB,CAC/DG,UAAW,8BACXC,UAAW,IAAIjkC,KACfkkC,UAAWlkC,KAAKC,MAChB4jC,eAAgBA,EAChBC,aAAcA,EACdK,SAAU,uBACVC,QAAS/uC,OAAO6K,SAASQ,OAEV,WAAfy8B,GAA0C,aAAfA,EAC3BmF,KACsB,aAAfnF,GApKIkH,MACf,IAAI/7C,EAAQC,eAAeC,QAAQ,WACnC,MAAM+5C,EAAW,IAAIC,SACrBvG,EAAS11C,SAASue,IACdy9B,EAASE,OAAO,SAAU39B,EAAK49B,cAAc,IAEjD1H,GAAe,GACfvmC,MAAM,4BAA6B,CAC/B0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMgzC,EACN5tC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAGVC,MAAMC,IACHimC,GAAe,GACS,MAApBjmC,EAASnyB,QAIbggE,KACArE,MAJIjrB,KAAQplB,MAAM,yCAIJ,IAEjBgH,OAAOhH,IACJ8sC,GAAe,GACf1nB,KAAQplB,MAAM,yCAAyC,GACzD,EAyIFm2C,EAEJ,EAiH0BrhC,SACzB,YAKL,OACIC,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC1B63B,EAh0CgByJ,MACrB,MAAMC,EAAe,CACjBC,UAAW,CACP36B,MAAO,eACP46B,QAAS,IAEbC,cAAe,CACX76B,MAAO,eACP46B,QAAS,IAEbE,SAAU,CACN96B,MAAO,WACP46B,QAAS,IAEbG,SAAU,CACN/6B,MAAO,mBACP46B,QAAS,IAEbrlB,SAAU,CACNvV,MAAO,WACP46B,QAAS,IAEbI,cAAe,CACXh7B,MAAO,gBACP46B,QAAS,IAEbK,eAAgB,CACZj7B,MAAO,WACP46B,QAAS,KAIXM,EAAqBniE,IACvB,OAAQA,GACJ,IAAK,WACL,IAAK,gBACD,MAAO,CAAE0pC,MAAO,UAAWF,gBAAiB,WAChD,IAAK,WACD,MAAO,CAAEE,MAAO,UAAWF,gBAAiB,WAChD,IAAK,WACL,IAAK,iBACD,MAAO,CAAEE,MAAO,UAAWF,gBAAiB,WAChD,QACI,MAAO,CAAEE,MAAO,UAAWF,gBAAiB,WACpD,EAGE44B,EAAgBpiE,IAClB,OAAQA,GACJ,IAAK,WACL,IAAK,WACL,IAAK,iBACD,MAAO,CACH0pC,MAAO,UACPF,gBAAiB,UACjBmQ,OAAQ,qBAEhB,IAAK,WACD,MAAO,CACHjQ,MAAO,UACPF,gBAAiB,UACjBmQ,OAAQ,oBACR3P,OAAQ,WAEhB,QACI,MAAO,CAAEN,MAAO,UAAWF,gBAAiB,WACpD,EAGE64B,EAAeriE,IACjB,OAAQA,GACJ,IAAK,YACL,IAAK,gBACD,MAAO,SACX,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,iBACD,MAAO,YACX,QACI,MAAO,OACf,EAGEsiE,EAAgB1a,GACI,CAClB,CACI3gB,MAAO,eACPxmC,IAAK,WACLu+C,SAAsC,IAA5B4I,EAAO9kB,UAAU3gB,SAiBjCogD,EAAgB3a,IAClB8Q,EAAc9Q,GACdwR,GAAqB,EAAK,EAkBxBoJ,EAAuB,CACzB,CACIh4B,MAAO,GACPqE,MAAO,IAEX,CACIrE,MACItK,eAAA,OAAKC,UAAU,uBAAsBC,SACjCF,eAAA,QAAAE,SAAO,0BAA0BtY,kBAGzC+mB,MAAO,MACP8iB,UAAU,EACV1xB,OAAQA,CAACrrC,EAAGgzD,IACR1nB,eAACoK,KAAO,CACJm4B,OAAO,EACPl4B,UAAU,aACVC,MAAOod,EAAO0H,SAASlvB,SAEvBF,eAAA,OAAKC,UAAU,gBAAeC,SAAEwnB,EAAO0H,cAInD,CACI9kB,MAAO,GACPqE,MAAO,OAEX,CACIrE,MACItK,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAM9N,SAAC,gBAIxDsxB,UAAW,UACXjxD,IAAK,UACLouC,MAAO,MACPgjB,OAAQA,CAACxuC,EAAG2N,IAAM,IAAIoM,KAAK/Z,EAAEm5C,SAAW,IAAIp/B,KAAKpM,EAAEwrC,SACnDv8B,OAAS8pB,GACL7pB,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,WAAYtJ,SAC7B2pB,EAAOoT,KAAMpT,GAAM3hB,OAAO,cAAgB,OAIvD,CACIoC,MACItK,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAM9N,SAAC,WAIxDsxB,UAAW,YACXjxD,IAAK,YACLouC,MAAO,MACPgjB,OAAQA,CAACxuC,EAAG2N,IACR3N,EAAEq5C,UAAU18D,OAAO0iE,cAAc1xC,EAAE0rC,UAAU18D,QACjDigC,OAAQA,CAACrrC,EAAGgzD,KAAY,IAAD+a,EACnB,MAAM,OAAE3iE,GAAW4nD,EAAO8U,UAC1B,MAAkB,eAAX18D,EACHqgC,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAACooB,KAAI,CACDsa,UACI1iC,eAAC2iC,KAAe,CACZt5B,MAAO,CAAEoC,SAAU,IACnBm3B,MAAI,MAIhB5iC,eAAA,QAAMC,UAAU,kBAAiBC,SAAC,kBAGtCF,eAAA,OACIqJ,MAAO44B,EAAkBniE,GACzBmgC,UAAU,kBAAiBC,SAE3BF,eAAA,QAAAE,SAA2B,QAA3BuiC,EAAOhB,EAAa3hE,UAAO,IAAA2iE,OAAA,EAApBA,EAAsB17B,SAEpC,GAGT,CACIuD,MACInK,gBAAA,OAAKF,UAAU,0CAAyCC,SAAA,CACpDF,eAAA,OACIqJ,MAAO64B,EAAa,QACpBjiC,UAAU,yBACVY,QAASA,IAAMgiC,IAAU3iC,SAC5B,aAGDF,eAAA,OACIqJ,MAAO,CAAES,OAAQ,WACjB7J,UAAW05B,EAAoB,KAAO,OACtC94B,QAASA,IACL+4B,GAAsBD,GAE1BntC,IAAI,gCACJ+a,IAAI,gBAIhBiqB,UAAW,GACXjxD,IAAK,GACLuxD,MAAO,QACPnjB,MAAO,IACP5O,OAAQA,CAACrrC,EAAGgzD,EAAQz/C,IAChBk4B,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CACjCF,eAAA,OACIqJ,MAAO64B,EAAaxa,EAAO8U,UAAU18D,QACrCmgC,UAAU,gBACVY,QAASA,IAAMiiC,EAAQpb,EAAQz/C,EAAO,QAAQi4B,SAE7CiiC,EAAYza,EAAO8U,UAAU18D,UAElCkgC,eAAC+J,KAAQ,CACL8qB,iBAAiB,8BACjB7qB,KAAM,CACFC,MAAO,CACH,CACIlD,MAAO,WACPxmC,IAAK,aAGbsgC,QAAUnF,GAjJNqnC,EAACrnC,EAAGgsB,KAC5BmV,GAAYnV,EAAOllB,GAAI,SAAUklB,EAAO0H,SAAS,EAgJb2T,CAAoBrnC,EAAGgsB,IAE3Crd,UAAU,cACV0qB,QAAS,CAAC,SAAS70B,SAEnBF,eAAA,OAAKC,UAAU,gBAAeC,SAC1BF,eAAA,OAAKxT,IAAI,4BAA4B+a,IAAI,kBAQ3Dy7B,EAAetb,IACjB,MAAMub,EAAevb,EAAOwb,gBAAgBC,oBACtCC,EAAqBH,EAAeA,EAAalhC,QAAQC,GAA8B,KAArBA,EAAKqhC,cAAsB,GAEnG,MAAsB,aAAlB3b,EAAOnqB,QAAyB6lC,EAAmBnhD,OAAS,EAExDke,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,oBAAmBC,SAAC,qBAGlCkjC,EAAmB7hD,KAAI,CAACygB,EAAM/5B,IAC3Bk4B,gBAAA,OAAiBF,UAAU,sBAAqBC,SAAA,CAC5CF,eAAA,QAAMqJ,MAAO,CAAE2E,WAAY,IAAKS,YAAa,GAAIvO,SAC5C8B,EAAKi8B,WAETj8B,EAAKqhC,cAJAp7D,QASQ,KAAvBy/C,EAAO2b,YAEVljC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OAAKC,UAAU,oBAAmBC,SAAC,qBAGnCF,eAAA,OAAKC,UAAU,sBAAqBC,SAC/BwnB,EAAO2b,sBAPjB,CAWP,EASEC,EAAelhD,IACjB,MAAMmhD,EAAkB,CACpB,CACIj5B,MACItK,eAAA,OAAKC,UAAU,uBAAsBC,SACjCF,eAAA,QAAAE,SACKm/B,GACG/K,GACAlyC,GACFwF,kBAId+mB,MAAO,MACP8iB,UAAU,EACV1xB,OAAQA,CAACrrC,EAAGgzD,KACR,MAAM8b,EAAYpI,KAAmB1T,EAAOllB,GACtCihC,EACgB,aAAlB/b,EAAOnqB,QACPmqB,EAAOwb,gBAAgBC,qBACvBzb,EAAOwb,gBAAgBC,oBAAoBphC,QACtCC,GAA8B,KAArBA,EAAKqhC,cACjBphD,OAAS,EACTyhD,EAAoC,KAAvBhc,EAAO2b,YAC1B,OACIljC,gBAAA,OAAKF,UAAU,qBAAoBC,SAAA,CAC/BF,eAACoK,KAAO,CACJm4B,OAAO,EACPl4B,UAAU,aACVC,MAAOod,EAAO+P,SAASv3B,SAEvBF,eAAA,OACIC,UAAU,gBACVY,QAASA,IAvCpB6mB,KACbA,EAAO9kB,UAAU3gB,OAAS,GAC1B0hD,EAAWjc,EAAQA,EAAO9kB,UAAU,GAAI,EAAG,UAC/C,EAoC2CghC,CAAYlc,GAAQxnB,SAElCwnB,EAAO+P,cAGdgM,GAAeC,IACb1jC,eAAC6jC,KAAO,CACJhP,iBAAgB,gCAAA9+D,OACZ0tE,EACM,YACA,eAEVp5B,UAAU,MACV0qB,QAAQ,QACR7rB,KAAMs6B,EACNM,aAAeC,GACXzI,GACI5T,EAAOllB,GACPuhC,GAGRC,QACI7jC,gBAAA,OACIkJ,MAAO,CAAEuF,SAAU,YAAa1O,SAAA,CAE/B8iC,EAAYtb,GACb1nB,eAACikC,KAAa,CACVhkC,UAAU,oBACVY,QAASA,IACLy6B,GACI5T,EAAOllB,IACP,QAKnBtC,SAEDF,eAAA,OACIxT,IAAG,4BAAAz2B,OACC0tE,EAAc,SAAW,OAAM,QAEnCl8B,IAAI,gBAId,GAIlB,CACI+C,MACItK,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAM9N,SAAC,eAIxDsxB,UAAW,YACXjxD,IAAK,YACLouC,MAAO,MACP5O,OAAS8pB,GACL7pB,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,WAAYtJ,SAC7Bm/B,GAAgBnB,GAAkBrU,MAI/C,CACIvf,MACItK,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAM9N,SAAC,aAIxDsxB,UAAW,WACXjxD,IAAK,WACLouC,MAAO,MACPgjB,OAAQA,CAACxuC,EAAG2N,IACR,IAAIoM,KAAK/Z,EAAE86C,UAAY,IAAI/gC,KAAKpM,EAAEmtC,UACtCl+B,OAAS8pB,GACL7pB,eAAA,QACIqJ,MACIyzB,GAAsBjT,GAChB,CAAErgB,MAAO,UAAWwE,WAAY,KAChC,CAAExE,MAAO,WAClBtJ,SAEA2pB,EAAOoT,KAAMpT,GAAM3hB,OAAO,cAAgB,OAIvD,CACIoC,MACItK,eAAA,QAAMqJ,MAAO,CAAEG,MAAO,UAAWwE,WAAY,KAAM9N,SAAC,WAIxDsxB,UAAW,SACXjxD,IAAK,SACLouC,MAAO,MACPgjB,OAAQA,CAACxuC,EAAG2N,IAAM3N,EAAEoa,OAAOilC,cAAc1xC,EAAEyM,QAC3CwC,OAAQA,CAACrrC,EAAGgzD,EAAQz/C,IAChB+3B,eAAA,OACIqJ,MAAO44B,EAAkBva,EAAOnqB,QAChC0C,UAAU,kBAAiBC,SAE3BF,eAAA,QAAAE,SACKuhC,EAAa/Z,EAAOnqB,QACfkkC,EAAa/Z,EAAOnqB,QAAQwJ,MAC5B2gB,EAAOnqB,YAK7B,CACI+M,MACInK,gBAAA,OAAKF,UAAU,wBAAuBC,SAAA,EAChCu4B,EACG/xB,MAAM1E,GAASA,EAAK5f,OAASA,IAC7B8f,KAAKwX,MAAM4d,GAAyB,KAAjBA,EAAIG,YACxBz3B,eAAA,OACIqJ,MAAO,CAAES,OAAQ,WACjBjJ,QAASA,IAAMqjC,EAAc9hD,GAC7BoK,IAAI,8BACJ+a,IAAI,WAGZvH,eAAA,OACIqJ,MAAO,CAAES,OAAQ,WACjB7J,UACIw4B,EAAa/xB,MACR1E,GAASA,EAAK5f,OAASA,IAC1B8mB,KACI,KACA,OAEVrI,QAASA,IAzpBfze,KAClB,MAAM+hD,EAAc1L,EAAal3C,KAAKygB,GAC9BA,EAAK5f,OAASA,EACP,IAAK4f,EAAMkH,MAAOlH,EAAKkH,MAE3BlH,IAEX02B,EAAgByL,EAAY,EAkpBWC,CAAahiD,GAC5BoK,IAAI,gCACJ+a,IAAI,gBAIhBiqB,UAAW,GACXjxD,IAAK,GACLuxD,MAAO,QACPnjB,MAAO,IACP5O,OAAQA,CAACrrC,EAAGgzD,EAAQz/C,IAChBk4B,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CACjCF,eAAA,OACIqJ,MAAO64B,EAAaxa,EAAOnqB,QAC3B0C,UAAU,gBACVY,QAASA,IAnXd6mB,KACV,CAAC,YAAYlmC,SAASkmC,EAAOnqB,UAER,aAAlBmqB,EAAOnqB,QACW,aAAlBmqB,EAAOnqB,QACW,mBAAlBmqB,EAAOnqB,OAEP+8B,EAAc,YAEdA,EAAc,UAElB+H,EAAa3a,GACjB,EAuWmC2c,CAAU3c,GAAQxnB,SAEhCiiC,EAAYza,EAAOnqB,UAExByC,eAAC+J,KAAQ,CACL8qB,iBAAiB,8BACjB7qB,KAAM,CACFC,MAAOm4B,EAAa1a,GACpB7mB,QAAUnF,GA3Yfw3B,EAACx3B,EAAGgsB,KACvB4Q,EAAa5Q,EAAOllB,IACN,aAAV9G,EAAEn7B,KACFs8D,GAAYnV,EAAOllB,GAAI,MAAOklB,EAAO+P,SACzC,EAuYwCvE,CAAex3B,EAAGgsB,IAEtCrd,UAAU,cACV0qB,QAAS,CAAC,SAAS70B,SAEnBF,eAAA,OAAKC,UAAU,gBAAeC,SAC1BF,eAAA,OAAKxT,IAAI,4BAA4B+a,IAAI,kBAOjE,OAAOg8B,CAAe,EAGpBI,EAAaA,CAACr+C,EAAMoiC,EAAQz/C,EAAOma,KACrCu4C,GAAQr1C,GACR00C,EAAe53C,GACfg4C,EAAgB,IACT1S,EACH4c,SAAUh/C,EAAKmyC,SACfrD,IAAKnsD,EAAQ,EACbosD,MAAO/uC,EAAKsd,UAAU3gB,SAE1B46C,GAAYnV,EAAOllB,GAAI,UAAWklB,EAAO0H,SAAS,EAGhDyT,EAAUA,KACZ7I,EAAe,QACf,IAAItS,EAASmR,EAAiB,GAC9BuB,EAAgB,IACT1S,EACH0M,IAAK,EACLC,MAAOwE,EAAiB52C,SAE5B46C,GAAYnV,EAAOllB,GAAI,OAAQklB,EAAO0H,SAAS,EAG7C0T,EAAUA,CAACpb,EAAQz/C,EAAOma,KAC5B43C,EAAe53C,GACfg4C,EAAgB,IACT1S,EACH0M,IAAKnsD,EAAQ,EACbosD,MAAOwE,EAAiB52C,SAE5B46C,GAAYnV,EAAOllB,GAAIpgB,EAAMslC,EAAO0H,SAAS,EAG3CmV,EAAqBj/C,IACvB,MAAMk/C,EAAgB,CAClB,CACIl6B,MAAO,GACPknB,UAAW,WACXjxD,IAAK,WACLkxD,UAAU,EACV1xB,OAAQA,CAACrrC,EAAGgzD,EAAQz/C,IAChB+3B,eAACoK,KAAO,CAACm4B,OAAO,EAAOl4B,UAAU,aAAaC,MAAOi1B,GAAoB7X,EAAO0H,UAAUlvB,SACtFC,gBAAA,OAAKkJ,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAUg1B,IAAK,MAAOl7B,WAAY,IAAKrJ,SAAA,CAC9EF,eAAA,OACIxT,IAAG,WAAAz2B,OAAkC,oBAApB2xD,EAAOiN,SAAiC,MAAQ,MAAK,kBACtEptB,IAAI,SAERvH,eAAA,OACIC,UAAU,oBACVY,QAASA,IAAM8iC,EAAWr+C,EAAMoiC,EAAQz/C,EAAO,WAAWi4B,SAEzDq/B,GAAoB7X,EAAO0H,kBAMhD,CACI9kB,MAAO,GACP/pC,IAAK,SACLouC,MAAO,IACP5O,OAAQA,CAACrrC,EAAGgzD,EAAQz/C,IAChB+3B,eAAA,OAAKC,UAAU,uBAAsBC,SACjCC,gBAAA,OAAKkJ,MAAO,CAAEsF,MAAO,OAAQuL,QAAS,OAAQzK,WAAY,SAAU2K,eAAgB,OAAQla,SAAA,CACxFC,gBAAA,OAAKkJ,MAAO,CAAEG,MAAO,UAAWwV,WAAY,OAAQvQ,YAAa,IAAKvO,SAAA,CAAC,eACtD,IACZwnB,EAAOwH,SAAW+N,KAAMvV,EAAOwH,UAAUhnB,OAAO,cAAgB,OAErElI,eAAA,OACIqJ,MAAO,CACHsF,MAAO,GACPD,OAAQ,GACRwL,QAAS,OACTzK,WAAY,SACZ2K,eAAgB,SAChBtQ,OAAQ,WAEZjJ,QAASA,IAAMg8B,GAAYnV,EAAOllB,GAAI,SAAUklB,EAAO0H,UAAUlvB,SAEjEF,eAAA,OACIqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,IAC5BliB,IAAI,qCACJ+a,IAAI,sBAShC,OACIvH,eAACgyB,KAAK,CACF0S,OAAO,KACPzkC,UAAU,sBACV+wB,QAASwT,EACTrS,WAAY7sC,EAAKsd,UACjBwvB,YAAY,EACZuS,YAAY,GACd,EA2CJT,EAAiB9hD,IACnBk4C,EAAc,WACd+H,EAAa,CAAEjG,OAAQh6C,GAAO,EAGlC,OACI+d,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CACjCF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAAA,OAAKC,UAAU,cAAaC,SACxBF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,oBAMlDF,eAACooB,KAAI,CAACC,SAAU8P,EAAaj4B,SACzBC,gBAAA,OAAKF,UAAU,OAAOoJ,MAAO,CAAE6Q,QAAS,OAAQC,cAAe,UAAWja,SAAA,CACtEC,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BC,gBAAA,OAAKF,UAAU,kBAAiBC,SAAA,CAC5BF,eAACwB,KAAM,CACHvB,UAAU,kBACVgY,QAASwhB,EACTvoB,SA9DN+G,IAClByhB,EAAkBzhB,GAClBpW,GACIw3B,EACAE,EACAthB,EACA0gB,EACAI,EACH,IAwDmB/4B,eAAA,QAAAE,SAAM,uBAEVC,gBAAA,OAAKF,UAAU,aAAYC,SAAA,CACvBF,eAAC6X,KAAK,CACF1G,YAAY,mBACZD,SA1DPxV,IACjB,MAAM6hC,EAAU7hC,EAAE6U,OAAO1mC,MAAMie,cAC/BwxC,EAAiBiE,GACjB17B,GACI07B,EACAhE,EACAE,EACAd,EACAI,EACH,EAkDuBxhB,YAAU,EACVE,OACIzX,eAAA,OACIxT,IAAI,0BACJ+a,IAAI,WAGZ8B,MAAO,CACHsF,MAAO,IACPrF,gBAAiB,UACjBqG,aAAc,MACd8J,OAAQ,uBAGhBzZ,eAACsX,KAAM,CACHrX,UAAU,kBACVoJ,MAAO,CAAEc,SAAU,IAAKuE,OAAQ,IAChCxN,KAAK,WACL0jC,YAAa,EACbrtB,YAAU,EACVpG,YAAY,iBACZD,SApEErnC,IAC1B2vD,EAAoB3vD,GACpBg4B,GACIw3B,EACAxvD,EACA4vD,EACAd,EACAI,EACH,EA6DuB8L,WACI7kC,eAAC8kC,KAAiB,CACdz7B,MAAO,CAAEG,MAAO,aAGxB5O,QAAS05B,KAEbt0B,eAAA,OACIC,UAAU,uBACVY,QAnETkkC,KACfzK,EAAc,YACdpB,GAAqB,EAAK,EAiEkBh5B,SACvB,2BAKTC,gBAAA,OAAKF,UAAU,qBAAqB+S,IAAKmoB,GAAiBj7B,SAAA,CACrD24B,EAAiB52C,OAAS,GACK,IAA5Bs3C,EAAiBt3C,QACb+d,eAAA,OACIC,UAAS,GAAAlqC,OACL4jE,EACM,GACA,uBAAsB,wBACTz5B,SAEvBF,eAACgyB,KAAK,CACF/xB,UAAU,mCACVykC,OAAO,KACPM,cAAc,EACd5S,YAAY,EACZpB,QAASsR,EACTnQ,WAAY0G,MAI3BJ,EAAal3C,KAAKygB,IACf,MAAMijC,EAAyBjjC,EAAKE,KAC/BH,QAAQ2lB,GAA+B,KAApBA,EAAO+P,WAC1Bl2C,KAAKmmC,GAAWA,EAAOllB,KAE5B,OAAOR,EAAKE,KAAKjgB,OAAS,EACtB+d,eAAA,OACIC,UAAS,GAAAlqC,OACLisC,EAAKkH,KAAO,GAAK,SAAQ,wBAE7B8J,IAAKkoB,GAAKl5B,EAAK5f,MAAM8d,SAGrBF,eAACgyB,KAAK,CACF/xB,UAAU,iBACVykC,OAAO,KACPM,cAAc,EACd5S,YAAY,EACZpB,QAASsS,EAAYthC,EAAK5f,MAC1B+vC,WAAYnwB,EAAKE,KACjBgjC,aAAexd,GACa,KAApBA,EAAO+P,SACA,kBAEW,aAAlB/P,EAAOnqB,OAEA,oBAEPu/B,GACIpV,EAAOuW,UAGJ,mBAEA,GAGfkH,WAAY,CACRF,uBACIA,EACJV,oBACAa,cAAgB1d,GACZA,EAAO9kB,UAAU3gB,OAAS,EAC9BojD,WAAY10C,IAAA,IAAC,SACT20C,EAAQ,SACRC,EAAQ,OACR7d,GACH/2B,EAAA,OAEG,IADA+2B,EAAO9kB,UAAU3gB,OACb,KAAOqjD,EACPtlC,eAAA,OACIxT,IAAI,0CACJqU,QAAUnF,GACN6pC,EACI7d,EACAhsB,GAGR6L,IAAI,aAGRvH,eAAA,OACIxT,IAAI,yCACJqU,QAAUnF,GACN6pC,EACI7d,EACAhsB,GAGR6L,IAAI,UAEX,MA5DRvF,EAAK5f,MAgEbq3C,GACe,KAAlBJ,GAC4B,IAA5BE,EAAiBt3C,OAef,KAdAke,gBAAC2Q,KAAG,CAEA7Q,UAAU,0BAAyBC,SAAA,CAEnCF,eAAC+Q,KAAG,CAAC9Q,UAAU,uBAAsBC,SAChCm/B,GACG/K,GACAtyB,EAAK5f,MACPwF,gBAENoY,eAAC+Q,KAAG,CAAC9Q,UAAU,qBAAoBC,SAAC,iBAT/B8B,EAAK5f,KAaV,IAEXq2C,EAAa3wB,OACT9F,GAA8B,IAArBA,EAAKE,KAAKjgB,WAEnBw3C,GACqB,KAAlBJ,GACAE,EAAiBt3C,OAAS,IAC1B+d,eAACwlC,KAAK,CACFn8B,MAAO,CAAEnhC,OAAQ,WACjBmyC,MAAOmrB,KAAMC,mCAMnC,EAqfLjE,GAEDxhC,eAACI,KAAK,CACFH,UAAU,+BACV0O,MAAO,IACP+2B,UAAU,EACVjR,gBAAc,EACdvrB,KAAM+vB,EACN3uB,MAAM,GACNqU,SAAUmhB,GACVjhB,OAAQA,GAAO3e,SAlYnBF,eAAA,OAAKC,UAAU,kBAAiBC,SAC5BF,eAACooB,KAAI,CACDnoB,UAAU,YACVjZ,KAAK,QACL2+C,IAAI,0CACJtd,SAAU3K,EAAQxd,SAElBC,gBAACgU,KAAI,CAAClU,UAAU,YAAYiU,KAAMA,EAAM0xB,eAAgB1G,GAAmBh/B,SAAA,CACvEF,eAAA,OAAKC,UAAU,oBAAmBC,SAAC,oBACnCC,gBAAA,OAAKF,UAAU,sBAAqBC,SAAA,EACf,WAAfm6B,GAA0C,aAAfA,GAA4C,YAAfA,IACtDl6B,gBAAC2Q,KAAG,CAACqG,OAAQ,GAAGjX,SAAA,CACZC,gBAAC4Q,KAAG,CAAC9Q,UAAU,aAAamX,KAAM,GAAI3D,GAAI,GAAGvT,SAAA,CACzCF,eAAA,OAAKC,UAAU,kBAAiBC,SAAC,kBAGjCF,eAAA,OAAKC,UAAU,YAAWC,SACrBq4B,GAAcA,EAAWd,SAAWc,EAAWd,SAAW,SAGnEt3B,gBAAC4Q,KAAG,CAAC9Q,UAAU,aAAamX,KAAM,GAAI3D,GAAI,GAAGvT,SAAA,CACzCF,eAAA,OAAKC,UAAU,kBAAiBC,SAAC,aAGjCF,eAAA,OAAKC,UAAU,YAAWC,SACrBq4B,GAAcA,EAAW6D,OAASiD,GAAiB/K,GAAiBiE,EAAW6D,QAAU,SAGlGj8B,gBAAC4Q,KAAG,CAAC9Q,UAAU,aAAamX,KAAM,GAAI3D,GAAI,GAAGvT,SAAA,CACzCF,eAAA,OAAKC,UAAU,kBAAiBC,SAAC,8BAGjCF,eAAA,OAAKqJ,MAAO,CAAEwG,aAAc,IAAM5P,UAAU,YAAWC,SAClDq4B,GAAcA,EAAW8K,YAAc9K,EAAW8K,YAAc,YAKjFljC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,aAAamX,KAAM,GAAI3D,GAAI,GAAGvT,SACzCF,eAACmU,KAAKkD,KAAI,CACNhO,MAAO,CAAEnhC,OAAQ,GACjB6F,KAAK,aACL83D,cAAc,WACdC,kBAAoBpqC,GAAMA,EAAEy9B,SAASj5B,SAErCC,gBAACw3B,GAAO,IAAKwG,GAAYj+B,SAAA,CACrBF,eAAA,KAAGC,UAAU,uBAAsBC,SAC/BF,eAAC+lC,KAAa,MAElB/lC,eAAA,KAAGC,UAAU,kBAAiBC,SAAC,qDAM3CF,eAAC+Q,KAAG,CAACqG,KAAM,GAAInX,UAAU,cAAaC,SAAC,sDAGvCF,eAAA,OAAKC,UAAU,YAAWC,SACrBi5B,EAAS53C,KAAI,CAACygB,EAAM/5B,IACjBk4B,gBAAA,OAAoBF,UAAU,kBAAiBC,SAAA,CAC3CC,gBAAA,OAAAD,SAAA,CACIF,eAAA,OACIC,UAAU,WACVzT,IAAG,WAAAz2B,OAA2B,oBAAdisC,EAAK5f,KAA6B,MAAQ,MAAK,aAC/DmlB,IAAI,QAERvH,eAAA,QAAAE,SAAOq/B,GAAoBv9B,EAAKj0B,WAEpCiyB,eAAA,OACIxT,IAAI,8BACJ+a,IAAI,SACJ1G,QAASA,IAtF5B54B,KACrB,MAAM+9D,EAAc,IAAI7M,GACxB6M,EAAY/iD,OAAOhb,EAAO,GAC1BmxD,EAAY4M,GACZ9xB,EAAK2B,eAAe,CAAEowB,WAAYD,GAAc,EAkFOE,CAAgBj+D,GAC/Bg4B,UAAU,iBAbR+B,EAAKmkC,wBA0U3CnmC,eAACuyB,GAAY,CACTrxB,KAAM64B,EACN7wB,KAAM2wB,EACNv0C,KAAM60C,EACNvH,YAAa6F,EACb5F,KAAMA,EACNyD,WAAYA,EACZxD,SAAUA,EACVnkB,MAAO0kB,EACPN,MAAOA,EACPE,SAtHMmT,IACd,IAAI5gD,EAAQC,eAAeC,QAAQ,WAC/BJ,EAAO,CACP82C,OAAQgK,EACRjG,MAAOhG,EAAa33B,IAEAq2B,EAAiBnyB,MACpC1E,GAASA,EAAKQ,KAAO23B,EAAa33B,KAOnC7Q,MAAM,gBAAiB,CACnBC,OAAQ,OACRnF,KAAMj3B,KAAKC,UAAU6vB,GACrBuM,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,eAAgB,sBAGnBC,MAAMC,IACqB,MAApBA,EAASnyB,OAIW,MAApBmyB,EAASnyB,SACTg6D,GAAoB,GACpB2B,MALAjrB,KAAQplB,MAAM,yCAMlB,IAEHgH,OAAOC,IACJme,KAAQplB,MAAM,yCAAyC,IAxB/DolB,KAAQplB,MACJ,oFAyBR,EAmFQ4nC,OAhFQoB,IAChB,GAAoB,SAAhB2F,EAAwB,CACxB,IAAIrS,EAASmR,EAAiBzE,EAAM,GACpCgG,EAAgB,IACT1S,EACH0M,IAAKA,EACLC,MAAOwE,EAAiB52C,SAE5B46C,GAAYnV,EAAOllB,GAAI,OAAQklB,EAAO0H,SAC1C,KAAO,CACH,IAAI9pC,EAAO+c,GACPqlB,EAASpiC,EAAKsd,UAAUwxB,EAAM,GAClCgG,EAAgB,IACT1S,EACH4c,SAAUh/C,EAAKmyC,SACfrD,IAAKA,EACLC,MAAO/uC,EAAKsd,UAAU3gB,SAE1B46C,GAAYnV,EAAOllB,GAAI,UAAWklB,EAAO0H,SAC7C,GA8DQzQ,SA/HU+V,KAClB8F,EAAc,GACdC,EAAY,GACZP,EAAc,IACdJ,GAAoB,EAAM,EA4HlB5G,eA5DY9wC,IACpB83C,EAAc,IACD,WAAT93C,GACA83C,EAAc,QACdI,EAAc,YACdpB,GAAqB,IAErB2D,GAAY1C,EAAa33B,GAAI,SAAU23B,EAAa/K,SACxD,EAqDQ+D,WAAaza,GAzILA,KAChBgiB,GAAShiB,EAAI,EAwIgBya,CAAWza,GAChC2tB,WAAYA,CAAClQ,EAAM9D,IAtIVyE,CAACX,IAClBqE,EAAcrE,EAAK,EAqIqBW,CAAaX,GAC7C/C,YAAc+C,GAhJItE,KAAmB,IAAlB,SAAEiB,GAAUjB,EACvC2I,EAAc,GACdC,EAAY3H,EAAS,EA8IUwT,CAAsBnQ,OAI7D,K,OC3oDe,SAASoQ,GAAe51C,GAAiB,IAAf,WAAC61C,GAAW71C,EACjD,MAAO81C,EAAYC,GAAiBjhC,oBAAS,IACtCq2B,EAAiB6K,GAAsBlhC,oBAAS,GAkCvD,OACEtF,gBAAA,OAAKkJ,MAAO,CAAEu9B,UAAU,GAAU3mC,UAAU,uCAAsCC,SAAA,CAChFC,gBAAA,OAAKkJ,MAAO,CAACsF,MAAO,OAAQuL,QAAS,OAAQxL,OAAQ,OAAQ0L,eAAgB,gBAAiB3K,WAAY,SAAUC,QAAS,UAAW7O,QAL5HgmC,KACdH,GAAeD,EAAW,EAImIvmC,SAAA,CACzJF,eAAA,QAAMC,UAAU,kBAAiBC,SAAC,cAClCF,eAAA,OAAKC,UAAWwmC,EAAa,wBAA0B,iBAAkBj6C,IAAI,kCAE/EwT,eAAA,OAAKC,UAAU,oBAAoBoJ,MAAO,CAAEqF,OAAQ+3B,EAAa,OAAS,GAAIvmC,SAvC1D,CACtB,CACI6G,MAAO,iBACPl9B,MAAO,kBAEX,CACIk9B,MAAO,SACPl9B,MAAO,UAEX,CACIk9B,MAAO,iBACPl9B,MAAO,UAEX,CACIk9B,MAAO,WACPl9B,MAAO,YAEX,CACIk9B,MAAO,gBACPl9B,MAAO,kBAsBW0X,KAAIygB,GAClBhC,eAAA,OAAKC,UAAS,kCAAAlqC,OAAoC+lE,IAAoB95B,EAAKn4B,MAAQ,kBAAoB,IAAMg3B,QAASA,IAhBxGmB,KACtB2kC,EAAmB3kC,EAAKn4B,OACxB28D,EAAWxkC,EAAKn4B,MAAM,EAc8G0pD,CAAevxB,GAAM9B,SAAE8B,EAAK+E,cAMtK,CACAw/B,GAAkBp2B,aAlEO5zC,IAChB,CACLsG,SAAUtG,EAAMsG,SAChBD,YAAarG,EAAMqG,YACnBwD,SAAU7J,EAAMqG,YAAYwD,SAC5BtB,SAAUvI,EAAMqG,YAAYkC,aAIJi4B,IAAQ,CAEnC,IAuDiBoT,CAA6Co2B,I,OCnE/D,MAAMO,WAAiBzoC,YACrBjqC,YAAYkqC,GACVC,MAAMD,GACNjqC,KAAKkI,MAAQ,CAAEwqE,YAAY,GAC3B1yE,KAAK2yE,aAAe1zB,IAAMC,YAE1Bl/C,KAAK4yE,eAAiB5yE,KAAK4yE,eAAexnC,KAAKprC,MAC/CA,KAAK6yE,aAAe7yE,KAAK6yE,aAAaznC,KAAKprC,MAC3CA,KAAK8yE,WAAa9yE,KAAK8yE,WAAW1nC,KAAKprC,MACvCA,KAAK+yE,YAAc/yE,KAAK+yE,YAAY3nC,KAAKprC,MACzCA,KAAKkqE,OAASlqE,KAAKkqE,OAAO9+B,KAAKprC,KACjC,CAEA4yE,iBACM5yE,KAAKiqC,MAAMwgB,UACfzqD,KAAK2yE,aAAa/oC,QAAQoN,OAC5B,CAEA67B,aAAaG,GACX,GAAIhzE,KAAKiqC,MAAMwgB,SAAU,OACzB,MAAMshB,EAAQiH,EAAI92B,OAAO6vB,MACzB,GAAI/rE,KAAKiqC,MAAM4oC,aAAc,CAC3B,MAAMI,EAAQjzE,KAAKkzE,gBAAgBnH,GACnC/rE,KAAKiqC,MAAM4oC,aAAaI,EAC1B,CACF,CAEAH,WAAWnkC,GACTA,EAAM6G,iBACFx1C,KAAKiqC,MAAMkpC,SACfnzE,KAAKypC,SAAS,CAAEipC,YAAY,GAC9B,CAEAK,YAAYpkC,GACV3uC,KAAKypC,SAAS,CAAEipC,YAAY,GAC9B,CAEAxI,OAAOv7B,GAEL,GADAA,EAAM6G,iBACFx1C,KAAKiqC,MAAMkpC,QAAS,OACxB,MAAMpH,EAAQp9B,EAAMykC,aAAarH,MACjC,GAAI/rE,KAAKiqC,MAAM4oC,aAAc,CAC3B,MAAMI,EAAQjzE,KAAKkzE,gBAAgBnH,GACnC/rE,KAAKiqC,MAAM4oC,aAAaI,EAC1B,CACAjzE,KAAKypC,SAAS,CAAEipC,YAAY,GAC9B,CAEAQ,gBAAgBrlC,GACd,MAAMolC,EAAQ,GACd,IAAK,IAAI7kD,EAAI,EAAGA,EAAIyf,EAAKjgB,OAAQQ,IAC/B6kD,EAAMtkD,KAAKkf,EAAKF,KAAKvf,IAEvB,OAAO6kD,CACT,CAEAvnC,SACE,OACEI,gBAAA,OACEF,UAAS,YAAAlqC,OAAc1B,KAAKkI,MAAMwqE,WAAa,YAAc,IAC7DI,WAAY9yE,KAAK8yE,WACjBC,YAAa/yE,KAAK+yE,YAClB7I,OAAQlqE,KAAKkqE,OACb19B,QAASxsC,KAAK4yE,eACd59B,MAAO,CAAES,OAAQz1C,KAAKiqC,MAAMwgB,SAAW,UAAY,WAAY5e,SAAA,CAE/DF,eAAA,SACEgT,IAAK3+C,KAAK2yE,aACV/mC,UAAU,YACV7d,KAAK,OACLg8C,UAAQ,EACRltB,SAAU78C,KAAK6yE,eAEjBlnC,eAAA,OACEuH,IAAI,SACJtH,UAAU,OACVzT,IAAI,oCAENwT,eAAA,QAAAE,SAAM,mBAGZ,EAGa4mC,U,cCnFf,MAAM/+B,WAAiB1J,YACrBjqC,YAAYkqC,GACVC,MAAMD,GACNjqC,KAAKkI,MAAQ,CAAC,CAChB,CAEAwjC,SACE,OACEI,gBAAA,OAAKF,UAAU,mCAAkCC,SAAA,CACjDF,eAACkf,KAAO,CAACjf,UAAU,oBAAoBjZ,KAAK,KAAK4Z,QAAQ,UAAUue,UAAc9qD,KAAKiqC,MAAMz7B,SAAW,GAAOxO,KAAKiqC,MAAMz7B,SAAW,IAAQ,SAAW,KAC7Jm9B,eAAA,KAAGgS,OAAU39C,KAAKiqC,MAAMz7B,SAAW,IAAMo9B,UAAU,kDAGjD,EAGa8H,UCRf,MAAM2/B,GAAS,mIACTC,GAAgBxnC,gBAAA,OAAAD,SAAA,CAAKF,eAACkf,KAAO,CAAEl4B,KAAK,KAAKiZ,UAAU,yBACzDkf,UAAU,SAAUve,QAAQ,UAAUgnC,KAAK,WAAW,qEAChDC,GAAW,wEAajB,MAAMjQ,WAAev5B,YACnBjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAmBf4oC,aAAgB9G,IAEV/rE,KAAKkI,MAAMurE,qBACbzzE,KAAKypC,SAAS,CAAEsiC,MAAO,GAAI0H,qBAAqB,IAElD,IAAIC,EAAa,GAEjB3H,EAAM38C,SAAQukD,IACR3zE,KAAKkI,MAAM6jE,MAAMt4B,OAAOnM,GAAMA,EAAE5tB,OAASi6D,EAAEj6D,QAC7Cg6D,EAAW/kD,KAAKglD,EAClB,IAEF3zE,KAAKypC,UAAS6xB,IAAS,CACrByQ,MAAOzQ,EAAUyQ,MAAMrqE,OAAOgyE,MAC7B,EACJ,KAwJDE,QAAUvsC,IACRrnC,KAAKypC,SAAS,CAAEsiC,MAAO,GAAI0H,qBAAqB,GAAQ,EACzD,KA4BDxqB,aAAgBta,IAE6B,IAAvC3uC,KAAK6/C,KAAKjW,QAAQ2f,kBACpB5a,EAAM6G,iBACNx1C,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,IAET7a,EAAM6G,iBACNx1C,KAAKypC,SAAS,CAAE+f,WAAW,IAC3B7a,EAAM0lB,kBACFr0D,KAAKkI,MAAMurE,qBACbzzE,KAAKypC,SAAS,CAAEsiC,MAAO,GAAI0H,qBAAqB,IAChDzzE,KAAKypC,SAAS,CAAEoqC,OAAQR,MAExBrzE,KAAK8zE,eAEA,GACR,KACDC,cAAiB1sC,IACfrnC,KAAKypC,SAAS,CAAE4wB,QAAShzB,EAAE6U,OAAO1mC,OAAQ,EA1O1CxV,KAAKkI,MAAQ,CACX6jE,MAAO,GACPiI,WAAW,EACXC,eAAgB,CAAC,EACjBR,qBAAqB,EACrBI,OAAQR,GACR7pB,WAAW,EACX6Q,QAAS,WACT6Z,OAAQ,SAEVl0E,KAAK6/C,KAAOZ,IAAMC,YAClBl/C,KAAKm0E,SAAW,GAEhBn0E,KAAK8zE,YAAc9zE,KAAK8zE,YAAY1oC,KAAKprC,MACzCA,KAAKo0E,YAAcp0E,KAAKo0E,YAAYhpC,KAAKprC,MACzCA,KAAKq0E,cAAgBr0E,KAAKq0E,cAAcjpC,KAAKprC,KAC/C,CAmBA,kBAAMs0E,GACJt0E,KAAKypC,SAAS,CAAEwqC,eAAgB,CAAC,EAAGD,WAAW,IAC/Ch0E,KAAKypC,SAAS,CAAEoqC,OAAQP,KACxB,MAAMiB,EAAW,GACjBv0E,KAAKkI,MAAM6jE,MAAM38C,SAAQovC,IACvB+V,EAAS5lD,KAAK3uB,KAAKo0E,YAAY5V,GAAM,IAEvC,UACQgW,QAAQC,IAAIF,GAElBv0E,KAAKypC,SAAS,CAAEgqC,qBAAqB,EAAMO,WAAW,IACtDh0E,KAAKypC,SAAS,CAAEoqC,OAAQL,KACnBxzE,KAAKiqC,MAAMyqC,YACd10E,KAAKiqC,MAAMyqC,YAGf,CAAE,MAAOrtC,GAEPrnC,KAAKypC,SAAS,CAAEgqC,qBAAqB,EAAMO,WAAW,IACtDx1C,MAAM,kCACNx+B,KAAKypC,SAAS,CAAEoqC,OAAQR,IAC1B,CACF,CAEAe,YAAY5V,GACV,OAAO,IAAIgW,SAAQ,CAACG,EAASC,KAC3B,MAAMC,EAAM,IAAIC,eAEhBD,EAAIE,OAAO5pC,iBAAiB,YAAYwD,IACtC,GAAIA,EAAMqmC,iBAAkB,CAC1B,MAAMC,EAAO,IAAKj1E,KAAKkI,MAAM+rE,gBAC7BgB,EAAKzW,EAAK9kD,MAAQ,CAChBxR,MAAO,UACPgtE,WAAavmC,EAAMwmC,OAASxmC,EAAMqxB,MAAS,KAE7ChgE,KAAKypC,SAAS,CAAEwqC,eAAgBgB,GAClC,KAGFJ,EAAIE,OAAO5pC,iBAAiB,QAAQwD,IAClC,MAAMsmC,EAAO,IAAKj1E,KAAKkI,MAAM+rE,gBAC7BgB,EAAKzW,EAAK9kD,MAAQ,CAAExR,MAAO,OAAQgtE,WAAY,KAC/Cl1E,KAAKypC,SAAS,CAAEwqC,eAAgBgB,IAChCN,EAAQE,EAAIj3C,SAAS,IAGvBi3C,EAAIE,OAAO5pC,iBAAiB,SAASwD,IACnC,MAAMsmC,EAAO,IAAKj1E,KAAKkI,MAAM+rE,gBAC7BgB,EAAKzW,EAAK9kD,MAAQ,CAAExR,MAAO,QAASgtE,WAAY,GAChDl1E,KAAKypC,SAAS,CAAEwqC,eAAgBgB,IAChCL,EAAOC,EAAIj3C,SAAS,IAGtB,MAAMwtC,EAAW,IAAIC,SACrBD,EAASE,OAAO,OAAQ9M,EAAMA,EAAK9kD,MAEnC,IAAIyX,EAAQ+M,OAAO9M,eAAeC,QAAQ,WAC5B,OAAVF,GAIJ0jD,EAAIhgC,KAAK,OAAQ,gBACjBggC,EAAIO,iBAAiB,gBAAiB,UAAYjkD,GAC9C,qBAAuBnxB,KAAKiqC,MAAMiqC,QACpCW,EAAIO,iBAAiB,YAAap1E,KAAKm0E,SAAS3V,EAAK9kD,OACrDm7D,EAAIO,iBAAiB,YAAap1E,KAAKkI,MAAMmyD,SAC7Cwa,EAAIO,iBAAiB,WAAYp1E,KAAKkI,MAAMgsE,QAC5CW,EAAIO,iBAAiB,OAAQ,KAG7BP,EAAIO,iBAAiB,YAAap1E,KAAKiqC,MAAMvwB,MAC7Cm7D,EAAIO,iBAAiB,YAAap1E,KAAKiqC,MAAMowB,SAC7Cwa,EAAIO,iBAAiB,WAAYp1E,KAAKiqC,MAAMiqC,QAC5CW,EAAIO,iBAAiB,OAAQp1E,KAAKiqC,MAAMxpC,KAI1Co0E,EAAIO,iBAAiB,QAAS,YAE9BP,EAAIQ,KAAKjK,IArBPltC,OAAO6K,SAASQ,KAAO,QAqBP,GAEtB,CAEA+rC,eAAe9W,GACb,MAAMyV,EAAiBj0E,KAAKkI,MAAM+rE,eAAezV,EAAK9kD,MACtD,GAAI1Z,KAAKkI,MAAM8rE,WAAah0E,KAAKkI,MAAMurE,oBACrC,OACE9nC,eAAA,OAAKC,UAAU,0BAAyBC,SAEtCF,eAAC+H,GAAQ,CAACllC,SAAUylE,EAAiBA,EAAeiB,WAAa,KAIzE,CAGApB,cACE9zE,KAAKypC,SAAS,CAAEwqC,eAAgB,CAAC,EAAGD,WAAW,IAC/Ch0E,KAAKypC,SAAS,CAAEoqC,OAAQP,KAExB,IAAIniD,EAAQC,eAAeC,QAAQ,WAEnC,MAuBMkkD,EAAiBv1E,KAAKkI,MAAM6jE,MAAM7+C,KAAIsxC,GAvBzBrqB,OAAOqqB,EAAM37C,EAASw3C,EAAS6Z,EAAQzzE,KACxD,MAAM2qE,EAAW,IAAIC,SACrBD,EAASE,OAAO,SAAU9M,GAE1B,MAAM5gC,QAAiBN,MAAM,eAAgB,CAC3C0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMgzC,EACN5tC,QAAS,CACPC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,YAAa7a,EACb,YAAaw3C,EACb,WAAY6Z,EACZ,OAAQzzE,KAGZ,OAAwB,MAApBm9B,EAASnyB,OACJ+oE,QAAQI,OAAO,uBAEXh3C,EAASC,MAAM,EASrB23C,CAAWhX,EALH,qBAAuBx+D,KAAKiqC,MAAMiqC,OAAUl0E,KAAKm0E,SAAS3V,EAAK9kD,MAAQ1Z,KAAKiqC,MAAMvwB,KAClF,qBAAuB1Z,KAAKiqC,MAAMiqC,OAAUl0E,KAAKkI,MAAMmyD,QAAUr6D,KAAKiqC,MAAMowB,QAC7E,qBAAuBr6D,KAAKiqC,MAAMiqC,OAAUl0E,KAAKkI,MAAMgsE,OAASl0E,KAAKiqC,MAAMiqC,OAC/E,qBAAuBl0E,KAAKiqC,MAAMiqC,OAAU,EAAIl0E,KAAKiqC,MAAMxpC,MAKvE+zE,QAAQC,IAAIc,GACT53C,MAAK83C,IACJz1E,KAAKypC,SAAS,CAAEgqC,qBAAqB,EAAMO,WAAW,IACtDh0E,KAAKypC,SAAS,CAAEoqC,OAAQL,KACpBxzE,KAAKiqC,MAAMyqC,YACb10E,KAAKiqC,MAAMyqC,YACb,IAED32C,OAAMhH,IACL/2B,KAAKypC,SAAS,CAAEgqC,qBAAqB,EAAOO,WAAW,IACvDx1C,MAAM,kCACNx+B,KAAKypC,SAAS,CAAEoqC,OAAQR,IAAY,GAE1C,CAOAgB,gBACE,OAAIr0E,KAAKkI,MAAMurE,oBAEX9nC,eAACW,KAAM,CAACC,QAAQ,UAChBC,QAASxsC,KAAK4zE,QAAQ/nC,SACrB,UAMDF,eAACW,KAAM,CAACve,KAAK,SAASwe,QAAQ,iBAC5Bke,SAAUzqD,KAAKkI,MAAM6jE,MAAMn+C,QAAU,GAAK5tB,KAAKkI,MAAM8rE,UAAUnoC,SAChE,UAKP,CACAyd,cACE,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACrBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGX,CAsBA9d,SACE,IAAIgqC,EAAkBh8D,GACbi1B,GACE3uC,KAAKm0E,SAASz6D,GAAQi1B,EAAMuN,OAAO1mC,MAI9C,OACEm2B,eAAA,OAAKC,UAAU,MAAKC,SAClBC,gBAACgU,KAAI,CAACnB,IAAK3+C,KAAK6/C,KAAMp/C,GAAG,eAAewzD,YAAU,EAACzK,UAAWxpD,KAAKkI,MAAMshD,UAAW0K,SAAUl0D,KAAKipD,aAAapd,SAAA,CAC9GF,eAAA,OAAKC,UAAU,sBAAqBC,SAAE7rC,KAAKkI,MAAM2rE,SACjD/nC,gBAAA,OAAKF,UAAU,eAAcC,SAAA,CAC3BF,eAAA,OAAKC,UAAU,OAAMC,SACnBF,eAAC8mC,GAAQ,CACPI,aAAc7yE,KAAK6yE,aACnBpoB,SAAUzqD,KAAKkI,MAAM8rE,WAAah0E,KAAKkI,MAAMurE,wBAGjD9nC,eAAA,OAAKC,UAAU,oCAAmCC,SAChDC,gBAACqmB,KAAS,CAACvmB,UAAU,OAAMC,SAAA,CACzBC,gBAAC2Q,KAAG,CAAC7Q,UAAU,4CAA2CC,SAAA,CAE1B,qBAApB7rC,KAAKiqC,MAAMvwB,KACjBiyB,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,YAAYoJ,MAAO,CAAEsF,MAAO,SAAUzO,SAAE,uBAE1D,GAEXF,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,kEAEzBD,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,gCAA+BC,SAAC,iBAK1D7rC,KAAKkI,MAAM6jE,MAAM7+C,KAAIsxC,GAElB1yB,gBAAC2Q,KAAG,CAAiB7Q,UAAU,oBAAmBC,SAAA,CACnB,qBAApB7rC,KAAKiqC,MAAMvwB,KAEhBiyB,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,YAAWC,SAClCC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,UAAYnX,EAAK9kD,KAAMkyB,UAAU,YAAWC,SAAA,CACjEF,eAACmU,KAAKwF,QAAO,CAACswB,SAAS,EAAOjjD,KAAK,KACjC4yB,UAAQ,EACRx3B,KAAK,OACLinB,MAAO,CAAEsF,MAAO,SAChBuC,SAAU64B,EAAelX,EAAK9kD,MAC9Bm8D,QAAQ,iCAGVlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAE,8CAKzC,GAENF,eAAC+Q,KAAG,CAACqS,GAAG,OAAOnjB,UAAU,gEAA+DC,SACrF7rC,KAAKs1E,eAAe9W,KAEvB7yB,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,gCAA+BC,SACpD2yB,EAAK9kD,KAAKkU,OAAS,GAAM4wC,EAAK9kD,KAAKoZ,UAAU,EAAG,IAAM,MAAQ0rC,EAAK9kD,SAxB/D8kD,EAAK9kD,QA6BjB1Z,KAAKkI,MAAM6jE,MAAMn+C,OAAS,GAA8C,UAAzC5tB,KAAKiqC,MAAM17B,YAAY0C,cACrD06B,eAAC8Q,KAAG,CAAC7Q,UAAU,wCAAuCC,SAErDF,eAAC+Q,KAAG,CAACE,GAAG,OAAM/Q,SACZC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,UAAS9pC,SAAA,CAC7BF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAI7rC,KAAKkI,MAAM6jE,MAAMn+C,OAAS,EAAM+d,eAAA,OAAAE,SAAK,6BAAmCF,eAAA,OAAAE,SAAK,4BAClHC,gBAACgU,KAAKwF,QAAO,CAAC5rC,KAAK,UAAUk+B,GAAG,SAASjlB,KAAK,KAC5CmjD,aAAa,WACbj5B,SAAU78C,KAAK+zE,cAAcloC,SAAA,CAE7BF,eAAA,UAAQn2B,MAAM,WAAUq2B,SAAC,aACzBF,eAAA,UAAQn2B,MAAM,aAAYq2B,SAAC,iBAC3BF,eAAA,UAAQn2B,MAAM,QAAOq2B,SAAC,oBAOpB,WAIlBF,eAAA,OAAKC,UAAU,yBAAwBC,SAAE7rC,KAAKq0E,sBAKtD,EAGav4B,aAzVU5zC,IAChB,CACHqG,YAAarG,EAAMqG,gBAIGm6B,IAAQ,CAGnC,IAgVcoT,CAA6CynB,IC5U7C,SAASh1B,GAAUtE,GAC9B,MAAO8rC,EAAYC,GAAiB5kC,mBAAS,IAgB7C,OACEzF,eAAA,OAAKC,UAAU,yBAAwBC,SAErCF,eAAA,OAAKqJ,MAAO,CAACa,KAAM,GAAGhK,SACpBF,eAACsqC,GAAiB,CAACF,WAAYA,OAKzC,CACAxnC,GAAYuN,aA5Ca5zC,IAChB,CACLqG,YAAarG,EAAMqG,YACnBC,SAAUtG,EAAMsG,SAChByC,cAAe/I,EAAMqG,YAAY0C,cACjCR,SAAUvI,EAAMuI,aAIQi4B,IAAQ,CAClCshB,qBAAsBA,CAACzoC,EAAMoF,KAC3B+hB,EAASwd,GAAqB3kC,EAAMoF,GAAO,EAE7C0kC,yBAA0BA,CAAC9pC,EAAMoF,KAC/B+hB,EAASyd,GAAyB5kC,GAAa,KA8BvCu6B,CAA6CvN,I,4FCuHzD,SAAS2nC,GAAWjsC,GAChBk0B,KAAMC,oBAAoBC,UAAS,2CAAA38D,OACYy8D,KAAMG,QAAO,kBAC5C6X,eAAhB,MACMC,EAAWn2B,iBAAO,CAAC,IAElBwe,EAAU2H,GAAeh1B,mBAAS,OAClCilC,EAAaC,GAAkBllC,oBAAS,IACxCmlC,EAAkBC,GAAuBplC,mBAAS,KAClDqlC,EAAeC,GAAoBtlC,mBAAS,KAC5CiY,EAASstB,GAAcvlC,oBAAS,IAChCwlC,EAAaC,GAAkBzlC,oBAAS,IACxC0lC,EAAWC,GAAgB3lC,mBAAS,CAAC,IACtC,IAAE4lC,EAAG,SAAEzW,EAAQ,UAAE0W,EAAS,QAAEvH,EAAO,QAAEx0B,GAAYjR,EACjDitC,EAAcj3B,iBAAO,OACpBk3B,EAAeC,GAAoBhmC,oBAAS,GAC7CkuB,EAAerf,iBAAO,OAErBJ,GAAQC,KAAKC,UAEds3B,EAAqBvV,MAQ3B,SAASwV,IACL,MAAMC,EAAYN,EAAUvpC,QAAOpG,GAAKA,EAAEkwC,SAAWf,IACrD,IAAIgB,EAAet2E,KAAKssB,MAAMtsB,KAAKC,UAAU01E,IAC7C,IAAK,MAAM,SAAEY,EAAQ,IAAExrE,EAAG,KAAE6hB,KAAUwpD,EACrB,cAATxpD,EACA0pD,EAAaC,GAAUxrE,GAAO2zC,EAAK2sB,cAAc,aACjC,SAATz+C,IACP0pD,EAAaC,GAAUxrE,GAAOyrE,OAAS9jC,OAAO,eAGtDl1C,QAAQC,IAAI64E,GACZV,EAAaU,GACbf,EAAiB,IACjBJ,GAAe,EACnB,CAGA,SAASrE,EAAqB31C,GAAgB,IAAf,SAAEmiC,GAAUniC,EACvC8pC,EAAY3H,EAChB,CAEA,SAASmZ,EAAgBd,GACrB,IAAK,MAAMY,KAAYZ,EACnB,IAAK,MAAM5qE,KAAO4qE,EAAUY,GACxB,IAAKZ,EAAUY,GAAUxrE,GAAM,MAAO,CAACwrE,EAAUxrE,GAGzD,OAAO,CACX,CAEA,SAAS2rE,IACL,MAAMC,EAAeF,EAAgBd,GACrC,OAAO9uC,MAAM/a,QAAQ6qD,EACzB,CArCA//C,SAASoT,iBAAiB,eAAgBwD,IACtCA,EAAM6G,gBAAgB,IA4F1B,SAASuiC,EAAYP,GACjBd,EAAiBc,GACjBlB,GAAe,EACnB,CAEAnkC,qBAAU,KAEFpa,SAASK,KAAK4c,MAAMK,SADpBq6B,EAC+B,SAEA,OACnC,GACD,CAACA,IAGJv9B,qBAAUgC,UACNwiC,GAAW,GAQX,IAAIqB,EAAgB,CAAC,EACrB,IAAK,MAAM,SAAEN,EAAQ,IAAExrE,EAAG,KAAE6hB,KAAUkpD,EAC5BS,KAAYM,IACdA,EAAcN,GAAY,CAAC,GAEzBxrE,KAAO8rE,EAAcN,KACvBM,EAAcN,GAAUxrE,GAAO,IAGvCvN,QAAQC,IAAIq4E,EAAWe,GACvBjB,EAAaiB,GAgBbrB,GAAW,EAAM,GAClB,IAsJH,OACIhrC,eAAA4H,YAAA,CAAA1H,SACIC,gBAAA,OAAKF,UAAU,mBAAmBoJ,MAAO,CAAE6Q,QAAS6pB,EAAU,QAAU,QAAS7jC,SAAA,CAC7EC,gBAAA,OAAKF,UAAU,UAASC,SAAA,CACpBF,eAAA,OAAAE,SAAK,oFACLF,eAACikC,KAAa,CACVpjC,QAAS0O,EACTtP,UAAU,kBAGlBD,eAAA,UAAQC,UAAU,gBAAgB+S,IAAK2gB,EAAazzB,SAClDwd,EAA0Bvd,gBAAA,OAAKF,UAAU,eAAcC,SAAA,CAAC,IAACF,eAACooB,KAAI,OA9JpEpoB,eAACi2B,KAAQ,CACTh2B,UAAU,cACV4yB,KAAMwY,EACNr4B,IAAKu4B,EACLrV,cAAeoQ,EAAsBpmC,SAEpC7D,MAAM7jB,KACH,IAAI6jB,MAAMy2B,IACV,CAACsD,EAAInuD,IACD+3B,eAACq2B,KAAI,CACD9hB,SAAUvB,IACNy3B,EAASxsC,QAAQh2B,GAAS+qC,CAAG,EAEjCrE,MAtKN,IAwKM2nB,WAAYruD,EACZqkE,iBAAiB,EACjBpW,cAAewV,EACfa,gBAAkBjuC,MAEhB4B,SAEFF,eAAA,OACIC,UAAU,kBACVoJ,MAAO,CACHsF,MAlLd,IAmLcpF,YAAY,IACZpe,KAAM,OACR+U,SAEDorC,EAAU/pD,KAAI,CAACirD,EAAUC,KACtB,GAAID,EAASrW,OAASluD,EAAO,CACzB,IAAIykE,EAAcvB,EAAUqB,EAAST,UAAUS,EAASjsE,KACxD,OAAO4/B,gBAAAyH,YAAA,CAAA1H,SAAA,CACCF,eAAA,OAEIC,UAA6B,cAAlBusC,EAASpqD,KAAuB,YAAc,iBACzDye,QAASA,IAAMurC,EAAYI,EAASX,QACpCxiC,MAAO,CACHuF,SAAU,cACP49B,EAASnjC,OACdnJ,SAEDwsC,GARIF,EAASjsE,KAUhBmsE,EAsBO,KAtBOvsC,gBAAA,OACZF,UAAU,qBACVY,QAASA,IAAMurC,EAAYI,EAASX,QAAQ3rC,SAAA,CAE5CF,eAAA,OACIC,UAAU,aACVoJ,MAAO,CACHuF,SAAU,WACVO,IAAKq9B,EAASnjC,MAAM8F,IACpBhkB,MAAO,KACT+U,SACL,cAGDF,eAAA,OACIC,UAAU,sBACVoJ,MAAO,CACHuF,SAAU,WACVO,IAAKq9B,EAASnjC,MAAM8F,IACpBhkB,MAAO,WAK/B,CACA,OAAO,IAAI,OAEb,QAAAp1B,OA1DOkS,EAAQ,UAkErCk4B,gBAACC,KAAK,CACF8I,KAAMwhC,EACNp7B,UAAU,EACVrP,UAAU,WACVqK,MAAM,wBACNuU,OAAQ,KAAK3e,SAAA,CAEbC,gBAACgU,KAAI,CACDD,KAAMA,EACNnmC,KAAK,WACLgpC,SAAU40B,EAAgBzrC,SAAA,CAE1BF,eAACmU,KAAKkD,KAAI,CACNtpC,KAAK,YACL4+D,MAAO,CAAC,CAAE/yB,UAAU,EAAMpJ,QAAS,0BAA2BtQ,SAE9DF,eAAC6X,KAAK,CACF5X,UAAU,YACVoJ,MAAO,CACHqF,OAAQ,GACRsQ,WAAY,OACZvT,SAAU,GACViE,QAAS,EACTC,aAAc,EACd8J,OAAQ,yBAKpBzZ,eAACmU,KAAKkD,KAAI,CACNtpC,KAAK,UACL83D,cAAc,UACdx8B,MAAO,CAAEwF,UAAW,QACpB89B,MAAO,CAAC,CAAE/yB,UAAU,EAAMpJ,QAAS,+BAAgCtQ,SAEnEC,gBAAC6X,KAAQ,CAAA9X,SAAA,CAAC,6HAC2CF,eAAA,KAAGC,UAAU,uBAAuBY,QAASA,IAAMqqC,GAAe,GAAMhrC,SAAC,+BAA8B,SAGhKC,gBAAA,OAAKF,UAAU,sBAAqBC,SAAA,CAChCF,eAACmU,KAAKkD,KAAI,CAAAnX,SACNF,eAACW,KAAM,CACHV,UAAU,gBACVY,QAASA,KACL8pC,GAAe,GACfI,EAAiB,GAAG,EACtB7qC,SACL,aAELF,eAACmU,KAAKkD,KAAI,CAAAnX,SACNF,eAACW,KAAM,CAACve,KAAK,UAAUm2B,SAAS,SAAStY,UAAU,gBAAeC,SAAC,mBAI/EF,eAACI,KAAK,CACFkK,MAAM,6BACNrK,UAAU,wBACViJ,KAAM+hC,EACNtsB,SAAUA,IAAMusB,GAAe,GAC/BrsB,OAAQ,CAAC7e,eAACW,KAAM,CAACve,KAAK,UAAUye,QAASA,IAAMqqC,GAAe,GAAOhrC,SAAC,YAAiBA,SAEvFF,eAAA,KAAAE,SAAG,+uBAqBHF,eAAA,OAAKC,UAAU,aAAYC,SACvBF,eAACW,KAAM,CACHve,KAAK,UACL08B,SAAUpB,EACVA,QAAS8tB,EACTvrC,UAAU,aACVY,QAASqrC,IAnR7B,WACI,MAAMC,EAAeF,EAAgBd,GACrC,GAAI9uC,MAAM/a,QAAQ6qD,GAAlB,CACI,MAAOJ,EAAUxrE,GAAO4rE,EACxB,IAAIxoD,EAAQ2nD,EAAU5kC,MAAK/K,GAAKA,EAAEowC,WAAaA,GAAYxrE,IAAQA,IACnE,GAAIojB,GAASgwC,EAAa11B,SAAWwsC,EAASxsC,QAAS,CAAC,IAAD2uC,EACnD,IAAIC,GAAyC,QAA5BD,EAAAnC,EAASxsC,QAAQta,EAAMwyC,aAAK,IAAAyW,OAAA,EAA5BA,EAA8B3V,YAAa,EAC5DtD,EAAa11B,QAAQ29B,UAAYj4C,EAAM0lB,MAAM8F,IAAM09B,EAAa,EACpE,CAEJ,MACJ,EACiBrkC,UACbijC,GAAiB,GACjB,MAAMqB,QAAeC,eAAYC,KAAK3B,GAIhC4B,QAAaH,EAAOI,UAAU,aACpC5B,EAAU7nD,SAAQ+oD,IACd,MAAMrW,EAAO2W,EAAOK,QAAQX,EAASrW,KAAO,GACtCpD,EAAQoD,EAAKiX,WAAa,IAC1BC,EAA6B,cAAlBb,EAASpqD,KAAuB,GAAK,IAChD,KAAE+I,EAAI,IAAEgkB,EAAG,MAAER,EAAK,OAAED,GAAW89B,EAASnjC,MACxCikC,EAAaL,EAAKM,aAAaF,GAC/BxjB,EAAOshB,EAAUqB,EAAST,UAAUS,EAASjsE,KAC7CitE,EAAQrX,EAAKsX,aAAet+B,EAAM4jB,GAASrkB,EAASqkB,EAAQua,GAAc,GAShFnX,EAAKuX,SAAS7jB,EAAM,CAChBluB,EAAGxQ,EAAO4nC,EACV4a,EAAGH,EACHP,OACAjmD,KAAMqmD,EACN7jC,MAAOokC,eAAI,EAAG,EAAG,IAAM,MACzB,IAGN,MAAMC,QAAyBf,EAAOgB,OAChC7Y,EAAkB,IAAIC,KAAK,CAAC2Y,GAAmB,CAAEzrD,KAAM,oBACvD+yC,EAAe/oC,SAASG,cAAc,KAC5C4oC,EAAav3B,KAAO8yB,IAAIC,gBAAgBsE,GACxCE,EAAa1F,SAAWmF,EACxBO,EAAa9pB,QACbogC,GAAiB,GACjBntC,EAAMiqB,SAAS0M,EAAgB,EAgOoC/0B,SAElDgsC,IAAgB,OAAS,iBAMlD,CAEe3B,UAAap6B,aApfH5zC,IACd,CACH0pC,cAAmD,mBAApC1pC,EAAMqG,YAAY0C,iBAkfb6qC,CAAyBo6B,I,OChfrD,MAAQ5S,QAAQ,IAAIC,KAiBpB,MAAM91B,WAAczD,YAChBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAwChBuE,WAAcX,IACV,MAAMC,EAAkB,GAClBC,EAAc,CAAC,EACrBF,EAAKze,SAAS4e,IACJA,EAAKJ,YAAYG,IACnBA,EAAYC,EAAKJ,UAAY,IAEjCG,EAAYC,EAAKJ,UAAUjf,KAAKqf,EAAK,IAEzC,IAAK,MAAMC,KAAYF,EAAa,CAChC,MAAMrnB,EAAQqnB,EAAYE,GAE1BvnB,EAAMwnB,MAAK,CAACpf,EAAG2N,IAAMA,EAAE0R,GAAKrf,EAAEqf,KAE9B,IAAK,IAAI/f,EAAI,EAAGA,EAAI1H,EAAMkH,OAAQQ,IAAK,CACnC,MACMggB,EAAa,IADC1nB,EAAM0H,IAG1B,GAAiB,WAAb6f,EACA,IAAK,IAAIrc,EAAIxD,EAAI,EAAGwD,EAAIlL,EAAMkH,OAAQgE,IAAK,CACvC,MAAMyc,EAAW3nB,EAAMkL,GACvBwc,EAAWE,MAAM3f,QAAQ0f,EAASC,MACtC,MAEA,IAAK,IAAI1c,EAAIxD,EAAI,EAAGwD,EAAIlL,EAAMkH,OAAQgE,IAAK,CACvC,MAAMyc,EAAW3nB,EAAMkL,GACvBwc,EAAWG,UAAU5f,QAAQ0f,EAASE,UAC1C,CAEJT,EAAgBnf,KAAKyf,GACrBhgB,EAAI1H,EAAMkH,MACd,CACJ,CACA,OAAOkgB,CAAe,EACzB,KAED2sB,OAAS,KACLz6D,KAAKypC,SAAS,CAAE4f,SAAS,IAEzB,MAAMl4B,EAAQC,eAAeC,QAAQ,WACrCiM,MAAM,cAAe,CACjBC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,cAGVC,MAAMC,IACH,GAAwB,MAApBA,EAASnyB,OAOT,OANA9M,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,QACxEyyB,OAAOnG,SAASoG,cACZ,IAAIC,MAAM,kBACV,SAEJp+B,KAAKypC,SAAS,CAAE4f,SAAS,IAI7BzrB,EAASC,OAAOF,MAAMT,IAClB,GAAkB,OAAdA,EAAGgM,OACHvqC,QAAQu0D,KAAK,UAAYh2B,EAAGiM,MAC5BjL,OAAOnG,SAASoG,cACZ,IAAIC,MAAM,kBACV,QAED,CACH,MACMoP,EADOtQ,EAAGuQ,MACQC,QAAQC,GAA2B,WAAlBA,EAAKC,WACxClnB,EAAQ8mB,EAAW5f,OAAS,EAAI5tB,KAAKwuC,WAAWhB,GAAc,GAClD,CAAC,SAAU,QACME,QAC9B3f,IACIrH,EAAM2+B,MAAMrX,GAASA,EAAKJ,WAAa7f,MAE/BqB,SAASrB,IACtBrH,EAAMiI,KAAK,CACP+qD,QAAS,GACT9P,SAAU,GACVr7B,UAAW,GACX4sB,QAAS,GACThtB,GAAI,GACJG,MAAO,GACPpF,OAAQ,OACR6+B,OAAQ,QACRn6B,SAAU7f,EACVrU,KAAK,OAADhY,OAASqsB,EAAI,UACnB,IAGN,MAAM2sC,EAAOh0C,EAAMwG,KAAKxuB,IACpB,IAAIi7E,EAAKrwC,GAAe5qC,EAAEg7E,SAC1B,MAAM9e,EAAK,IAAI/xB,KAAK8wC,GACpBA,EAAKrwC,GAAe5qC,EAAEkrE,UACtB,MAAMlB,EAAW,IAAI7/B,KAAK8wC,GAC1B,MAAO,CACH7e,KAAMrsC,KAAKC,SACXjuB,GAAI/B,EAAEyvC,GACNz0B,KAAMhb,EAAE0kE,SACR7I,QAASK,EAAGrwB,eAAe,SAC3B9+B,OAAQ/M,EAAEwqC,OACVmxB,QAAS37D,EAAEy8D,QACXye,SAAUl7E,EAAEkvC,SACZsmC,OAAQx1E,EAAEqpE,OACVW,SAAUA,EACVh1C,UAAWh1B,EAAE6vC,UACbqH,MAAOl3C,EAAE4vC,MACZ,IAELtuC,KAAK65E,QAAUnf,EACf16D,KAAK85E,SAASpf,EAAM16D,KAAKkI,MAAM6xE,WACnC,CACA/5E,KAAKypC,SAAS,CAAE4f,SAAS,GAAQ,GACnC,IAELtrB,OAAOC,IACJh+B,KAAKypC,SAAS,CAAE4f,SAAS,IACzB1qD,QAAQo4B,MAAM,gBAAiBiH,EAAI,GACrC,EACT,KAED87C,SAAW,CAACpf,EAAMqf,KAUd/5E,KAAKypC,SAAS,CAAE/V,UAAWgnC,GAAO,EACrC,KAEDP,eAAkBC,IACd,MAAM,SAAE3pD,EAAQ,WAAEmB,GAAe5R,KAAKiqC,MAAM17B,YAE5C,IAAI8rD,EAAU,GACG,UAAbD,GAAiD,KAAzBxoD,EAAWsE,WAA4C,KAAxBtE,EAAWwE,WAClEgkD,EAAW,YAGf,IACI,OAAQA,GACJ,IAAK,WACDC,EAAU5pD,EAASyF,UAAY,IAAMzF,EAAS2F,SAC9C,MACJ,IAAK,aACDikD,EAAUzoD,EAAWsE,UAAY,IAAMtE,EAAWwE,SAClD,MACJ,IAAK,QACDikD,EAAU5pD,EAASyF,UAAY,IAAMzF,EAAS2F,SAAW,QAAUxE,EAAWsE,UAAY,IAAMtE,EAAWwE,SAC3G,MACJ,QACIikD,EAAUD,EAGtB,CAAE,MAAO9yB,GACL+yB,EAAUD,CACd,CAEA,OAAOC,CAAO,EACjB,KAED2f,SAAYpmE,IACR,MAAM,OAAEsgE,EAAM,GAAEzzE,GAAOT,KAAKkI,MAAMwrB,UAAU9f,GAC5C5T,KAAKypC,SAAS,CACVqO,SACInM,eAACsuC,KAAQ,CAACv0D,GAAI,aAAewuD,EAAS,IAAMzzE,KAElD,EACL,KAED65D,cAAgB,CAACviC,EAAUnkB,KACvB,MAAM,KAAE8F,EAAI,SAAEgvD,EAAQ,OAAEj9D,EAAM,GAAEhL,EAAE,SAAEm5E,EAAQ,UAAElmD,EAAS,MAAEkiB,GAAU7d,EAGnE,MAAO,CACHjK,OAAQpU,EACR2gD,QAJYr6D,KAAKm6D,eAAepiC,EAASsiC,SAKzCD,SAAUriC,EAASsiC,QACnB6f,QAASxR,EAASve,qBAClBue,SAAUA,EACVj9D,OAAQA,EACRhL,GAAIA,EACJmT,MAAOA,EACPgmE,SAAUA,EACVlmD,UAAWA,EACXkiB,MAAOA,EACV,EACJ,KAEDukC,aAAgBv2B,IACZ5jD,KAAKypC,SAAS,CAAEswC,YAAan2B,IAC7B5jD,KAAK85E,SAAS95E,KAAK65E,SAAUj2B,EAAQ,EACxC,KAEDmsB,aAAgB1c,IACZ,MAAM+mB,EAAiB,IAAIp6E,KAAKkI,MAAMmyE,iBAChCC,EAAcF,EAAen1B,WAAWtX,GAAS0lB,EAAO5yD,KAAOktC,IACjE2sC,GAAe,EACfF,EAAexrD,OAAO0rD,EAAa,GAEnCF,EAAezrD,KAAK0kC,EAAO5yD,IAE/BT,KAAKypC,SAAS,CACV4wC,gBAAiBD,GACnB,EACL,KAEDG,aAAe,CAACvsC,EAAMi1B,KAClB,IAAIl1C,EAAO,GASX,OAPIA,EADkB,WAAlBigB,EAAK4rC,SACE,kBACkB,WAAlB5rC,EAAK4rC,SACL,eAEA,gBAIP9tC,gBAAA,QAAMkJ,MAAO,CAAEoC,SAAU,GAAIjC,MAAO,QAAStJ,SAAA,CACxC9d,EAAM,IACP+d,gBAAA,QAAMkJ,MAAO,CAAE2E,WAAY,KAAM9N,SAAA,CAAC,IAC5B,IACiB,WAAlBmC,EAAK4rC,SAAwB3W,EAAI+L,YAAc/L,EAAIlI,cAErD,EAEd,KAEDyf,WAAcvX,IACVjjE,KAAKypC,SAAS,CACVgxC,iBAAiB,EACjBC,eAAgB,GAChBhe,WAAYuG,EAAIlI,SAChB4f,MAAO1X,EAAI90B,GACXysC,eAAe,GACjB,EACL,KAEDC,aAAe,CAACC,EAAcva,EAAUwa,KACpC,MAAMC,EAAiBzpD,KAAKupD,GACtBG,EAAa,GACnB,IAAK,IAAIC,EAAS,EAAGA,EAASF,EAAeptD,OAAQstD,GAAU,IAAK,CAChE,MAAM5jD,EAAQ0jD,EAAe1jD,MAAM4jD,EAAQA,EAAS,KAC9CC,EAAc,IAAInzC,MAAM1Q,EAAM1J,QAEpC,IAAK,IAAIQ,EAAI,EAAGA,EAAIkJ,EAAM1J,OAAQQ,IAC9B+sD,EAAY/sD,GAAKkJ,EAAMK,WAAWvJ,GAGtC,MAAMgtD,EAAY,IAAIhpD,WAAW+oD,GACjCF,EAAWtsD,KAAKysD,EACpB,CAEA,OADa,IAAI1Q,KAAKuQ,EAAY1a,EAAU,CAAExyC,KAAMgtD,GACzC,EACd,KAEDM,WAAa,KACT,MAAMlqD,EAAQC,eAAeC,QAAQ,WAC/B+5C,EAAW,IAAIC,SACrB,IAAK,IAAIj9C,EAAI,EAAGA,EAAIpuB,KAAKkI,MAAMwyE,eAAe9sD,OAAQQ,IAClDg9C,EAASE,OACL,SACAtrE,KAAKkI,MAAMwyE,eAAetsD,GAAGm9C,eAGrCvrE,KAAKypC,SAAS,CAAEmxC,eAAe,IAC/Bt9C,MAAM,8BAA+B,CACjC0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMgzC,EACN5tC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,UAAW19B,KAAKkI,MAAMyyE,SAGzBh9C,MAAMC,IACH59B,KAAKypC,SAAS,CAAEmxC,eAAe,IACP,MAApBh9C,EAASnyB,OAKbmyB,EAASC,OAAOF,MAAMT,IACA,OAAdA,EAAGgM,QACHlpC,KAAKs7E,eACLt7E,KAAKy6D,SACLte,KAAQo/B,QAAQr+C,EAAGiM,OAEnBgT,KAAQplB,MAAMmG,EAAGiM,KACrB,IAXAxqC,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,OAY1E,IAELsyB,OAAOhH,IAEJ/2B,KAAKypC,SAAS,CAAEmxC,eAAe,GAAO,GACxC,EACT,KAEDU,aAAe,KACXt7E,KAAKypC,SAAS,CAAEgxC,iBAAiB,GAAQ,EAC5C,KAEDe,UAAa/6E,IACT,MAAM0wB,EAAQC,eAAeC,QAAQ,WACrCiM,MAAM,8BAA+B,CACjC0L,MAAO,WACPzL,OAAQ,OACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,UAAWj9B,KAGdk9B,MAAMC,IACqB,MAApBA,EAASnyB,OAKbmyB,EAASC,OAAOF,MAAMT,IACA,OAAdA,EAAGgM,QACHlpC,KAAKy6D,SACLte,KAAQo/B,QAAQr+C,EAAGiM,OAEnBgT,KAAQplB,MAAMmG,EAAGiM,KACrB,IAVAxqC,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,OAW1E,IAELsyB,OAAOhH,OAEN,EACT,KAED0kD,aAAgB7nE,IACZ,MAAM8nE,EAAuB,IAAI17E,KAAKkI,MAAMwyE,gBAC5CgB,EAAqB9sD,OAAOhb,EAAO,GACnC5T,KAAKypC,SAAS,CACVixC,eAAgBgB,GAClB,EACL,KAEDC,WAAc3tC,IACV,GAAsB,WAAlBA,EAAK4rC,SAAuB,CAE5B,IADkB5rC,EAAKta,UAAU+f,OAAO9F,GAASA,EAAKiuC,OAGlD,YADAz/B,KAAQplB,MAAM,2CAGtB,CACA,GAAsB,SAAlBiX,EAAK4rC,SAAqB,CAE1B,IADqB5rC,EAAKta,UAAU+f,OAAO9F,GAA2B,KAAlBA,EAAKktB,WAGrD,YADA1e,KAAQplB,MAAM,8CAGtB,CACA/2B,KAAKypC,SAAS,CAAE0tC,eAAe,IAC/B,MAAMhmD,EAAQC,eAAeC,QAAQ,WACrCiM,MAAM,mBAAoB,CACtB0L,MAAO,WACPzL,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,WAAYsQ,EAAKvtC,MAGpBk9B,MAAMC,IACH59B,KAAKypC,SAAS,CAAE0tC,eAAe,IAO/Bv5C,EACKC,OACAF,MAAMT,IACe,OAAdA,EAAGgM,QACHlpC,KAAKy6D,SACL1uB,KAAMwvC,QAAQ,CACV5L,QAAS,mQACTt3B,KAAM,QAGV8D,KAAQplB,MAAMmG,EAAGiM,KACrB,IAEHpL,OAAOhH,IACJ/2B,KAAKy6D,SACL1uB,KAAMwvC,QAAQ,CACV5L,QAAS,mQACTt3B,KAAM,MACR,GACJ,IAETta,OAAOhH,IAEJ/2B,KAAKypC,SAAS,CAAE0tC,eAAe,GAAQ,GACzC,EACT,KAED0E,aAAgBhQ,IAEZ,GAAc,IAAVA,EAAa,MAAO,SACxB,MAAMz9C,EAAIK,KAAKqtD,MAAMrtD,KAAK7vB,IAAIitE,GAASp9C,KAAK7vB,IAAI,OAC1C+zB,EAAO5F,YAAY8+C,EAAQp9C,KAAK2L,IAAI,KAAMhM,IAAI0gC,QAAQ,IAC5D,MAAM,GAANptD,OAAUixB,EAAI,KAAAjxB,OAJA,CAAC,QAAS,KAAM,KAAM,KAAM,MAIlB0sB,GAAE,EAC7B,KAEDw8C,SAAY78C,GACSA,EAAK1sB,MAAM,KAAK,GAEpC,KAED06E,SAAYhuD,IACR,MAAM68C,EAAW78C,EAAK1sB,MAAM,KAAK,GACjC,MAAiB,QAAbupE,EACO,uBACa,QAAbA,EACA,uBAEA,wBACX,EACH,KAEDc,oBAAuBC,IACnB,MAAMC,EAAer6C,KAAKo6C,GACpBl7B,EAAMm7B,EAAah+C,OACnBi+C,EAAQ,IAAIz5C,WAAWqe,GAE7B,IAAK,IAAIriB,EAAI,EAAGA,EAAIqiB,IAAOriB,EACvBy9C,EAAMz9C,GAAKw9C,EAAaj0C,WAAWvJ,GAGvC,OAAOy9C,EAAMvJ,MAAM,EACtB,KAED0Z,UAAa/Y,IACT,MAAMgZ,EAAY96E,KAAKssB,MAAMw1C,EAAIkF,WAC3BzJ,GAASud,EAAUC,SAASxd,MAC5BsY,EAAMh3E,KAAK0rE,oBAAoBzI,EAAI2Y,MACnCO,EAAsBF,EAAUC,SAASE,SAASpU,SACnDr6B,GACGnX,OAAO6F,QAAQsR,GAAMq6B,SAAQ1rC,IAAA,IAAEpwB,EAAKsJ,GAAM8mB,EAAA,OACtC0L,MAAM/a,QAAQzX,GACRA,EAAM0X,KAAI,CAAC8nB,EAAOphC,KAAK,CACnBkuD,KAAMn0B,EAAKm0B,KACX0V,OAAO,OAAD91E,OAASisC,EAAKm0B,KAAO,EAAC,aAC5B4V,SAAS,OAADh2E,OAASisC,EAAKm0B,KAAO,GAC7B/zC,KAAM7hB,EACNA,IAAI,qBAADxK,OACS,SAARwK,EAAiB,QAAU,IAE/B8oC,MAAO,CACHle,KAAMke,EAAM1N,EAAIo3B,EAChB5jB,IAAK9F,EAAMskC,EAAI5a,EACfpkB,MAAOtF,EAAMsF,MAAQokB,EACrBrkB,OAAQrF,EAAMqF,OAASqkB,OAG/B,EAAE,MAGpB1+D,KAAKypC,SAAS,CACVwtC,UAAWkF,EACXE,QAASrF,EACTzW,SAAU0C,EAAIlI,SACd4f,MAAO1X,EAAI90B,GACXmuC,YAAY,GACd,EACL,KAEDpoB,SAAYqoB,IACR,MAAMF,EAAU,IAAI3R,KAAK,CAAC6R,GAAUv8E,KAAKkI,MAAMq4D,SAAU,CACrDxyC,KAAM,oBAEJoD,EAAQC,eAAeC,QAAQ,WAC/B+5C,EAAW,IAAIC,SACrBD,EAASE,OAAO,SAAU+Q,GAC1B/+C,MAAM,8BAA+B,CACjC0L,MAAO,WACPzL,OAAQ,OACRnF,KAAMgzC,EACN5tC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,UAAW19B,KAAKkI,MAAMyyE,SAGzBh9C,MAAMC,IACqB,MAApBA,EAASnyB,OAKbmyB,EAASC,OAAOF,MAAMT,IACA,OAAdA,EAAGgM,QACHlpC,KAAKypC,SAAS,CAAE6yC,YAAY,IAC5Bt8E,KAAKy6D,SACLte,KAAQo/B,QAAQr+C,EAAGiM,OAEnBgT,KAAQplB,MAAMmG,EAAGiM,KACrB,IAXAxqC,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,OAY1E,IAELsyB,OAAOhH,IAEJolB,KAAQplB,MAAMA,EAAM,GACtB,EACT,KAEDylD,gBAAmBnpB,IACf,MAAM3/B,EAAgC,WAApB2/B,EAAOumB,SAAwBvmB,EAAOzd,MAAQyd,EAAO3/B,UAEvE,OACIoY,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BC,gBAAA,OACIkJ,MAAO,CACH6Q,QAAS,OACTE,eAAgB,gBAChB3K,WAAY,SACZI,aAAc,GAChB3P,SAAA,CAEFC,gBAAA,QAAMkJ,MAAO,CAAEoC,SAAU,GAAIjC,MAAO,WAAYtJ,SAAA,CAAC,oBAC3BnY,EAAU9F,OAAO,OAEpB,WAAlBylC,EAAO5nD,QAA2C,WAApB4nD,EAAOumB,SAChCvmB,EAAOzd,MAAMhoB,OAAS,EACtBylC,EAAO3/B,UAAU9F,OAAS,GACtB+d,eAACW,KAAM,CACHV,UAAU,aACVyd,QAASrpD,KAAKkI,MAAMivE,cACpB3qC,QAASA,IAAMxsC,KAAK27E,WAAWtoB,GAAQxnB,SAElB,WAApBwnB,EAAOumB,SAAwB,eAAiB,cAInEjuC,eAAA,OAAKC,UAAU,aAAYC,SACF,SAApBwnB,EAAOumB,SACFlmD,EAAUxG,KAAKygB,GACX7B,gBAAA,OACIF,UAAU,gBACVoJ,MAAO,CACHqG,QACwB,WAApBgY,EAAOumB,UACW,KAAlBjsC,EAAKktB,SACC,sBACA,uBACZhvB,SAAA,CAGFC,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAC1BC,gBAAA,OAAKF,UAAU,WAAUC,SAAA,CACrBF,eAAA,OAAAE,SACK7rC,KAAKu6E,aAAalnB,EAAQ1lB,KAEV,WAApB0lB,EAAOumB,UACc,KAAlBjsC,EAAKktB,UACDlvB,eAAA,QAAAE,SAAM,kBAGC,WAAlBwnB,EAAO5nD,QACJkiC,EAAKiuC,MACD9vC,gBAAA,OAAKF,UAAU,WAAUC,SAAA,CACrBC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,OACIqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,IAC5BzO,UAAU,YACVzT,IAAKn4B,KAAK+7E,SAASpuC,EAAK2yB,UACxBptB,IAAI,SAERpH,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBC,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACrB8B,EAAKotB,SAAS,IACd/6D,KAAK4qE,SAASj9B,EAAK2yB,aAExB30B,eAAA,OAAKC,UAAU,YAAWC,SACrB7rC,KAAK67E,aACF77E,KAAK66E,aACDltC,EAAKiuC,KACLjuC,EAAKotB,SACLptB,EAAK2yB,UACP3tC,cAKlBgZ,eAAC8wC,KAAU,CACPxmC,MAAM,sBACNlsC,YAAY,wCACZ2yE,UAAWA,IAAM18E,KAAKw7E,UAAU7tC,EAAKQ,IACrCwuC,OAAO,MACPC,WAAW,KAAI/wC,SAEfF,eAAA,OAAKC,UAAU,WAAUC,SACrBF,eAAA,OACIqJ,MAAO,CAAES,OAAQ,WACjBtd,IAAI,0BACJ+a,IAAI,qBAOX,WAApBmgB,EAAOumB,UACc,KAAlBjsC,EAAKktB,UACDlvB,eAACkxC,KAAc,CACX7nC,MAAO,CAAEoC,SAAU,GAAI3B,OAAQ,WAC/BjJ,QAASA,IAAMxsC,KAAKw6E,WAAW7sC,KAGxB,WAAlB0lB,EAAO5nD,QAAuBkiC,EAAKiuC,MAChC9vC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OACIqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,IAC5BzO,UAAU,YACVzT,IAAKn4B,KAAK+7E,SAASpuC,EAAK2yB,UACxBptB,IAAI,SAERpH,gBAAA,QAAAD,SAAA,CACK8B,EAAKotB,SAAS,IACd/6D,KAAK4qE,SAASj9B,EAAK2yB,kBAzE3B3yB,EAAKQ,MA+ElBza,EAAUxG,KAAKygB,GACX7B,gBAAA,OAAKF,UAAU,gBAAeC,SAAA,CAC1BF,eAAA,OAAKC,UAAU,YAAWC,SACrB7rC,KAAKu6E,aAAalnB,EAAQ1lB,KAE/BhC,eAAA,OAAKC,UAAU,eAAcC,SACxB+8B,KAAMj7B,EAAKmvC,SAASjpC,OAAO,gBAEhC/H,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,OACIqJ,MAAO,CAAEsF,MAAO,GAAID,OAAQ,IAC5BzO,UAAU,YACVzT,IAAI,uBACJ+a,IAAI,SAERvH,eAAA,QAAAE,SAAO8B,EAAKotB,cAEG,KAAlBptB,EAAKktB,UACFlvB,eAACW,KAAM,CACHV,UAAU,WACVY,QAASA,IACLxsC,KAAKg8E,UAAUruC,GAClB9B,SACJ,qBAQzB,EAEb,KAEDkxC,QAAWhvD,IACK,CACRgnD,OAAQ,kBACRiI,KAAM,gBACNlvD,OAAQ,mBAEDC,IACd,KAEDkvD,QAAWtvC,GACe,WAAlBA,EAAKisC,SACwB,IAAtBjsC,EAAKiI,MAAMhoB,OAEe,IAA1B+f,EAAKja,UAAU9F,OAE7B,KAEDsvD,eAAkB71C,IACdrnC,KAAKypC,SAAS,CAAE0zC,WAAY91C,GAAI,EACnC,KAED+1C,aAAgBzvC,IACZ,IAAIgG,EAAU,EACV0pC,EAAY,EAahB,MAZsB,WAAlB1vC,EAAKisC,UACLyD,EAAY1vC,EAAKja,UAAUga,QAAQ8wB,GAASA,EAAKod,OAAMhuD,OACvD+lB,EAAW0pC,EAAY1vC,EAAKja,UAAU9F,OAAU,MAG5CyvD,EADkB,WAAlB1vC,EAAKisC,SACuB,WAAhBjsC,EAAKliC,OAAsBkiC,EAAKiI,MAAMhoB,OAAS,EAE/B,WAAhB+f,EAAKliC,OAAsBkiC,EAAKja,UAAU9F,OAAS,EAEnE+lB,EAA0B,WAAhBhG,EAAKliC,OAAsB,IAAM,GAI3CqgC,gBAAA,OAAKF,UAAU,uBAAsBC,SAAA,CACjCF,eAAA,OAAKC,UAAU,YAAWC,SAAE7rC,KAAK+8E,QAAQpvC,EAAKisC,YAC9C9tC,gBAAA,OACIF,UAAS,eAAAlqC,OACL1B,KAAKi9E,QAAQtvC,GAAQ,gBAAkB,IACxC9B,SAAA,CACN,mBACoB,IAChB7rC,KAAKi9E,QAAQtvC,GACVhC,eAAA,QAAAE,SAAM,OAEN+8B,KAAMj7B,EAAK+6B,UAAU70B,OAAO,iBAGpC/H,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAAC+H,KAAQ,CACL9H,UAAU,gBACV7d,KAAK,SACL4lB,QAASA,EACThhB,KAAM,GACNihB,YAAa,GACbG,WAAW,UACXD,YAAY,UACZD,OAAQA,IACJlI,eAAA,QAAMqJ,MAAO,CAAEoC,SAAU,GAAIjC,MAAO,UAAWwE,WAAY,KAAM9N,SAC5DwxC,MAIb1xC,eAAA,QAAMC,UAAU,qBAAoBC,SAC/B7rC,KAAKi9E,QAAQtvC,GACVhC,eAAA,QAAMC,UAAU,gBAAeC,SAAC,aAAe,GAAAnqC,OAE5C27E,EAAS,OAAA37E,OAAyB,WAAlBisC,EAAKisC,SAAwBjsC,EAAKiI,MAAMhoB,OAAS+f,EAAKja,UAAU9F,OAAM,qBAInG,EA9wBV5tB,KAAKkI,MAAQ,CACTwrB,UAAW,GACX+Y,IAAK,GACL2uB,SAAU,GACVtjB,SAAU,GACVpO,MAAM,EACNgzB,WAAY,GACZ9oD,MAAO,EACPnT,GAAI,EACJyzE,OAAQ,GACR7Z,QAAS,GACThR,SAAS,EACT8tB,eAAe,EACfyD,eAAe,EACfb,YAAY,EACZM,gBAAiB,GACjBI,iBAAiB,EACjBE,MAAO,GACPD,eAAgB,GAChB4B,YAAY,EACZD,QAAS,GACT9b,SAAU,GACV0W,UAAW,GACXkG,WAAY,IAGhBn9E,KAAKu8D,KAAOtd,IAAMC,WACtB,CAEA1T,oBACIxrC,KAAKiqC,MAAMohB,yBAAyB,SACpC,MACMiyB,GADM,IAAIz0C,MACCgpB,cACjB7xD,KAAKiqC,MAAMszC,gCAAgCD,GAC3Cr3C,KACAjmC,KAAKy6D,QACT,CA6uBA/uB,SACI,MA+CMo+B,EAAe,CACjBpwD,KAAM,OACNkyB,UAAW,cAEXk5B,SAAU9kE,KAAKkI,MAAMwyE,eACrB1Q,gBAAgB,EAChBntB,SAAWotB,IACP,MAAM,OAAEx+D,GAAWw+D,EAAKzL,KACT,cAAX/yD,GACA9M,QAAQC,IAAIqrE,EAAKzL,KAAMyL,EAAKnF,UAEjB,SAAXr5D,EACA9M,QAAQC,IAAIqrE,EAAKzL,KAAK9kD,MACJ,UAAXjO,GACP9M,QAAQC,IAAI,GAAD8C,OAAIuoE,EAAKzL,KAAK9kD,KAAI,yBAEjC,MAAMorD,EAAW,IAAImF,EAAKnF,UAC1B9kE,KAAKypC,SAAS,CAAEixC,eAAgB5V,GAAW,EAE/CoF,OAAS7iC,IACL1oC,QAAQC,IAAI,gBAAiByoC,EAAE+rC,aAAarH,MAAM,EAEtD5B,aAAe3L,IACX,MAKMoM,EAAWpM,EAAKzwC,KAEtB,OAPyB,CACrB,aACA,YACA,mBAG+BZ,SAASy9C,KAExCzuB,KAAQquB,QAAQ,4CACTjH,KAAOkH,YAEN,GAIpB,OACI3+B,gBAAA,OAAKF,UAAU,4CAA2CC,SAAA,CACrD7rC,KAAKkI,MAAM4vC,SACZhM,gBAACC,KAAK,CACFH,UAAU,oBACV0O,MAAO,IACP+2B,UAAU,EACVp2B,UAAU,EACVpG,KAAM70C,KAAKkI,MAAMuyE,gBACjBxkC,MAAM,GACNuU,OAAQ,CACJ7e,eAACW,KAAM,CACHV,UAAU,oBACVY,QAASxsC,KAAKs7E,aAAazvC,SAC9B,WAGDF,eAACW,KAAM,CACHV,UAAU,kBACV7d,KAAK,UACLs7B,QAASrpD,KAAKkI,MAAM0yE,cACpBnwB,SAA+C,IAArCzqD,KAAKkI,MAAMwyE,eAAe9sD,OACpC4e,QAASxsC,KAAKq7E,WAAWxvC,SAC5B,eAGHA,SAAA,CAED,IACDC,gBAAA,OACIkJ,MAAO,CACHqG,QAAS,gBACTmiC,aAAc,oBACdhiC,aAAc,QAChB3P,SAAA,CAEFF,eAACikC,KAAa,CACV56B,MAAO,CACHoC,SAAU,GACVoE,aAAc,GACdrG,MAAO,UACPM,OAAQ,WAEZjJ,QAASxsC,KAAKs7E,eAElBxvC,gBAAA,OAAKF,UAAU,qBAAoBC,SAAA,CAAC,kBACjBF,eAAA,QAAAE,SAAO7rC,KAAKkI,MAAMw0D,mBAGzC/wB,eAAA,OAAKqJ,MAAO,CAAEqG,QAAS,UAAWxP,SAC9BF,eAAC23B,GAAO,IAAKwG,EAAYj+B,SACrBC,gBAAA,OACIkJ,MAAO,CACHqF,OAAQ,GACRwL,QAAS,OACTC,cAAe,SACfC,eAAgB,UAClBla,SAAA,CAEFF,eAAA,OAAKC,UAAU,kBAAiBC,SAC5BF,eAACkxC,KAAc,CACX7nC,MAAO,CACHoC,SAAU,GACVjC,MAAO,eAInBrJ,gBAAA,OAAKF,UAAU,kBAAiBC,SAAA,CAAC,iBACd,IACfF,eAAA,QACIqJ,MAAO,CACH2E,WAAY,IACZxE,MAAO,UACPsoC,eAAgB,aAClB5xC,SACL,gBAEO,IAAI,sBAM5BF,eAAA,OAAKC,UAAU,mBAAkBC,SAC7BF,eAAC8Q,KAAG,CAACqG,OAAQ,GAAGjX,SACX7rC,KAAKkI,MAAMwyE,eAAextD,KAAI,CAACygB,EAAM/5B,IAClC+3B,eAAC+Q,KAAG,CAAC0C,GAAI,GAAI2D,KAAM,GAAGlX,SAClBC,gBAAA,OAAKF,UAAU,mBAAkBC,SAAA,CAC7BC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAAA,OACIC,UAAU,YACVzT,IAEI,oBADAwV,EAAK5f,KAEC,uBACA,yBAEVmlB,IAAI,SAERpH,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,OAAKC,UAAU,YAAWC,SACrB8B,EAAKj0B,OAEViyB,eAAA,OAAKC,UAAU,YAAWC,SACrB7rC,KAAK67E,aACFluC,EAAKhb,cAKrBgZ,eAAA,OAAKC,UAAU,WAAUC,SACrBF,eAACikC,KAAa,CACV56B,MAAO,CACHoC,SAAU,GACVjC,MAAO,OACPM,OAAQ,WAEZjJ,QAASA,IACLxsC,KAAKy7E,aAAa7nE,WAhCV+5B,EAAKmkC,cA2CjDnmC,eAAA,KACIgS,QAAM,EACNgB,IAAK3+C,KAAKu8D,KACVhzB,KAAMvpC,KAAKkI,MAAMukC,IACjB2uB,SAAUp7D,KAAKkI,MAAMkzD,SAASvvB,SACjC,SAGDF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAAA,OAAKC,UAAU,cAAaC,SACxBC,gBAAA,QAAMF,UAAU,sBAAqBC,SAAA,CAjOnC6xC,MAClB,IAAIjvC,EAAc,EAUlB,OATIzuC,KAAKkI,MAAMwrB,UAAU9F,OAAS,GAC9B5tB,KAAKkI,MAAMwrB,UAAUxG,IAAIltB,KAAKs6D,eAAelrC,SAAS4e,IAC5B,WAAlBA,EAAK4rC,SACLnrC,GAAeT,EAAK4H,MAAMhoB,OAE1B6gB,GAAeT,EAAKta,UAAU9F,MAClC,IAGD6gB,CAAW,EAuNGivC,GAAgB,iBAKhC19E,KAAKkI,MAAMo0E,WACR3wC,eAACuqC,GAAU,CACPc,IAAKh3E,KAAKkI,MAAMm0E,QAChB9b,SAAUvgE,KAAKkI,MAAMq4D,SACrB0W,UAAWj3E,KAAKkI,MAAM+uE,UACtBvH,QAAS1vE,KAAKkI,MAAMo0E,WACpBpoB,SAAUl0D,KAAKk0D,SACfhZ,QAASA,IAAMl7C,KAAKypC,SAAS,CAAE6yC,YAAY,MAE/C,KACHt8E,KAAKkI,MAAMmhD,QACR1d,eAACgyC,KAAQ,CAAC/xC,UAAU,OAAOV,QAAM,IAEjCS,eAAA,OAAAE,SACqC,IAAhC7rC,KAAKkI,MAAMwrB,UAAU9F,OAClB+d,eAAA,OAAKC,UAAU,eAAcC,SAAC,6CAI9BF,eAAA,OAAAE,SA5OE+xC,KAEdjyC,eAAA,OAAKC,UAAU,wBAAuBC,SAClCF,eAAA,OAAKC,UAAU,eAAcC,SACzBF,eAACkyC,KAAQ,CACLjyC,UAAU,gBACVkyC,UAAW99E,KAAKkI,MAAMi1E,WACtBY,YAAY,OACZ/M,WAAYxT,IAAA,IAAC,SAAEwgB,GAAUxgB,EAAA,OACrB7xB,eAAC8P,KAAY,CAACwiC,OAAQD,EAAW,IAAM,GAAK,EAEhDE,mBAAmB,MACnBrhC,SAAU78C,KAAKk9E,eAAerxC,SAE7B7rC,KAAKkI,MAAMwrB,UACPxG,IAAIltB,KAAKs6D,eACTptC,KAAKygB,GACFhC,eAACkyC,KAASM,MAAK,CACXvyC,UAAU,qBACVc,OAAQ1sC,KAAKo9E,aAAazvC,GAAM9B,SAGhCF,eAAA,OAAKC,UAAU,aAAYC,SACtB7rC,KAAKw8E,gBAAgB7uC,MAHrBA,EAAKltC,YAwNhBm9E,SAM9B,EAGW/hC,oBAAWC,aAxiCD5zC,IACd,CACHsG,SAAUtG,EAAMsG,SAChBD,YAAarG,EAAMqG,gBAICm6B,IAAQ,CAChC60C,gCAAkCh8D,IAC9BmnB,EAAS0d,GAAgC7kC,GAAM,EAEnD8pC,yBAA0BA,CAAC9pC,EAAMoF,KAC7B+hB,EAASyd,GAAyB5kC,GAAa,KA4hC7Bu6B,CAA6CrO,K,0BC/jCxD,MAAM2wC,WAAoBp0C,YACvCjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAkBf4S,SAAYxV,IACVrnC,KAAKiqC,MAAM4S,SAASxV,EAAE,EACtB,KACFqC,KAAQrC,MAAS,KACjBg3C,KAAQh3C,IACNrnC,KAAKypC,SAAS,CAAEC,MAAM,GAAQ,EAC9B,KACF40C,MAASj3C,IACPrnC,KAAKypC,SAAS,CAAEC,MAAM,GAAO,EAC7B,KAOF60C,UAAa5vC,IACXA,EAAM6G,iBACN7G,EAAM0lB,iBAAiB,EACvB,KACFmqB,aAAgBn3C,IACd,IAAIxa,GACD,KAAOwa,EAAEo3C,WAAa,IAAInnD,OAAO,GAClC,KACC,IAAM+P,EAAEq3C,WAAWpnD,OAAO,GAC3B,IACA+P,EAAEs3C,cAEJ3+E,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOqX,KACvC7sB,KAAKypC,SAAS,CAAEC,MAAM,GAAQ,EAC9B,KACFk1C,KAAO,KACL,GAAyB,KAArB5+E,KAAKiqC,MAAMz0B,MACb,OAAO,IAAIqzB,KACN,CACL,IAAIzb,EAAI,IAAIyb,KAAK7oC,KAAKiqC,MAAMz0B,OACxBqpE,EAAM,IAAIh2C,KAAK,KAAM,EAAG,GAC5B,OAAIzb,EAAIyxD,EAAYA,EACbzxD,CACT,GACA,KACF0xD,eAAiB,IAEbnzC,eAAA,OACElrC,GAAG,UACHu0C,MAAO,CAAE6Q,QAAS,SAClBja,UAAU,UACVY,QAASxsC,KAAKq+E,KAAKxyC,SAEnBC,gBAAA,OACEkJ,MAAO,CAAE+pC,YAAa,MAAO9pC,gBAAiB,kBAC9CrJ,UAAU,kBACVY,QAASxsC,KAAKu+E,UAAU1yC,SAAA,CAExBF,eAAA,OACEqJ,MAAO,CAAEC,gBAAiB,kBAC1BrJ,UAAU,uBAAsBC,SAEhCF,eAAA,KACEa,QAASxsC,KAAKq+E,KACdrpC,MAAO,CAAES,OAAQ,WACjB7J,UAAU,kCAGdD,eAAA,OAAAE,SACEF,eAACqzC,KAAQ,CACPniC,SAAU78C,KAAKw+E,aACfS,QAASj/E,KAAKwhB,IACd09D,QAAS,IAAIr2C,KAAK,KAAM,EAAG,GAC3BrzB,MAAOxV,KAAK4+E,OACZO,aAAc,kBAvFxBn/E,KAAKkI,MAAQ,CACXwhC,MAAM,EACNloB,KAAK,GAEP,IAAIsnB,EAAM,IAAID,KAEd7oC,KAAKwhB,IAAMsnB,EACP9oC,KAAKiqC,MAAMm1C,UAASp/E,KAAKwhB,IAAMxhB,KAAKiqC,MAAMm1C,SAC9Cp/E,KAAK2+C,IAAMM,IAAMC,YACbl/C,KAAKiqC,MAAMo1C,OACbr/E,KAAKiqC,MAAMo1C,MAAMr/E,KAAK2+C,IAE1B,CACAnT,oBAAqB,CAErBC,uBAAwB,CAYxB6zC,kBAAkBC,GACZv/E,KAAK2+C,IAAI/U,SAAS5pC,KAAK2+C,IAAI/U,QAAQ01C,kBAAkBC,EAC3D,CACAltB,WACMryD,KAAK2+C,IAAI/U,SAAS5pC,KAAK2+C,IAAI/U,QAAQyoB,UACzC,CAgEA3mB,SACE,OACEI,gBAAA,QAAAD,SAAA,CACEC,gBAAC0zC,KAAU,CAAC5zC,UAAU,GAAEC,SAAA,CACtBF,eAACmU,KAAKwF,QAAO,CACX5rC,KAAM1Z,KAAKiqC,MAAMvwB,KACjB6rC,SAAUvlD,KAAKiqC,MAAMsb,SACrB5yB,KAAM3yB,KAAKiqC,MAAMtX,KACjBnd,MAAOxV,KAAKiqC,MAAMz0B,MAClBqnC,SAAU78C,KAAKiqC,MAAM4S,SACrBg5B,QAAS71E,KAAKiqC,MAAM4rC,QACpBD,QAAS51E,KAAKiqC,MAAMw1C,QACpB3iC,YAAa98C,KAAKiqC,MAAM6S,YACxBg5B,aAAc91E,KAAKiqC,MAAM6rC,aACzBn3B,IAAK3+C,KAAK2+C,IACV5wB,KAAK,SAEP4d,eAAC6zC,KAAWr2C,KAAI,CACd6L,MAAO,CAAE0qC,aAAc,MAAOvoC,YAAa,OAC3CvL,UAAU,gCACVjZ,KAAM3yB,KAAKiqC,MAAMtX,KACjB6Z,QAASxsC,KAAKs+E,MAAMzyC,SAEpBF,eAAA,KACEC,UAAU,oBACVoJ,MAAO,CAAE0qC,aAAc,MAAOvoC,YAAa,MAAOhC,MAAM,aAI5DxJ,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAClC7rC,KAAKiqC,MAAM01C,sBAGf3/E,KAAKkI,MAAMwhC,KAAO1pC,KAAK8+E,iBAAmB,KAGjD,EC7IK,MAAMc,GAAyB5xD,IAAO,CACzCD,KAAM8xD,GACN7xD,QAASA,I,+BCGb,MAAM8xD,GAAWtqB,GACZvrB,IACG,IAAI5K,EAAI,IAAK4K,EAAO,KAAQ,QAC5B,OACI0B,eAAC6jC,KAAO,CAAC/uE,GAAG,mBAAqB4+B,EAACwM,SAC9BC,gBAAC0jC,KAAQxD,QAAO,CAAAngC,SAAA,CAAC,IAAE2pB,MAEb,EAGT8X,GAAUA,CAACr3B,EAAOuf,EAAMxf,EAAWv0C,EAAKs+E,KAC7C,qBAAuB/pC,IACvBA,EAAY,UAChB,IAAIgqC,EAAM,OAEN,qBAAuBv+E,IACvBu+E,EAAMv+E,GAEV,IAAIw+E,EAAO,GACX,GAAqB,kBAAVhqC,OACJ,CACH,IAAI50C,EAAQ40C,EAAM50C,MAAM,KACpBA,EAAMusB,OAAS,IACfqyD,EAAO5+E,EAAMA,EAAMusB,OAAS,GAC5BqoB,EAAQ50C,EAAMi2B,MAAM,EAAGj2B,EAAMusB,OAAS,GAAGtsB,KAAK,KAEtD,CACA,OACIqqC,eAAA,OAAKC,UAAWo0C,EAAIn0C,SAChBF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAWA,EAAWoqC,QAASN,GAAStqB,GAAM3pB,SAC9CC,gBAAA,OAAKF,UAAU,oBAAmBC,SAAA,CAAEoK,EAAM,IAACnK,gBAAA,QAAMF,UAAU,cAAaC,SAAA,CAAEo0C,EAAKt0C,eAAA,KAAGC,UAAU,6CAAgDm0C,EAAU,GAAK,aAE7J,EA8BDM,GAAcA,CAACpqC,EAAOuf,EAAMxf,EAAWv0C,EAAKs+E,EAASO,KAC1D,qBAAuBtqC,IACvBA,EAAY,UAChB,IAAIgqC,EAAM,OACNjpC,EAAWpL,eAAA,KAAGC,UAAU,8CACT,IAAf00C,IACAvpC,EAAW,IACX,qBAAuBt1C,IACvBu+E,EAAMv+E,GAEV,IAAIw+E,EAAO,GACX,GAAqB,kBAAVhqC,OACJ,CACH,IAAI50C,EAAQ40C,EAAM50C,MAAM,KACpBA,EAAMusB,OAAS,IACfqyD,EAAO5+E,EAAMA,EAAMusB,OAAS,GAC5BqoB,EAAQ50C,EAAMi2B,MAAM,EAAGj2B,EAAMusB,OAAS,GAAGtsB,KAAK,KAEtD,CACA,OACIqqC,eAAA,QAAMC,UAAWo0C,EAAIn0C,SACjBF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAWA,EAAWoqC,QAASN,GAAStqB,GAAM3pB,SAC9CC,gBAAA,QAAMF,UAAU,oBAAmBC,SAAA,CAAEoK,EAAM,IAACnK,gBAAA,QAAMF,UAAU,cAAaC,SAAA,CAAEo0C,EAAMlpC,EAAUgpC,EAAU,GAAK,aAE3G,EAEFQ,GAAgBA,CAAC1B,EAAK2B,EAAI9oD,KAEnC,GAA6B,IAAzBjJ,KAAK4L,MAAMwkD,EAAM2B,GAAW,CAC5B,IAAIhrB,EAAO7pB,eAAA,QAAAE,SAAM,mBACjB,OACIF,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAGhD,CAEA,GAAImnD,EAAM2B,EAAI,CACV,IAAIhrB,EAAO1pB,gBAAA,QAAAD,SAAA,CAAM,6BAA0BC,gBAAA,KAAAD,SAAA,CAAI,KAAO20C,EAAK3B,GAAK/vB,QAAQ,GAAG,UAC3E,OACInjB,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAGhD,CAEA,IAAI89B,EAAO1pB,gBAAA,QAAAD,SAAA,CAAM,4BAAyBC,gBAAA,KAAAD,SAAA,CAAI,KAAOgzC,EAAM2B,GAAI1xB,QAAQ,GAAG,WAE1E,OACInjB,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAElC,EAGD+oD,GAAkBA,CAAC5B,EAAK2B,EAAIE,EAAWhpD,KAEhD,GAA6B,IAAzBjJ,KAAK4L,MAAMwkD,EAAM2B,GAAW,CAC5B,IAAIhrB,EAAO7pB,eAAA,QAAAE,SAAM,mBACjB,OACIF,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAGhD,CACA,IAAIipD,EAAK,GAIT,IAHmB,IAAfD,IACAC,EAAK70C,gBAAA,OAAAD,SAAA,CAAK,iBAAcC,gBAAA,KAAAD,SAAA,CAAI60C,EAAU,kBAEtC7B,EAAM2B,EAAI,CACV,IAAIhrB,EAAO1pB,gBAAA,QAAAD,SAAA,CAAM,6BAA0BC,gBAAA,KAAAD,SAAA,CAAI,KAAO20C,EAAK3B,GAAK/vB,QAAQ,GAAG,UAC3E,OACInjB,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAGhD,CAEA,IAAI89B,EAAO1pB,gBAAA,QAAAD,SAAA,CAAM,4BAAyBC,gBAAA,KAAAD,SAAA,CAAI,KAAOgzC,EAAM2B,GAAI1xB,QAAQ,GAAG,SAAQ6xB,KAElF,OACIh1C,eAAA,OAAAE,SACIF,eAACu0C,KAAc,CACXxf,QAAS,CAAC,QAAS,SAAUyf,WAAS,EACtCnqC,UAAU,OAAOoqC,QAASN,GAAStqB,GAAM3pB,SACzCC,gBAAA,QAAMF,UAAU,UAASC,SAAA,CAAEnU,EAAK,UAElC,EAGDkpD,GAAOtkD,IAA6D,IAA5D,QAAEqzC,EAAO,MAAE15B,EAAK,UAAED,EAAS,MAAEb,EAAK,MAAEH,EAAK,UAAEpJ,GAAWtP,EAUvE,OAEIqP,eAAA4H,YAAA,CAAA1H,SACIF,eAACk1C,KAAK,CAGFrgB,iBAAiB,kBACjB5lB,aAAc,CACV+B,SAAU,OACVrC,MAAO,SACRrE,MACCnK,gBAAA,OAAKkJ,MAAO,CAAE8rC,UAAW,OAAQC,UAAW,QAAUn1C,UAAU,MAAKC,SAAA,CACjEC,gBAAA,OAAAD,SAAA,CACIF,eAAA,OAAKxT,IAAI,0BAA0B6c,MAAO,CAAEsF,MAAO,OAAQjD,UAAW,UACtE1L,eAAA,KAAGqJ,MAAO,CAAEoC,SAAU,OAAQuC,WAAY,MAAOxE,MAAO,UAAWD,WAAY,QAASrJ,SAAC,gBAElF,KAAVoK,EAAetK,eAAA,OAAKC,UAAU,OAAOoJ,MAAO,CAAEoC,SAAU,OAAQuC,WAAY,MAAOxE,MAAO,QAAStJ,SAC/FoK,IACI,GACTtK,eAAA,OAAKC,UAAU,OAAOoJ,MAAO,CAAEG,MAAO,QAAStJ,SAC1C8jC,OAGCx6B,MAAM,OAAMtJ,SAC1BF,eAAA,OAAKxT,IAhCC,UAAVgd,EACO,gCACU,SAAVA,EACA,+BAEJ,2BA2BqBvJ,UAAU,gBADvBuJ,IAQZ,ECrNI,SAAS6rC,GAAoB/2C,GACxC,MAAM,iBAAEg3C,GAAqBh3C,GAEtB6S,EAAaokC,GAAkB9vC,mBAAS,IAM/C,OAJAe,qBAAU,KACN+uC,EAAeD,EAAiB,GACjC,CAACA,IAGAt1C,eAAA,OAAKqJ,MAAO/K,EAAM+K,MAAMnJ,SACpBF,eAAC6zC,KAAU,CAAC7sD,KAAK,KAAKiZ,UAAU,oBAAmBC,SAC/CF,eAACmU,KAAKwF,QAAO,CAET67B,OAAQl3C,EAAMk3C,OACdrkC,YAAaA,EACbD,SAAU5S,EAAM4S,SAChBrnC,MAAOy0B,EAAMz0B,MACb+vC,WAAUtb,EAAMsb,UAAWtb,EAAMsb,SACjC7rC,KAAMuwB,EAAMvwB,UAKhC,CCvBA,IAAI6pC,GAASj2B,EAAQ,KAEN,MAAM8zD,WAA4Bp3C,YAC/CjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAOfo3C,WAAcC,IACZ,IAAKthF,KAAKiqC,MAAMs3C,aAAc,CAC5BvhF,KAAK2+C,IAAI/U,QAAQ01C,kBAAkB,IACnC,IAAIkC,EAASj+B,GAAOk+B,cAAcH,GAClC,GAAc,MAAVE,EAAgB,CAClB,IAAIE,GAAS,OACS7zD,IAAlB2zD,EAAOG,SACTD,GAAS,EACT1hF,KAAK2+C,IAAI/U,QAAQ01C,kBAAkB,sCAElBzxD,IAAf2zD,EAAOr5E,MACTu5E,GAAS,EACT1hF,KAAK2+C,IAAI/U,QAAQ01C,kBAAkB,6BAEhCoC,GAAQ1hF,KAAK2+C,IAAI/U,QAAQ01C,kBAAkB,IAChD3gF,QAAQC,IAAI,cAAeuC,KAAKC,UAAUogF,GAC5C,CACF,GACA,KACF3kC,SAAYxV,IACVA,EAAEmO,iBACF,IAAI8rC,EAAMj6C,EAAE6U,OAAO1mC,MACnBxV,KAAKqhF,WAAWC,GAEhBthF,KAAKiqC,MAAM4S,SAASxV,EAAE,EACtB,KACF85C,OAAU95C,IACR,IAAIi6C,EAAMj6C,EAAE6U,OAAO1mC,MACnBxV,KAAKqhF,WAAWC,GACS,MAArBthF,KAAKiqC,MAAMk3C,QACbnhF,KAAKiqC,MAAMk3C,OAAO95C,EACpB,EACA,KAWFu6C,kBAAoB,KAClB,IACIz2E,EADgBnL,KAAK6hF,aAAazgC,WACVC,mBAE5B,GAAI,qBAAuBl2C,EAAS,OAEpC,IAAI40D,EAAMz2B,GAAkBn+B,EAAS,gBAAiB,aAClDmnB,EAAMgX,GAAkBn+B,EAAS,QAAS,aAE9C,GAAInL,KAAKiqC,MAAMs3C,aAAc,CAC3B,IAAIO,EAAO,GAAApgF,OAAMq+D,EAAG,KAAAr+D,OAAI4wB,GACxBtyB,KAAK2+C,IAAI/U,QAAQp0B,MAAQssE,EACzB9hF,KAAKqhF,WAAWl2E,GAEhBnL,KAAKiqC,MAAMs3C,aAAap2E,EAC1B,KAAO,CACL,IAAIlD,EAAOqhC,GAAkBn+B,EAAS,WAAY,aAC9CjD,EAAQohC,GAAkBn+B,EAAS,8BAA+B,cAClEhD,EAAMmhC,GAAkBn+B,EAAS,cAAe,aAChD42E,EAAOz4C,GAAkBn+B,EAAS,qBAAsB,cAG/C,KAAT42E,IAAa55E,EAAMA,EAAM,IAAM45E,GAEnC,IAAID,EAAO,GAAApgF,OAAMq+D,EAAG,KAAAr+D,OAAI4wB,EAAG,MAAA5wB,OAAKuG,EAAI,MAAAvG,OAAKwG,EAAK,KAAAxG,OAAIyG,GAClDnI,KAAKqhF,WAAWS,GAChB9hF,KAAKiqC,MAAM4S,SAAS,CAACX,OAAQ,CAAC1mC,MAAOssE,IACvC,GACA,KACFp2C,OAAS,IAELI,gBAACgU,KAAKwU,MAAK,CACTqhB,UAAW31E,KAAKiqC,MAAMxpC,GACtBmrC,UAAU,yBAAwBC,SAAA,CACZ,OAArB7rC,KAAKiqC,MAAMyI,OAAuC,KAArB1yC,KAAKiqC,MAAMyI,MACvC/G,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAE7rC,KAAKiqC,MAAMyI,QAE9C,GAEF/G,eAACmU,KAAKwF,QAAO,CACXswB,SAAS,EACTjjD,KAAM3yB,KAAKiqC,MAAMtX,KACjBgsB,IAAK3+C,KAAK2+C,IACV4G,SAAUvlD,KAAKiqC,MAAMsb,SACrB7rC,KAAM1Z,KAAKiqC,MAAMvwB,KACjBynE,OAAQnhF,KAAKmhF,OACb3sB,aAAcx0D,KAAKiqC,MAAM43C,aACzB9zD,KAAM/tB,KAAKiqC,MAAMlc,KACjBvY,MAAOxV,KAAKiqC,MAAM6rC,aAClBj5B,SAAU78C,KAAK68C,SACfg5B,QAAS71E,KAAKiqC,MAAM4rC,QACpB/4B,YAAa98C,KAAKiqC,MAAM6S,YACxB9H,MAAOh1C,KAAKiqC,MAAM+K,QAEpBrJ,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAA5oB,SAAE7rC,KAAKiqC,MAAM+3C,eACnCr2C,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAE7rC,KAAKiqC,MAAMg4C,iBAxGtDjiF,KAAK2+C,IAAMM,IAAMC,YACjBl/C,KAAKkI,MAAQ,CACXsN,MAAOy0B,EAAM6rC,aAEjB,CAmCAtqC,oBACuB,MAAjBtN,OAAO4iB,SACX9gD,KAAK6hF,aAAe,IAAI3jD,OAAO4iB,OAAOC,KAAKC,OAAOC,aAAalpB,SAASC,eAAeh4B,KAAKiqC,MAAMxpC,IAAK,CACrG41B,MAAO,CAAC,WACRsqB,sBAAuB,CAACC,QAAS,QAGnC5gD,KAAK6hF,aAAa3gC,YAAY,gBAAiBlhD,KAAK4hF,mBACpD5hF,KAAKqhF,WAAWrhF,KAAKiqC,MAAM6rC,cAC7B,EA8DK,MAAMoM,GAAmB5lD,IAAkL,IAAjL,GAAC77B,EAAE,MAAEiyC,EAAK,QAAEvnC,EAAO,MAAEjD,EAAK,OAAEmD,EAAM,KAAEpD,EAAI,IAAEE,EAAG,oBAAEg6E,EAAmB,cAAEC,EAAa,eAAEC,EAAc,aAAEC,EAAY,YAAEC,EAAW,YAAEzlC,EAAW,gBAAE0lC,EAAe,eAAEC,GAAenmD,EAC1M,MAAOomD,EAAYC,GAAiBvxC,mBAAS,KACtCwxC,EAAaC,GAAkBzxC,mBAASjmC,IACxC23E,EAAcC,GAAmB3xC,mBAASlpC,IAC1C86E,EAAeC,GAAoB7xC,mBAAS/lC,IAC5C63E,EAAaC,GAAkB/xC,mBAASnpC,IACxCm7E,EAAYC,GAAiBjyC,mBAASjpC,GAE7CgqC,qBAAU,KACRmxC,GAAiB,GAChB,IAEH,MAAMA,EAAkBA,KACtBhmD,MAAM,oBACHK,MAAMyU,IACL,IAAKA,EAAInJ,GACP,MAAM8D,MAAMqF,EAAImxC,YAElB,OAAOnxC,EAAIvU,MAAM,IAElBF,MAAMyU,IACLuwC,EAAcvwC,EAAI,IAEnBrU,OAAOC,IACNr/B,QAAQo4B,MAAMiH,EAAI,GAClB,EAqDN,OACE8N,gBAAA,OAAAD,SAAA,CACEF,eAAC8Q,KAAG,CAAA5Q,SACFF,eAAC+Q,KAAG,CAACqG,KAAM,GAAGlX,SACZF,eAACy1C,GAAmB,CAClB3gF,GAAIA,EACJiyC,MAAOA,EAEPh5B,KAAK,cACLo8D,aAAc8M,EACd/lC,SAAWxV,IACTw7C,EAAex7C,EAAE6U,OAAO1mC,OACxB2sE,EAAoB96C,EAAE6U,OAAO1mC,MAAM,EAErCsnC,YAAaA,GAA4B,oBACzCklC,aAAa,GACbC,YAAY,sCACZV,aAAel6C,GAzCUl8B,KACjC,IAAI40D,EAAMz2B,GAAkBn+B,EAAS,gBAAiB,aAClDlD,EAAOqhC,GAAkBn+B,EAAS,WAAY,aAE9ChD,GADQmhC,GAAkBn+B,EAAS,8BAA+B,cAC5Dm+B,GAAkBn+B,EAAS,cAAe,cAChDE,EAASi+B,GAAkBn+B,EAAS,8BAA+B,aAEnEq4E,EAAYl6C,GAAkBn+B,EAAS,8BAA+B,aAEtEs4E,EAAS1jB,EAAM,IADPz2B,GAAkBn+B,EAAS,QAAS,cAGhD03E,EAAeY,GACfV,EAAgBS,GAChBP,EAAiB53E,GACjB83E,EAAel7E,GACfo7E,EAAcl7E,GAEdg6E,EAAoBsB,GACpBrB,EAAcoB,GACdnB,EAAeh3E,GACfi3E,EAAar6E,GACbs6E,EAAYp6E,EAAI,EAoBau7E,CAA0Br8C,GAC/C1U,KAAK,WAIXmZ,gBAAC2Q,KAAG,CAACqH,QAAQ,gBAAgBlY,UAAU,OAAQkX,OAAQ,GAAGjX,SAAA,CACxDF,eAAC+Q,KAAG,CAACqG,KAAM,EAAElX,SACTF,eAACsX,KAAM,CACLrX,UAAU,QACVkR,YAAY,QACZtnC,MAAOstE,GAAgB,QACvBjmC,SAAWxV,IACT07C,EAAgB17C,GAChB+6C,EAAc/6C,EAAE,EAChBwE,SAjFI83C,MAChB,IAAIp9C,EAAU,GAMd,OALW/P,OAAOC,KAAKisD,GAElBtzD,SAASkY,IACZf,EAAQ5X,KAAKgd,eAAA,UAAgBn2B,MAAO8zB,GAAehC,GAAGuE,SAAEvC,GAAehC,IAA7CA,GAA0D,IAE/Ef,CAAO,EA2EHo9C,OAGPh4C,eAAC+Q,KAAG,CAACqG,KAAM,EAAElX,SACTF,eAACsX,KAAM,CACHrX,UAAU,QACVkR,YAAY,SACdD,SAAWxV,IACT47C,EAAiB57C,GACjBg7C,EAAeh7C,EAAE,EAEnB7xB,MAAOwtE,GAAiB,SAASn3C,SAnFzB+3C,MAClB,IAAIr9C,EAAU,GAEd,IACE,GAAIm8C,EAAWI,EAAavvD,eAAgB,CAC/BiD,OAAOC,KAAKisD,EAAWI,EAAavvD,gBAC1CnE,SAASkY,IACZf,EAAQ5X,KAAKgd,eAAA,UAAgBn2B,MAAO8zB,GAAehC,GAAGuE,SAAEvC,GAAehC,IAA7CA,GAA0D,GAExF,CACF,CAAE,MAAOvQ,GACPp4B,QAAQC,IAAIm4B,EACd,CACA,OAAOwP,CAAO,EAuEHq9C,OAGPj4C,eAAC+Q,KAAG,CAACqG,KAAM,EAAElX,SACXF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACTF,eAACmU,KAAKwF,QAAO,CACXC,UAAQ,EACR1I,SAAWxV,IACT87C,EAAe97C,EAAE6U,OAAO1mC,OACxB8sE,EAAaj7C,EAAE6U,OAAO1mC,MAAM,EAE9BA,MAAO0tE,EACPpmC,YAAa0lC,GAAoC,aAIvD72C,eAAC+Q,KAAG,CAACqG,KAAM,EAAElX,SACXF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACTF,eAACmU,KAAKwF,QAAO,CACXC,UAAQ,EACR1I,SAAWxV,IACTg8C,EAAch8C,EAAE6U,OAAO1mC,OACvB+sE,EAAYl7C,EAAE6U,OAAO1mC,MAAM,EAE7BA,MAAO4tE,EACPtmC,YAAa2lC,GAAkC,sBAKnD,EChRKoB,OADE,I,OAAIC,cCOd,MAAMH,GAAajB,IACtB,MAAMn8C,EAAU,GAIhB,GAHAA,EAAQ5X,KAAK,CAAEnZ,MAAO,GAAIk9B,MAAO,iBAG7B9C,mBAAQ8yC,GACR,OAAOn8C,EAQX,OALa/P,OAAOC,KAAKisD,GACpBtzD,SAASkY,IACVf,EAAQ5X,KAAK,CAAEnZ,MAAO8zB,GAAehC,GAAIoL,MAAOpJ,GAAehC,IAAK,IAGjEf,CAAO,EASLq9C,GAAcA,CAAClB,EAAYx6E,KACpC,MAAMq+B,EAAU,GAIhB,GAHAA,EAAQ5X,KAAK,CAAEnZ,MAAO,GAAIk9B,MAAO,kBAG7B9C,mBAAQ8yC,IAAe9yC,mBAAQ1nC,GAC/B,OAAOq+B,EAGX,MAAMw9C,EAAYrB,EAAWx6E,EAAMqrB,eACnC,IAAKqc,mBAAQm0C,GAAY,CACRvtD,OAAOC,KAAKstD,GACpB30D,SAASkY,IACVf,EAAQ5X,KAAK,CAAEnZ,MAAO8zB,GAAehC,GAAIoL,MAAOpJ,GAAehC,IAAK,GAE5E,CAEA,OAAOf,CAAO,ECtBZy9C,GAA2B,iBAE3BC,GAAQ,C7Dk7BQ,MAcA,MACA,MACA,MACA,MAGA,MACA,MACA,MACA,MAGC,O6Dj8BnBpkD,G7Dg9BkB,M6D98BlBA,G7Dw9BkB,MACA,M6Dt9BlBA,G7Dw9BkB,MACA,MACA,M6Dt9BlBA,G7Dq+BiB,M6Dj+BrB,MAAMqkD,WAAmBl6C,YACrBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAchBzB,aAAgBnB,IACZ,MAAM,SAAEwV,GAAa78C,KAAKiqC,MAEpBk6C,EAAW98C,EAAE6U,OAAO1mC,MAAM8hB,MAAM,EAAG,IAEzCt3B,KAAKypC,SAAS,CAAE26C,aAAcD,IAE9BtnC,EAAS,CACLX,OAAQ,CACJ1mC,MAAO2uE,GAAYH,KAEzB,EAxBFhkF,KAAKkI,MAAQ,CACTk8E,aAAcn6C,EAAMz0B,QAAUwuE,GAA2B,GAAK/5C,EAAMz0B,MAE5E,CAEA6uE,mBAAmBC,GACXA,EAAU9uE,QAAUxV,KAAKiqC,MAAMz0B,OAC/BxV,KAAKypC,SAAS,CACV26C,aAAcpkF,KAAKiqC,MAAMz0B,QAAUwuE,GAA2B,GAAKhkF,KAAKiqC,MAAMz0B,OAG1F,CAgBAk2B,SACI,MAAM,KAAE3d,EAAI,SAAEw2D,EAAQ,SAAEC,EAAQ,aAAEC,EAAY,WAAEC,GAAa,GAAS1kF,KAAKiqC,OACrE,aAAEm6C,GAAiBpkF,KAAKkI,MAGxBy8E,EAAiB3kF,KAAKiqC,MAAM06C,gBAAkB,CAAC,OAAQ,SAAU,QACvE,OACIh5C,eAAA,OAAKqJ,MAAO,CAAEa,KAAM,SAAShK,SACzBF,eAAA,OAAKyT,GAAI,EAAGxC,GAAI,GAAG/Q,SACfC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CAChB64C,GACG/4C,eAAA,OAAKC,UAAU,kCAAiCC,SAC5CF,eAAA,QACIqJ,MAAO,CAAES,OAAQ,UAAWN,MAAO,UAAWwE,WAAY,IAAKvC,SAAU,QACzE5K,QAASA,IAAMg4C,EAASz2D,GAAM8d,SACjC,aAKTC,gBAAA,OAAKF,UAAU,wBAAuBC,SAAA,CAClCF,eAACmU,KAAKwF,QAAO,CACT1Z,UAAU,2BACVgqC,SAAS,EACTj3B,IAAK4lC,EACLznC,YAAaknC,GACbxuE,MAAO4uE,EACPvnC,SAAU78C,KAAKwoC,aACf+c,UAAQ,EACRx3B,KAAK,MACL8nD,QAAQ,mCACR+O,UAAU,UACVC,WAAax9C,IACJ,aAAa7a,KAAK6a,EAAEn7B,MACrBm7B,EAAEmO,gBACN,IAGR7J,eAAA,OAAKC,UAAU,wBAAwBoJ,MAAO,CAAEsF,MAAO,MAAOoL,WAAY,aAC1E/Z,eAACsX,KAAM,CACHjO,MAAO,CAAEa,KAAM,IAAKwE,OAAQ,OAAQC,MAAO,OAAQoL,WAAY,UAAWrQ,SAAU,UACpFzJ,UAAU,iBACVkR,YAAY,OACZtnC,MAAOuY,EACP8uB,SAAU4nC,EAAa54C,SAEtB84C,EAAez3D,KAAI43D,GAChBn5C,eAACsX,KAAO8hC,OAAM,CAEVvvE,MAAOsvE,EACPr6B,SAAUq6B,IAAc/2D,IAAS42D,EAAex3D,SAAS23D,GAAWj5C,SAEnEi5C,EAAU5tD,OAAO,GAAG3D,cAAgBuxD,EAAUxtD,MAAM,IAJhDwtD,UASrBn5C,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,6CAO1D,EAGJ,MAAMilB,GAAmB5oD,IAErB,MAAM88E,EAAgBA,CAACC,EAAUzgE,IACZ,aAAbygE,EAAgC,aAC7BzgE,EAAe,eAAiB,WAG3C,MAAO,CACHjW,YAAarG,EAAMqG,YACnBwiB,YAAa7oB,EAAM6oB,YACnB9f,cAAe/I,EAAMqG,YAAY0C,cACjCc,SAAU7J,EAAMqG,YAAYwD,SAC5Bb,WAAYhJ,EAAMqG,YAAY2C,WAC9BO,sBAAuBvJ,EAAMqG,YAAYkD,sBACzCyzE,mBAAoBF,EAChB98E,EAAMqG,YAAYkC,SAASgF,WAAWuO,cACtC9b,EAAMqG,YAAYkC,SAASgF,WAAW+O,cAE1C2gE,qBACI,KACAH,EACI98E,EAAMqG,YAAYqD,WAAW6D,WAAWuO,cACxC9b,EAAMqG,YAAYqD,WAAW6D,WAAW+O,cAEhDhW,SAAUtG,EAAMsG,SACnB,EAGCuiD,GAAsBroB,IAAQ,CAChC08C,iBAAmBplD,IACf0I,EN5KgC,CACtC3a,KAAM8xD,GACN7xD,QM0KgCgS,GAAG,EAEjCoxB,0BAA2BA,CAAC/M,EAAK/1B,EAAKD,KAClCqa,EAAS0b,GAAuBC,EAAK/1B,EAAKD,GAAM,EAEpDg3D,gBAAiBA,CAAC3yD,EAAOpE,EAAKD,KAC1Bqa,EAAS0b,GAAuB1xB,EAAOpE,EAAKD,GAAM,EAEtDi3D,mBAAqB32C,IACjBjG,EAAS0b,GAAuBzV,EAAMuN,OAAO0H,SAAS,EAE1D2hC,uBAAyB52C,IACrBjG,EAAS0b,GAA2BzV,EAAMuN,OAAO1mC,OAAO,EAE5Du1C,iBAAmBpc,IACfjG,EAAS0b,GAAwBzV,EAAMuN,OAAO1mC,OAAO,EAEzDgwE,iBAAmB72C,IACfjG,EAAS0b,GAAqBzV,EAAMuN,OAAO0H,SAAS,EAExD6hC,mBAAoBA,CAACjwE,EAAO6Y,KACxBqa,EAAS0b,GAAuB5uC,EAAO6Y,GAAM,EAEjD+xB,0BAA4BzR,IACxBjG,EAAS0b,GAA8BzV,EAAMuN,OAAO1mC,OAAO,EAE/D07C,4BAA8BviB,IAC1BjG,EAAS0b,GAAgCzV,EAAMuN,OAAO1mC,OAAO,EAEjE8qC,4BAA6BA,CAACtgB,EAAG3R,KAC7Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAEtDq3D,wBAAyBA,CAACp3D,EAAK9Y,EAAO6Y,KAClCqa,ElD9LD,SAAiCpa,EAAK0R,EAAG3R,GAC5C,MAAO,CAAEN,KAAMnH,EAAqC0H,MAAKN,QAASgS,EAAI3R,OAC1E,CkD4LiB+1B,CAA4B91B,EAAK9Y,EAAO6Y,GAAM,EAE3D8iC,6BAA+BxiB,IAC3BjG,EAAS0b,GAAiCzV,EAAMuN,OAAO1mC,OAAO,EAElEmwE,mBAAoBA,CAACh3C,EAAOrgB,KACxBoa,EAAS0b,GAAuBzV,EAAMuN,OAAO1mC,MAAO8Y,GAAK,EAE7Ds3D,sBAAuBA,CAACj3C,EAAOrgB,EAAKD,EAAMjB,KACtCsb,EAAS0b,GAA0BzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,EAAMjB,GAAG,EAEzEy4D,sBAAuBA,CAACl3C,EAAOrgB,EAAKlB,KAChCsb,EAAS0b,GAA0BzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKlB,GAAG,EAEnE04D,qBAAsBA,CAACn3C,EAAOrgB,KAC1Boa,EAAS0b,GAAyBzV,EAAMuN,OAAO1mC,MAAO8Y,GAAK,EAE/Dy3D,qBAAsBA,CAACp3C,EAAOrgB,EAAKD,KAC/Bqa,EAAS0b,GAAyBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAErE23D,sBAAuBA,CAACC,EAAO33D,EAAKD,KAChCqa,EAAS0b,GAAyB6hC,EAAO33D,EAAKD,GAAM,EAExD28B,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAEnE63D,2BAA4BA,CAACxzD,EAAOrE,KAChCqa,EAAS0b,GAA+B1xB,EAAOrE,GAAM,EAEzD83D,uBAAwBA,CAACx3C,EAAOtgB,KAC5Bqa,EAAS0b,GAA+BzV,EAAMuN,OAAO0H,QAASv1B,GAAM,EAExE+3D,+BAAiCz3C,IAC7BjG,EAAS0b,GAAmCzV,EAAMuN,OAAO1mC,OAAO,EAEpEw0C,qBAAsBA,CAACzoC,EAAMoF,KACzB+hB,EAASwd,GAAqB3kC,EAAMoF,GAAO,EAE/C0/D,oBAAsBj4D,IAClBsa,EAAS0b,GAAwBh2B,GAAG,EAExCk4D,qCAAsCA,CAAC9wE,EAAO6Y,KAC1Cqa,EAAS0b,GAAyC5uC,EAAO6Y,GAAM,EAEnE2iC,kBAAmBA,CAACt+B,EAAOrE,KACvBqa,EAAS0b,GAAsB1xB,EAAOrE,GAAM,EAEhD4iC,oBAAsBz7C,IAClBkzB,EAAS0b,GAAwB5uC,GAAO,EAE5C+wE,4BAA8B53C,IAC1BjG,EAAS0b,GAAgCzV,EAAMuN,OAAO1mC,OAAO,EAEjE67C,kBAAmBA,KACf3oB,EAAS0b,KAAwB,EAErCkN,uBAAwBA,KACpB5oB,EAAS0b,KAA6B,EAE1CoiC,yBAA2BxmD,IACvB0I,EAAS0b,GAA6BpkB,GAAG,EAE7CymD,qBAAuBzmD,IACnB0I,ElDHD,SAA8B1I,GACjC,MAAO,CAAEjS,KAAMnH,GAAkCoH,QAASgS,EAC9D,CkDCiBokB,CAAyBpkB,GAAG,EAEzC0mD,6BAA8BA,KAC1Bh+C,EAAS0b,KAAmC,EAEhDuiC,+BAAgCA,KAC5Bj+C,ElDFG,CAAE3a,KAAMnH,IkDEmC,EAElDggE,oBAAqBA,CAAC5mD,EAAG5R,EAAGvB,KACxB6b,EAAS0b,GAAwBpkB,EAAG5R,EAAGvB,GAAG,EAE9Cg6D,4BAA6BA,CAAC7mD,EAAG5R,EAAGvB,KAChC6b,EAAS0b,GAAgCpkB,EAAG5R,EAAGvB,GAAG,EAEtDi6D,8BAA+BA,CAAC9mD,EAAG5R,EAAGvB,KAClC6b,EAAS0b,GAAkCpkB,EAAG5R,EAAGvB,GAAG,EAExDk6D,oBAAsB34D,IAClBsa,EAAS0b,GAAwBh2B,GAAG,EAExC44D,4BAA8B54D,IAC1Bsa,EAAS0b,GAAgCh2B,GAAG,EAEhD64D,8BAAgC74D,IAC5Bsa,EAAS0b,GAAkCh2B,GAAG,EAElD84D,2BAA6BlnD,IACzB0I,EAAS0b,GAA+BpkB,GAAG,EAE/CkrB,sBAAwBlrB,IACpB0I,EAAS2d,GAAsBrmB,GAAG,EAEtCmnD,eAAgBA,CAACx4C,EAAOrgB,EAAKD,KACzBqa,EAAS0b,GAAmBzV,EAAOrgB,EAAKD,GAAM,EAElD+4D,oBAAqBA,CAACz4C,EAAOrgB,EAAKD,KAC9Bqa,EAAS0b,GAAuBzV,EAAMuN,OAAO0H,QAASt1B,EAAKD,GAAM,IAIzE,MAAMg5D,WAAkBr9C,YACpBjqC,YAAYkqC,GA4BR,GA3BAC,MAAMD,GAAM,KAuChBo1C,MAAS1gC,IACL3+C,KAAKsnF,IAAM3oC,CAAG,EACjB,KAED4oC,QAAUpzC,UACN,IACI,MAAMhjB,EAAQC,eAAeC,QAAQ,WAC/BuM,QAAiBN,MAAM,mBAAoB,CAC7CC,OAAQ,MACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,aAAc19B,KAAKiqC,MAAM6O,cAIjC,GAAwB,MAApBlb,EAASnyB,OAET,YADA9M,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,QAI5E,MAAMyxB,QAAWU,EAASC,OAE1B,GAAkB,OAAdX,EAAGgM,OAEH,YADAvqC,QAAQo4B,MAAM,UAAYmG,EAAGiM,MAKjCnpC,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO0nB,EAAGsb,YACtB,WACA,aAEJx4C,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO0nB,EAAGub,WACtB,WACA,YAEJz4C,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO0nB,EAAGsX,QACtB,WACA,QAGR,CAAE,MAAOxW,GACLr/B,QAAQo4B,MAAM,eAAgBiH,EAClC,GACH,KAEDitB,eAAiB9W,UACb,IACI,MAAMhjB,EAAQC,eAAeC,QAAQ,WAC/Bm2D,EAAKxnF,KAAKiqC,MAAM17B,YAAYkC,SAC5Bg3E,EAAKznF,KAAKiqC,MAAM17B,YAAYqD,WAE5BgsB,QAAiBN,MAAM,uBAAwB,CACjDlF,KAAMj3B,KAAKC,UAAU,CACjBozC,MAAOgzC,EAAGn/E,MACVmwC,UAAWgvC,EAAGtxE,UACdwxE,WAAYF,EAAGrxE,WACfsiC,SAAU+uC,EAAGpxE,SACbuxE,oBAAqBF,EAAGvxE,UACxB0xE,qBAAsBH,EAAGtxE,WACzB0xE,mBAAoBJ,EAAGrxE,SACvB0xE,gBAAiBL,EAAGp/E,MACpB0/E,gBAAiBN,EAAGzvE,YAExBulB,OAAQ,OACRC,QAAS,CACLC,cAAe,UAAYtM,EAC3BuM,MAAO,WACP,aAAc19B,KAAKiqC,MAAM6O,cAIjC,GAAwB,MAApBlb,EAASnyB,OAET,YADA9M,QAAQu0D,KAAK,gDAAkDt1B,EAASnyB,OAGhF,CAAE,MAAOuyB,GACLr/B,QAAQo4B,MAAM,eAAgBiH,EAClC,GACH,KAEDgqD,YAAexyE,IACX8zB,KAEA,MAAM,IAAEhb,GAAQtuB,KAAKiqC,OACf,kBAAEhzB,GAAsBjX,KAAKiqC,MAAM17B,YAAY+f,GAEvC,KAAV9Y,GAAgBsX,SAAStX,GAAS,GAAkC,IAA7ByB,EAAkB2W,SACzD5tB,KAAKiqC,MAAM07C,mBACP,CAAEzpC,OAAQ,CAAE1mC,MAAO,IACnB8Y,GAEJtuB,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO,MACnB8Y,EACA,yBAIM,KAAV9Y,GAAgBsX,SAAStX,IAAU,GAAkC,IAA7ByB,EAAkB2W,QAC1D5tB,KAAKiqC,MAAM67C,qBACP,CAAE5pC,OAAQ,CAAE1mC,MAAO,IACnB8Y,GAIRtuB,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,UACZ8Y,EACA,sBACH,EACJ,KAED25D,aAAgBzyE,IACZ8zB,KAEAtpC,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,UACZxV,KAAKiqC,MAAM3b,IACX,uBACH,EACJ,KAyBD45D,WAAa,KACT,MAAMC,EAAenoF,KAAK6/C,KAAKjW,QAAQw+C,SACvC,GAA4B,IAAxBD,EAAav6D,OAEb,YADAwD,eAAe0M,QAAQ,gBAAiB,KAI5C,IAAIuqD,EAAa,EACbC,EAAU,EACd,IAAK,IAAIl6D,EAAI,EAAGA,EAAI+5D,EAAav6D,OAAQQ,IAAK,CAC1C,MAAMm6D,EAAUJ,EAAa/5D,GACR,WAAjBm6D,EAAQx6D,OACRs6D,IACKz4C,mBAAQ24C,EAAQ/yE,QACjB8yE,IAGZ,CAEA,MAAME,EAAgB/5D,KAAK4L,MAAOiuD,EAAUD,EAAc,KAC1Dj3D,eAAe0M,QAAQ,gBAAiB0qD,EAAc,EACzD,KAEDC,eAAiB,KACb,MAAMl6E,EAAcvO,KAAKiqC,MAAM17B,YACzBkC,EAAWlC,EAAYkC,SACvBi4E,EAAan6E,EAAYqD,WAE/B,OACInB,EAAS6F,uBAAyBoyE,EAAWpyE,sBAC7C7F,EAASiG,sBAAwBgyE,EAAWhyE,qBAC5CjG,EAASgG,uBAAyBiyE,EAAWjyE,sBAC7ChG,EAAS+F,qBAAuBkyE,EAAWlyE,oBAC3C/F,EAASkG,oBAAsB+xE,EAAW/xE,iBAAiB,EAElE,KAWD+rC,SAAW,KACP,MAAM,IAAEp0B,GAAQtuB,KAAKiqC,OACf,cAAEh5B,GAAkBjR,KAAKiqC,MAAM17B,aAC/B,eAAE0H,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAEvDA,IAAQgb,IAAoC,mBAAlBr4B,GAIX,OAAdgF,QAAc,IAAdA,KAAgBkE,UAEjBna,KAAKiqC,MAAM+gB,mBACP,CACI9O,OAAQ,CACJ1mC,MAAO,IAAKS,EAAgBkE,UAAU,KAG9CmU,EACA,iBAER,EACH,KAED26B,aAAgB5hB,IACZ,MAAM,IAAE/Y,GAAQtuB,KAAKiqC,OACf,UAAEjyB,EAAS,YAAEE,EAAW,UAAEC,GAAcnY,KAAKiqC,MAAM17B,YAAY+f,GAC/Dq6D,EAAS,CACX,CAAEnzE,MAAOwC,EAAW2mC,IAAK3+C,KAAK4oF,cAC9B,CAAEpzE,MAAO0C,EAAaymC,IAAK3+C,KAAK6oF,gBAChC,CAAErzE,MAAO2C,EAAWwmC,IAAK3+C,KAAK8oF,eAIlC,IAAIlT,GAAU,EAYd,GAXA+S,EAAOv5D,SAAQkN,IAAqB,IAApB,MAAE9mB,EAAK,IAAEmpC,GAAKriB,EACtBqiB,EAAI/U,UACAp0B,GAA0B,KAAjBA,EAAMoY,QACf+wB,EAAI/U,QAAQ01C,kBAAkB,kCAC9B1J,GAAU,GACHpgE,GACPmpC,EAAI/U,QAAQ01C,kBAAkB,IAEtC,KAGC1J,EAED,OADA51E,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGX,IAA2C,IAAvCxpD,KAAK6/C,KAAKjW,QAAQ2f,iBAGlB,OAFAliB,EAAEmO,iBACFx1C,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGX,MAAM,cAAEv4C,GAAkBjR,KAAKiqC,MAAM17B,YACrC,GAAsB,mBAAlB0C,IAC4C,IAAxCjR,KAAK+oF,MAAMn/C,QAAQ2f,iBAInB,OAHAliB,EAAEmO,iBACFnO,EAAEgtB,kBACFr0D,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAIf,MAAM,QAAEplD,GAAYpE,KAAKiqC,MAAMl4B,SAW/B,OAVI3N,IAAYy7B,IAAmB7/B,KAAKiqC,MAAMx4B,uBAC1CzR,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAOqqB,KACnByJ,GACA,2BAIRtpC,KAAKirD,kBAEE,CAAI,EACd,KAED+9B,eAAkBr6C,IACdrF,KACAtpC,KAAKipF,UAAUr/C,QAAQga,SAAU,EACjC5jD,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,MAAOqqB,KAAgB,EAC5D,KAEDqpD,iBAAoBv6C,IAChBrF,KACAtpC,KAAKmpF,gBAAgBv/C,QAAQga,SAAU,EACvC5jD,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,MAAOqqB,KAAyB,EACrE,KAEDkrB,iBAAoBpc,IAChBrF,KAEA,MAAM8/C,EAAgBz6C,EAAMuN,OAAOz7C,GACb,aAAlB2oF,GACwD,IAApDppF,KAAKiqC,MAAM17B,YAAYsD,kBAAkB+b,QACzC5tB,KAAKiqC,MAAMo8C,sBAEG,mBAAlB+C,GACAppF,KAAKqpF,cAAc,CAAEntC,OAAQ,CAAE1mC,MAAO,UAEpB,UAAlB4zE,GACAppF,KAAKqpF,cAAc,CAAEntC,OAAQ,CAAE1mC,MAAO,WAG1CxV,KAAKiqC,MAAM8gB,iBAAiBpc,EAAM,EACrC,KAED62C,iBAAoBn+C,IAChBiC,KACAtpC,KAAKiqC,MAAMu7C,iBAAiB,CACxBtpC,OAAQ,CAAE0H,QAA4B,SAAnBvc,EAAE6U,OAAO1mC,QAC9B,EACL,KAED6zE,cAAiBhiD,IACbiC,KACAtpC,KAAKiqC,MAAMi8C,2BACY,SAAnB7+C,EAAE6U,OAAO1mC,MACTqqB,GACH,EACJ,KAEDqxB,4BAA+B7pB,IAC3BiC,KAEA,MAAM,QAAEllC,GAAYpE,KAAKiqC,MAAMl4B,SAC3B3N,IAAYy7B,IAAmB7/B,KAAKiqC,MAAMx4B,uBAC1CzR,KAAKiqC,MAAM+gB,mBAAmB3jB,EAAGiC,GAAc,eAGnDtpC,KAAKiqC,MAAMinB,4BAA4B7pB,EAAE,EAC5C,KAEDiiD,UAAajiD,IACTiC,KAEA,MAAMigD,EAAwBvpF,KAAKiqC,MAAM17B,YAAY2C,WACrDlR,KAAKiqC,MAAMu7C,iBAAiB,CAAEtpC,OAAQ,CAAE0H,SAAU2lC,KAClDvpF,KAAKiqC,MAAMi8C,4BAA4BqD,EAAuB1pD,GAAc,EAC/E,KAED2pD,2BAA8BniD,IAC1BiC,KAEIjC,EAAE6U,OAAO0H,UACT5jD,KAAKmpF,gBAAgBv/C,QAAQga,SAAU,EACvC5jD,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,MAAO,qBAG7CxV,KAAKiqC,MAAMk8C,uBAAuB9+C,EAAG,0BAA0B,EAClE,KAEDoiD,gCAAmCpiD,IAC/BiC,KAEIjC,EAAE6U,OAAO0H,UACT5jD,KAAKmpF,gBAAgBv/C,QAAQga,SAAU,EACvC5jD,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,MAAOqqB,OAG7C7/B,KAAKiqC,MAAMk8C,uBAAuB9+C,EAAG,mCAAmC,EAC3E,KAEDqiD,UAAY,KACR1pF,KAAKypC,SAAS,CAAEC,MAAM,GAAO,EAChC,KACDsB,YAAc,KACVhrC,KAAKypC,SAAS,CAAEC,MAAM,GAAQ,EACjC,KACDigD,gBAAkB,KACd3pF,KAAKypC,SAAS,CAAEmgD,UAAU,GAAQ,EACrC,KACDC,sBAAwB,KACpB7pF,KAAKypC,SAAS,CAAEmgD,UAAU,GAAO,EACpC,KACDE,kBAAoB,KAChB9pF,KAAKypC,SAAS,CAAEsgD,aAAa,GAAO,EACvC,KACDC,mBAAqB,KACjBhqF,KAAKypC,SAAS,CAAEsgD,aAAa,GAAQ,EACxC,KAED3pC,0BAA6B/Y,IACzBiC,KAEAtpC,KAAKiqC,MAAM+mB,kBAAkB,IAAInxB,GAAiB,gBAClD7/B,KAAKiqC,MAAMgnB,oBAAoB,GAER,qBAAnB5pB,EAAE6U,OAAO1mC,OACTxV,KAAKypC,SAAS,CAAEsgD,aAAa,IAGG,aAAhC/pF,KAAKiqC,MAAMl4B,SAAS3N,UAEpBpE,KAAKiqC,MAAMonB,oBACXrxD,KAAKiqC,MAAMqnB,0BAGftxD,KAAKiqC,MAAMmW,0BAA0B/Y,EAAE,EAlbvCrnC,KAAK6/C,KAAOZ,IAAMC,YAClBl/C,KAAK+oF,MAAQ9pC,IAAMC,YAEnBl/C,KAAKkI,MAAQ,CACT+hF,cAAehgD,EAAMh5B,cAAgB,GAAK,WAC1Ci5E,eAAgBjgD,EAAMh5B,cAAgB,WAAa,GACnDy4B,MAAM,EACNrhC,MAAO,GACP8hF,cAAc,EACdP,UAAU,EACVG,aAAa,EACbK,QAAS,GACTC,WAAY,GACZjwE,UAAW,GACXovC,WAAW,EACXk5B,WAAY,CAAC,EACb4H,aAAa,GAGjBtqF,KAAKmpF,gBAAkBlqC,IAAMC,YAC7Bl/C,KAAK4oF,aAAe3pC,IAAMC,YAC1Bl/C,KAAK6oF,eAAiB5pC,IAAMC,YAC5Bl/C,KAAK8oF,aAAe7pC,IAAMC,YAC1Bl/C,KAAKsnF,IAAMroC,IAAMC,YAEyB,OAAtC9tB,eAAeC,QAAQ,WAAqB,CAC5C,MAAM,UAAEnb,EAAS,SAAEE,GAAapW,KAAKiqC,MAAM17B,YAAYkC,SACrC,KAAdyF,GAAiC,KAAbE,GACpBpW,KAAKunF,SAEb,CAE8C,OAA1CvnF,KAAKiqC,MAAM17B,YAAY6C,gBACvBpR,KAAKiqC,MAAMi8C,4BAA2B,EAAO,iBAErD,CAiIA16C,oBACiD,OAAzCxrC,KAAKiqC,MAAM17B,YAAY0C,eACvBjR,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,MAAOqqB,MAG7C7/B,KAAKkoF,aACLloF,KAAKypC,SAAS,CAAE6gD,YAAatqF,KAAKyoF,mBAEnB1wD,SAASqpC,iBAAiB,SAElChyC,SAAQ,SAAUsD,GAErBA,EAAM63D,aAAa,eAAgB,OAChB,aAAf73D,EAAM3E,MACN2E,EAAM63D,aAAa,eAAgB,eAE3C,GACJ,CAEAlG,qBACIrkF,KAAKkoF,YACT,CAuCA5+B,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAIf,CA8MA9d,SACI,MAAM8+C,EAAsBA,CAACl8D,EAAKD,IACvBsgB,IACHrF,KACAtpC,KAAKiqC,MAAM+gB,mBACP,CACI9O,OAAQ,CACJ1mC,MAAgB,MAATm5B,EAAgB,GAAKA,IAGpCrgB,EACAD,EACH,EAIH28B,EAAqBA,CAAC18B,EAAKD,IACtBsgB,IACHrF,KACAtpC,KAAKiqC,MAAM+gB,mBAAmBrc,EAAOrgB,EAAKD,EAAK,EAIjDo8D,EAAmBA,CAACn8D,EAAKD,IACpBsgB,IACHrF,KACAtpC,KAAKiqC,MAAM+gB,mBAAmBrc,EAAOrgB,EAAKD,GAC1CruB,KAAK+qD,iBAAiB,CAClB7O,OAAQ,CAAE1mC,MAAOqqB,MAErB,MAAM,cAAE5uB,EAAa,WAAEC,GAAelR,KAAKiqC,MAAM17B,YAC7C0C,IAAkB4uB,IAAuC,OAAf3uB,GAC1ClR,KAAKiqC,MAAMu7C,iBAAiB,CACxBtpC,OAAQ,CAAE0H,SAAS,IAE3B,EAIF8mC,EAA0BA,CAACp8D,EAAKD,IAC3BsgB,IACHrF,KACItpC,KAAK4oF,aAAah/C,SAClB5pC,KAAK4oF,aAAah/C,QAAQ01C,kBAAkB,IAE5Ct/E,KAAK6oF,eAAej/C,SACpB5pC,KAAK6oF,eAAej/C,QAAQ01C,kBAAkB,IAE9Ct/E,KAAK8oF,aAAal/C,SAClB5pC,KAAK8oF,aAAal/C,QAAQ01C,kBAAkB,IAEhD,MAAMl3E,EAAQkhC,GAAkBqF,EAAMuN,OAAO1mC,OAC7C,OAAOxV,KAAKiqC,MAAMo7C,gBAAgBj9E,EAAOkmB,EAAKD,EAAK,EAIrDs8D,EAAatjD,IACfrnC,KAAKypC,SAAS,CAAE2gD,QAAS/iD,EAAE6U,OAAO1mC,OAAQ,EAGxCo1E,EAAgBvjD,IAClBrnC,KAAKypC,SAAS,CAAE4gD,WAAYhjD,EAAE6U,OAAO1mC,OAAQ,EAG3Cq1E,EAAU,IAAIhiD,KACpBgiD,EAAQC,YAAYD,EAAQlM,cAAgB,IAE5C,MAAMoM,EAAmBA,CAACp8C,EAAOrgB,KAC7Bgb,KACAtpC,KAAKgrF,WAAWphD,QAAQ01C,kBAAkB,IAC1C,MAAM2L,EnD9qBX,SAAsBv4D,GAE5B,IAAIC,EAAOD,EAAM9E,OAmBjB,OAlBa,IAAT+E,EACc,MAAbD,EAAM,KACTA,EAAQ,IAAMA,GACLC,GAAQ,EAClBD,EAAQA,EAAMG,QAAQ,MAAO,IACV,IAATF,EACO,MAAbD,EAAM,KAETA,EAAQA,EAAMT,OAAO,EAAG,GAAK,IAAMS,EAAM,IAEvB,IAATC,IACO,MAAbD,EAAM,KAETA,EAAQA,EAAMT,OAAO,EAAG,GAAK,IAAMS,EAAM,MAG3CA,EAAQA,EAAMG,QAAQ,WAAY,KACpBC,UAAU,EAAG,GAE5B,CmDwpByBwW,CAAiBqF,EAAMuN,OAAO1mC,OAC3C,OAAOxV,KAAKiqC,MAAMo7C,gBAAgB4F,EAAM38D,EAAK,iBAAiB,EAG5D48D,EAAcA,CAAC5yE,EAAaC,EAAMC,KACpC,MAAM2yE,EAA0B,UAAhB7yE,EAEhB,OACIwzB,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAC+Q,KAAG,CAACE,GAAI,GAAIwC,GAAI+rC,EAAU,EAAI,EAAGv/C,UAAU,OAAMC,SAC9CC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,cAAa9pC,SAAA,CAC/BF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,8BAClCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACH6yB,aAAcx9D,EACd9C,MAAO8C,EACPukC,SAAU2tC,EAAoBl8D,EAAK,eACnC0mB,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,OAAQqL,WAAY,WAAY7Z,SAAA,CAEhEF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,UAASq2B,SAAC,eAC/BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,YAAWq2B,SAAC,6BACjCF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,QAAOq2B,SAAC,sCAGrCF,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,iDAK9CF,eAAC+Q,KAAG,CAACE,GAAI,GAAIwC,GAAI+rC,EAAU,EAAI,EAAGv/C,UAAU,OAAMC,SAC7Cs/C,GACGr/C,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,OAAM9pC,SAAA,CACxBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,UAClCF,eAAA,OAAAE,SACIF,eAACsX,KAAM,CACH6yB,aAAcv9D,EACd/C,MAAO+C,EACPskC,SAAU2tC,EAAoBl8D,EAAK,QACnC0mB,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,OAAQqL,WAAY,WAAY7Z,SAE/Du/C,EAAQnH,GAAO31D,GAAKpB,KACjB,CAAC1X,EAAO5B,IAAU+3B,eAACsX,KAAO8hC,OAAM,CAAsBvvE,MAAOA,EAAMq2B,SAAEr2B,GAA/B,OAAS5B,cAOvE+3B,eAAC+Q,KAAG,CAACE,GAAI,GAAIwC,GAAI+rC,EAAU,EAAI,EAAGv/C,UAAU,OAAMC,SAC7Cs/C,GACGr/C,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,aAAa/pC,UAAU,YAAWC,SAAA,CACpDF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,aAClCF,eAAA,OAAAE,SACIF,eAAC+X,KAAU,CACP2nC,aAAezhD,GAEPA,GACAA,EAAQ0hD,UAAY1iB,OAAQC,QAAQ,OAAOyiB,UAGnD5xE,KAAK,cACLs7B,MAAO,CAAEsF,MAAO,QAChB+kC,MAAQ1gC,IAAU3+C,KAAKgrF,WAAarsC,CAAG,EACvC4G,UAAQ,EACR5yB,KAAK,KACLmqB,YAAY,aACZjJ,OAAO,aACPr+B,MAAOgD,EAAiBowD,KAAMpwD,EAAgB,cAAgB,GAC9DqkC,SAAWxV,IACP0jD,EACI,CACI7uC,OAAQ,CACJ1mC,MAAOozD,KAAMvhC,GAAGwM,OAAO,gBAG/BvlB,EACH,MAIbqd,eAAA,OAAKqJ,MAAO,CAAEsJ,QAAS,GAAIzS,SACvBF,eAACyyC,GAAW,CACRzrD,KAAK,KACLijD,SAAS,EACTwJ,QAASyL,EACTxL,MAAQ1gC,IAAU3+C,KAAKgrF,WAAarsC,CAAG,EACvC4G,SAA0B,UAAhBjtC,EACVwkC,YAAY,aACZpjC,KAAK,aACLqU,KAAK,OACLvY,MAAOgD,EACPqkC,SAAWxV,IAAO0jD,EAAiB1jD,EAAG/Y,EAAI,EAC1CqxD,iBAAiB,6CACjB9J,QAAQ,oFAM7B,EAILuV,EAAUA,CAACnH,EAAO31D,IACR,eAARA,EAA6B21D,EAE1BA,EAAMv2C,QAAQpG,IACb,CAACzH,GAAWA,GAAWA,GAAWA,IAAW1S,SAASma,KAO5DikD,EAAkB3nC,IACpB,MAAMpuC,EAAQouC,EAAU,iBAAmB,QAG3C,GAFA5jD,KAAK+qD,iBAAiB,CAAE7O,OAAQ,CAAE1mC,YAE7BouC,EAAS,CACV,MAAMt1B,EAAM,aACZtuB,KAAKiqC,MAAMu7C,iBAAiB,CAAEtpC,OAAQ,CAAE0H,SAAS,KACjD5jD,KAAKiqC,MAAMi8C,4BAA2B,EAAOrmD,IAE7C7/B,KAAKiqC,MAAMmnB,0BAA0B,GAAI9iC,EAAK,aAC9CtuB,KAAKiqC,MAAMmnB,0BAA0B,GAAI9iC,EAAK,YAC9CtuB,KAAKiqC,MAAMmnB,0BAA0B,GAAI9iC,EAAK,SAC9CtuB,KAAKiqC,MAAMmnB,0BAA0B,GAAI9iC,EAAK,aAC9CtuB,KAAKiqC,MAAMmnB,0BAA0B,GAAI9iC,EAAK,cAClD,IAGE,IAAEA,GAAQtuB,KAAKiqC,OACf,QAAEmgD,EAAO,WAAEC,EAAU,SAAET,EAAQ,UAAEpgC,EAAS,aAAE2gC,GAAiBnqF,KAAKkI,OAElE,wBAAE8J,EAAuB,iCAAEC,EAAgC,cAAEhB,EAAa,WAAEC,GAAgBlR,KAAKiqC,MAAM17B,aACvG,UACF2H,EAAS,WACTC,EAAU,SACVC,EAAQ,OACRC,EAAM,YACNoB,EAAW,UACXO,EAAS,YACTE,EAAW,UACXC,EAAS,MACT9P,EAAK,cACLqP,EAAa,YACbY,EAAW,KACXC,EAAI,eACJC,GACAxY,KAAKiqC,MAAM17B,YAAY+f,GAErB68D,EAA0B,UAAhB7yE,EACVkzE,EAAa,CAAC,OAAQ,SAAU,QAEhCC,EADcD,EAAWt+D,KAAIa,GAAQ/tB,KAAKiqC,MAAM17B,YAAY+f,GAAK,GAAD5sB,OAAIqsB,EAAI,YACxC2f,QAAOtlC,IAAUwnC,mBAAQxnC,KAAQwlB,QAEjE,WAAE+C,GAAe3wB,KAAKiqC,MAAMlZ,YAE5B26D,EAAqB5G,IACvB,MAAM,YAAEv2E,GAAgBvO,KAAKiqC,MACV,CAAC,OAAQ,SAAU,QAEJyD,QAAO3f,IAAS6hB,mBAAQrhC,EAAY+f,GAAK,GAAD5sB,OAAIqsB,EAAI,aAE/DH,OAAS,GACxB48D,EAAoBl8D,EAAI,GAAD5sB,OAAKojF,EAAS,SAArC0F,CAA8C,GAClD,EAGEmB,EAAwBA,CAACC,EAASC,EAASC,KAE7C,GAAIF,IAAYC,EAAS,OAIzB,GAFkBE,IAEJ5+D,SAAS0+D,IAAYA,IAAYD,EAC3C,OAGJ,MAAMI,EAAoBF,GAAgB9H,GAE1CxP,QAAQG,UACHh3C,MAAK,KACF6sD,EAAoBl8D,EAAI,GAAD5sB,OAAKmqF,EAAO,SAAnCrB,CAA4CwB,EAAkB,IAEjEruD,MAAK,KACF6sD,EAAoBl8D,EAAI,GAAD5sB,OAAKkqF,EAAO,SAAnCpB,CAA4C,GAAG,GACjD,EAMJyB,EAAiBA,KACnB,MAAMT,EAAa,CAAC,OAAQ,SAAU,QACtC,IAAK,MAAMz9D,KAAQy9D,EAAY,CAC3B,MAAMU,EAAalsF,KAAKiqC,MAAM17B,YAAY+f,GAAK,GAAD5sB,OAAIqsB,EAAI,UACtD,GAAI6hB,mBAAQs8C,GAER,YADA1B,EAAoBl8D,EAAI,GAAD5sB,OAAKqsB,EAAI,SAAhCy8D,CAAyCxG,GAGjD,GAEE+H,EAAoBA,KACtB,MACMI,EAAkBnsF,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAExD,MAHmB,CAAC,OAAQ,SAAU,QAGpBof,QAAO3f,IACrB,MAAMvY,EAAQ22E,EAAgB,GAADzqF,OAAIqsB,EAAI,UACrC,OAAOvY,GAAmB,KAAVA,CAAY,GAC9B,EAEN,OAAI8Y,IAAQgb,GAEJwC,gBAAA,OAAKF,UAAU,kBAAiBC,SAAA,CAC5BC,gBAACC,KAAK,CACFqgD,gBAAgB,yBAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAM1pC,KAAKkI,MAAM6hF,YACjB/9C,OAAQhsC,KAAKgqF,mBAAmBn+C,SAAA,CAEhCF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,6CAIjBC,gBAACC,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAAA,CAC7BF,eAAA,OAAKC,UAAU,QAAOC,SAAC,iHAGvBF,eAAA,OAAAE,SAAK,uDAGLC,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,SACI5d,KAAK,QACL61B,QAAqB,cAAZwmC,EACTvtC,SAAU8tC,EACVn1E,MAAM,YACNkE,KAAK,aACLjZ,GAAG,cAEPkrC,eAAA,SAAOlrC,GAAG,iBAAiBmrC,UAAU,UAAUygD,QAAQ,YAAWxgD,SAAC,gBAGnEF,eAAA,SACIC,UAAU,OACV7d,KAAK,QACL61B,QAAqB,aAAZwmC,EACTvtC,SAAU8tC,EACVn1E,MAAM,WACNkE,KAAK,aACLjZ,GAAG,aAEPkrC,eAAA,SAAOlrC,GAAG,gBAAgBmrC,UAAU,UAAUygD,QAAQ,WAAUxgD,SAAC,sBAIxD,cAAZu+C,GACGz+C,eAAA,OAAKqJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAC,qDAIhE,aAAZu+C,GACGt+C,gBAAA,OAAAD,SAAA,CAAK,mCAEDC,gBAAA,MAAAD,SAAA,CACIF,eAAA,MAAAE,SAAI,+GACJF,eAAA,MAAAE,SAAI,2CACJF,eAAA,MAAAE,SAAI,+EAERC,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,SACI5d,KAAK,QACL61B,QAAwB,eAAfymC,EACTxtC,SAAU+tC,EACVp1E,MAAM,aACNkE,KAAK,aACLjZ,GAAG,eAEPkrC,eAAA,SAAOC,UAAU,UAAUnrC,GAAG,kBAAkB4rF,QAAQ,aAAYxgD,SAAC,iBAGrEF,eAAA,SACIC,UAAU,OACVgY,QAAwB,iBAAfymC,EACTt8D,KAAK,QACL8uB,SAAU+tC,EACVp1E,MAAM,eACNkE,KAAK,aACLjZ,GAAG,iBAEPkrC,eAAA,SAAOlrC,GAAG,iBAAiBmrC,UAAU,UAAUygD,QAAQ,eAAcxgD,SAAC,sBAI1D,eAAfw+C,GACG1+C,eAAA,OAAKqJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAC,qDAI7D,iBAAfw+C,GACG1+C,eAAA,OAAKqJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAC,4EAOzFF,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKgqF,mBAAmBn+C,SAAC,eAMtEC,gBAACC,KAAK,CACFqgD,gBAAgB,yBAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAM1pC,KAAKkI,MAAMwhC,KACjBsC,OAAQhsC,KAAKgrC,YAAYa,SAAA,CAEzBF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,gDAIjBF,eAACI,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAC7BC,gBAACgU,KAAI,CAACr/C,GAAG,QAAQwzD,YAAU,EAACzK,WAAW,EAAO0K,SAAUl0D,KAAKssF,kBAAkBzgD,SAAA,CAC3EF,eAAA,OAAKC,UAAU,QAAOC,SAAC,gGAGvBF,eAAA,OAAKC,UAAU,OAAMC,SAAC,iGAGtBF,eAAC8Q,KAAG,CAAA5Q,SACAC,gBAAC4Q,KAAG,CAAA7Q,SAAA,CACAF,eAAA,SACI5d,KAAK,WACLttB,GAAG,0BACHiZ,KAAK,0BACL6yE,eAAgBv6E,EAChB6qC,SACI78C,KAAKwpF,6BAGb79C,eAAA,SACIlrC,GAAG,+BACHu0C,MAAO,CAAEyoC,eAAgB,aACzB7xC,UAAU,UACVygD,QAAQ,0BAAyBxgD,SACpC,mJAIH,KAENC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAACmU,KAAKwU,MAAK,CACPqhB,UAAU,mCACV/pC,UAAU,yBAAwBC,SAElCF,eAACmU,KAAK0sC,MAAK,CACP5gD,UAAU,UACV7d,KAAK,WACLttB,GAAG,mCACHiZ,KAAK,mCACL6yE,eAAgBt6E,EAChB4qC,SAAU78C,KAAKypF,gCACf/2C,MAAM,yiBAGX,YAInB/G,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKgrC,YAAYa,SAAC,eAM/DC,gBAACC,KAAK,CACFqgD,gBAAgB,kCAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAMkgD,EACN59C,OAAQhsC,KAAK2pF,gBAAgB99C,SAAA,CAE7BF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,6BAEjBC,gBAACC,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAAA,CAC7BF,eAAA,OAAKC,UAAU,OAAMC,SAAC,sFACtBC,gBAAA,OAAAD,SAAA,CAAM,IAAI,mFAEdF,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAK2pF,gBAAgB99C,SAAC,eAMnEC,gBAACgU,KAAI,CAACnB,IAAK3+C,KAAK6/C,KAAMp/C,GAAG,gBAAgBwzD,YAAU,EAACzK,UAAWA,EAAWgL,aAAa,QAAO3oB,SAAA,CAC1FF,eAAC8Q,KAAG,CAAC7Q,UAAU,kBAAiBC,SAC5BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,aACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,qBAKpDC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,gBACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,YACLojC,YAAY,wBACZtnC,MAAOU,EACP2mC,SAAUmO,EAAmB,WAAY,aACzCzF,UAAQ,SAIpB5Z,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,gBACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,aACLojC,YAAY,yBACZtnC,MAAOW,EACP0mC,SAAUmO,EAAmB,WAAY,qBAIrDrf,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,eACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,WACLojC,YAAY,uBACZtnC,MAAOY,EACPymC,SAAUmO,EAAmB,WAAY,YACzCzF,UAAQ,YAKxB5Z,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,YAAWC,SAAA,CACvDF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,WAClCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACH6yB,aAAcz/D,EACdb,MAAOa,EACPwmC,SAAU2tC,EAAoBlhD,GAAc,UAC5C0L,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,OAAQqL,WAAY,WAAY7Z,SAAA,CAEhEF,eAACsX,KAAO8hC,OAAM,CACVvvE,MAAM,GACNw/B,MAAO,CACHG,MAAO,OACPs3C,UAAW,SACXjP,aAAc,iBACdhiC,aAAc,MACdkxC,cAAe,OACjB7gD,SACL,oBAGDF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,IAAGq2B,SAAC,MACzBF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,KAAIq2B,SAAC,OAC1BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,KAAIq2B,SAAC,OAC1BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,QAAOq2B,SAAC,UAC7BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,oBAM/CC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC0C,GAAI+rC,EAAU,EAAI,EAAGvuC,GAAI,GAAIhR,UAAU,OAAMC,SAC9CC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,MAAM/pC,UAAU,+BAA8BC,SAAA,CAChEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,yBAAwBC,SAAC,mBAG/CF,eAAC+X,KAAU,CACPhqC,KAAK,cACLs7B,MAAO,CAAEsF,MAAO,QAChBiL,UAAQ,EACR5yB,KAAK,KACLmqB,YAAY,aACZjJ,OAAO,aACPr+B,MAAOiC,EAAcmxD,KAAMnxD,EAAa,cAAgB,GACxDolC,SAAWxV,IACPrnC,KAAKiqC,MAAMmnB,0BACP/pB,EAAIuhC,KAAM,IAAI//B,KAAKxB,IAAIwM,OAAO,cAAgB,GAC9CvK,GACA,cACH,SAKhB4hD,EAAY5yE,EAAaC,EAAMC,MAEpCmzB,eAAC8Q,KAAG,CAACzH,MAAO,CAAEqC,UAAW8zC,EAAU,QAAU,KAAMt/C,SAC/CF,eAAC+Q,KAAG,CAAC0C,GAAI,GAAIxC,GAAI,GAAG/Q,SAChBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,YAAWC,SAAA,CACvDC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAAC,kBAE9BF,eAACi1C,GAAI,CACDjR,QACIhkC,eAAA,OAAAE,SAAK,oFAMjBF,eAAA,OAAAE,SACIF,eAAC+e,GAAU,CACPz5B,KAAM,CACF,CAAEzb,MAAO,UAAWk9B,MAAO,WAC3B,CAAEl9B,MAAO,YAAak9B,MAAO,aAC7B,CAAEl9B,MAAO,YAAak9B,MAAO,cAEjCl9B,MAAOkC,EACPgtC,eAAgB8lC,EAAoBlhD,GAAc,iBAClDvb,KAAK,QACL8wB,UAAU,aACV7J,MAAO,CAAE6Q,QAAS,OAAQvL,MAAO,YAGzC3O,eAAA,OAAKC,UAAU,mBAAkBC,SAAC,8CAM9CF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,sBAAqBC,SAAC,yBAE5CC,gBAAC2Q,KAAG,CACA7Q,UAAU,eACVoJ,MAAO,CACH03C,cAAe,GACjB7gD,SAAA,GAGC+D,mBAAQ53B,IAAe43B,mBAAQ13B,IAAgB03B,mBAAQz3B,KACtDwzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,OACLvY,MAAOwC,EACPusE,SAAUvkF,KAAK4oF,aACfpE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAc,aAChDq7C,eAAgB,CAAC,UAAW6G,EAAW99C,QAAO3f,GACjC,SAATA,IAAoBg+D,IAAoB5+D,SAASY,MAErD02D,aAAeoH,GAAYF,EAAsB,OAAQE,EAAS7zE,GAClE0sE,WAAY+G,EAAoB,OAM1C77C,mBAAQ13B,IACNyzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,SACLvY,MAAO0C,EACPqsE,SAAUvkF,KAAK6oF,eACfrE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAc,eAChDq7C,eAAgB,CAAC,YAAa6G,EAAW99C,QAAO3f,GACnC,WAATA,IAAsBg+D,IAAoB5+D,SAASY,MAEvD02D,aAAeoH,GAAYF,EAAsB,SAAUE,EAAS3zE,GACpEwsE,WAAY+G,EAAoB,OAM1C77C,mBAAQz3B,IACNwzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,OACLvY,MAAO2C,EACPosE,SAAUvkF,KAAK8oF,aACftE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAc,aAChDq7C,eAAgB,CAAC,UAAW6G,EAAW99C,QAAO3f,GACjC,SAATA,IAAoBg+D,IAAoB5+D,SAASY,MAErD02D,aAAeoH,GAAYF,EAAsB,OAAQE,EAAS1zE,GAClEusE,WAAY+G,EAAoB,SAMhD9/C,eAACW,KAAM,CACHme,UAAW7a,mBAAQ53B,KAAe43B,mBAAQ13B,KAAiB03B,mBAAQz3B,GACnEo0B,QAAQ,OACRX,UAAU,mBACVoJ,MAAO,CACHoC,SAAU,OACVuC,WAAY,IACZxE,MAAO,UACPsoC,eAAgB,OAChBr4B,OAAQ,OACRM,WAAY,QAEhBlZ,QAAUnF,IACNA,EAAEmO,iBACFnO,EAAEgtB,kBACF43B,GAAgB,EAClBpgD,SACL,4BAIDF,eAAA,OAAKC,UAAU,uBAAuBoJ,MAAO,CAAEoC,SAAU,QAASvL,SAAC,uGAOtD,YAAxBvC,MACGqC,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SACfC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,4CAGZC,gBAACgU,KAAKwF,QAAO,CACT1N,GAAG,SACHpiC,MAAOmb,GAA0B,GACjCksB,SAAWxV,IAAOrnC,KAAKiqC,MAAMm7C,iBAAiB/9C,EAAE6U,OAAO1mC,MAAM,EAAEq2B,SAAA,CAE/DF,eAAA,UAAQn2B,MAAM,GAAEq2B,SAAC,QACjBF,eAAA,UAAQn2B,MAAM,QAAOq2B,SAAC,eACtBF,eAAA,UAAQn2B,MAAM,cAAaq2B,SAAC,iBAC5BF,eAAA,UAAQn2B,MAAM,SAAQq2B,SAAC,oBACvBF,eAAA,UAAQn2B,MAAM,UAASq2B,SAAC,4BAWxDvd,IAAQgb,GAEJwC,gBAAA,OAAKF,UAAU,kBAAiBC,SAAA,CAC5BC,gBAACC,KAAK,CACFqgD,gBAAgB,yBAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAM1pC,KAAKkI,MAAM6hF,YACjB/9C,OAAQhsC,KAAKgqF,mBAAmBn+C,SAAA,CAEhCF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,6CAIjBC,gBAACC,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAAA,CAC7BF,eAAA,OAAKC,UAAU,QAAOC,SAAC,iHAGvBF,eAAA,OAAAE,SAAK,uDAGLC,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,SACI5d,KAAK,QACL61B,QAAqB,cAAZwmC,EACTvtC,SAAU8tC,EACVn1E,MAAM,YACNkE,KAAK,aACLjZ,GAAG,cAEPkrC,eAAA,SAAOlrC,GAAG,iBAAiBmrC,UAAU,UAAUygD,QAAQ,YAAWxgD,SAAC,gBAGnEF,eAAA,SACIC,UAAU,OACV7d,KAAK,QACL61B,QAAqB,aAAZwmC,EACTvtC,SAAU8tC,EACVn1E,MAAM,WACNkE,KAAK,aACLjZ,GAAG,aAEPkrC,eAAA,SAAOlrC,GAAG,gBAAgBmrC,UAAU,UAAUygD,QAAQ,WAAUxgD,SAAC,sBAIxD,cAAZu+C,GACGz+C,eAAA,OAAKqJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAC,qDAIhE,aAAZu+C,GACGt+C,gBAAA,OAAAD,SAAA,CAAK,mCAEDC,gBAAA,MAAAD,SAAA,CACIF,eAAA,MAAAE,SAAI,+GACJF,eAAA,MAAAE,SAAI,2CACJF,eAAA,MAAAE,SAAI,+EAERC,gBAAA,OAAKF,UAAU,YAAWC,SAAA,CACtBF,eAAA,SACI5d,KAAK,QACL61B,QAAwB,eAAfymC,EACTxtC,SAAU+tC,EACVp1E,MAAM,aACNkE,KAAK,aACLjZ,GAAG,eAEPkrC,eAAA,SAAOC,UAAU,UAAUnrC,GAAG,kBAAkB4rF,QAAQ,aAAYxgD,SAAC,iBAGrEF,eAAA,SACIC,UAAU,OACVgY,QAAwB,iBAAfymC,EACTt8D,KAAK,QACL8uB,SAAU+tC,EACVp1E,MAAM,eACNkE,KAAK,aACLjZ,GAAG,iBAEPkrC,eAAA,SAAOlrC,GAAG,iBAAiBmrC,UAAU,UAAUygD,QAAQ,eAAcxgD,SAAC,sBAI1D,eAAfw+C,GACGv+C,gBAAA,OAAKkJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAA,CAAC,mDACpB,OAGzC,iBAAfw+C,GACG1+C,eAAA,OAAKqJ,MAAO,CAAEoC,SAAU,QAASjC,MAAO,UAAWwE,WAAY,QAAS9N,SAAC,4EAOzFF,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKgqF,mBAAmBn+C,SAAC,eAMtEC,gBAACC,KAAK,CACFqgD,gBAAgB,yBAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAM1pC,KAAKkI,MAAMwhC,KACjBsC,OAAQhsC,KAAKgrC,YAAYa,SAAA,CAEzBF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,gDAIjBF,eAACI,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAC7BC,gBAACgU,KAAI,CACDr/C,GAAG,QACHwzD,YAAU,EACVzK,WAAW,EACX0K,SAAUl0D,KAAKssF,kBAAkBzgD,SAAA,CAEjCF,eAAA,OAAKC,UAAU,QAAOC,SAAC,gGAGvBF,eAAA,OAAKC,UAAU,OAAMC,SAAC,iGAGtBF,eAAC8Q,KAAG,CAAA5Q,SACAC,gBAAC4Q,KAAG,CAAA7Q,SAAA,CACAF,eAAA,SACI5d,KAAK,WACLttB,GAAG,0BACHiZ,KAAK,0BACL6yE,eAAgBv6E,EAChB6qC,SAAU78C,KAAKwpF,6BAEnB79C,eAAA,SACIlrC,GAAG,+BACHu0C,MAAO,CAAEyoC,eAAgB,aACzB7xC,UAAU,UACVygD,QAAQ,0BAAyBxgD,SACpC,mJAIH,KAENC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAA7Q,SACAF,eAACmU,KAAKwU,MAAK,CACPqhB,UAAU,mCACV/pC,UAAU,yBAAwBC,SAElCF,eAACmU,KAAK0sC,MAAK,CACP5gD,UAAU,UACV7d,KAAK,WACLttB,GAAG,mCACHiZ,KAAK,mCACL6yE,eAAgBt6E,EAChB4qC,SAAU78C,KAAKypF,gCACf/2C,MAAM,yiBAGX,YAInB/G,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKgrC,YAAYa,SAAC,eAM/DC,gBAACC,KAAK,CACFqgD,gBAAgB,kCAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAMkgD,EACN59C,OAAQhsC,KAAK2pF,gBAAgB99C,SAAA,CAE7BF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,6BAEjBC,gBAACC,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAAA,CAC7BF,eAAA,OAAKC,UAAU,OAAMC,SAAC,sFACtBC,gBAAA,OAAAD,SAAA,CAAM,IAAI,mFAEdF,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAK2pF,gBAAgB99C,SAAC,eAMnEC,gBAACgU,KAAI,CAACnB,IAAK3+C,KAAK6/C,KAAMp/C,GAAG,gBAAgBwzD,YAAU,EAACzK,UAAWA,EAAWgL,aAAa,QAAO3oB,SAAA,CAC1FF,eAAC8Q,KAAG,CAAC7Q,UAAU,kBAAiBC,SAC5BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKF,UAAU,cAAaC,SAAA,CACxBF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,aACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,qBAKpDF,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBC,gBAAC4Q,KAAG,CAAC1H,MAAO,CAAE6Q,QAAS,QAASha,SAAA,CAC5BF,eAACwB,KAAM,CACHo/C,eAAkC,mBAAlBt7E,EAChB4rC,SAAU0uC,IAEd5/C,eAAA,QAAMqJ,MAAO,CAAEE,WAAY,GAAIkC,SAAU,GAAIuC,WAAY,IAAKxE,MAAO,QAAStJ,SAAC,8BAMpE,mBAAlB56B,GACG66B,gBAAAyH,YAAA,CAAA1H,SAAA,CACIC,gBAACgU,KAAI,CAACnB,IAAK3+C,KAAK+oF,MAAMl9C,SAAA,CAClBC,gBAAC2Q,KAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACjBF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,gBACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,sBACLojC,YAAY,yBACZtnC,MAAOU,EACP2mC,SAAU4tC,EAAiB,aAAc,aACzCllC,UAAQ,SAIpB5Z,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,gBACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,uBACLojC,YAAY,0BACZtnC,MAAOW,EACP0mC,SAAU4tC,EAAiB,aAAc,qBAIrD9+C,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,eACZF,eAACmU,KAAKwF,QAAO,CACT5rC,KAAK,qBACLojC,YAAY,wBACZtnC,MAAOY,EACPymC,SAAU4tC,EAAiB,aAAc,YACzCllC,UAAQ,YAKxB5Z,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,YAAWC,SACrCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,WACZF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACH6yB,aAAcz/D,EACdb,MAAOa,EACPwmC,SAAU2tC,EAAoBlhD,GAAgB,UAC9C0L,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,OAAQqL,WAAY,WAAY7Z,SAAA,CAEhEF,eAACsX,KAAO8hC,OAAM,CACVvvE,MAAM,GACNw/B,MAAO,CACHG,MAAO,OACPs3C,UAAW,SACXjP,aAAc,iBACdhiC,aAAc,MACdkxC,cAAe,OACjB7gD,SACL,oBAGDF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,IAAGq2B,SAAC,MACzBF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,KAAIq2B,SAAC,OAC1BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,KAAIq2B,SAAC,OAC1BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,QAAOq2B,SAAC,UAC7BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,OAAMq2B,SAAC,SAC5BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,QAC3BF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,MAAKq2B,SAAC,uBAQnDF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,UACZF,eAACq1C,GAAmB,CAChBG,OAAS95C,IACc,mDACJ7a,KAAK6a,EAAE6U,OAAO1mC,OACzBxV,KAAKypC,SAAS,CAAE0gD,cAAc,KAE9BnqF,KAAKypC,SAAS,CAAE0gD,cAAc,IAC9BnqF,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO,KACnB,aACA,SAER,EAEJsnC,YAAY,0CACZtnC,MAAOnN,EACPw0C,SAAU4tC,EAAiB,aAAc,YAE3CN,GACEx+C,eAAA,OAAKqJ,MAAO,CAAEG,MAAO,OAAQtJ,SAAC,gEAQ9CC,gBAAC2Q,KAAG,CAACzH,MAAO,CAAEqC,WAAY,IAAKxL,SAAA,CAC3BF,eAAC+Q,KAAG,CAAC0C,GAAI+rC,EAAU,EAAI,EAAGvuC,GAAI,GAAIhR,UAAU,OAAMC,SAC9CC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,MAAM/pC,UAAU,+BAA8BC,SAAA,CAChEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,yBAAwBC,SAAC,mBAI/CF,eAAC+X,KAAU,CACPhqC,KAAK,cACLs7B,MAAO,CAAEsF,MAAO,QAChBiL,UAAQ,EACR5yB,KAAK,KACLmqB,YAAY,aACZjJ,OAAO,aACPr+B,MAAOiC,EAAcmxD,KAAMnxD,EAAa,cAAgB,GACxDolC,SAAWxV,IACPrnC,KAAKiqC,MAAMmnB,0BACP/pB,EAAIuhC,KAAM,IAAI//B,KAAKxB,IAAIwM,OAAO,cAAgB,GAC9C,aACA,cACH,SAKhBq3C,EAAY5yE,EAAaC,EAAMC,MAEpCmzB,eAAC8Q,KAAG,CAACzH,MAAO,CAAEqC,UAAW8zC,EAAU,QAAU,KAAMt/C,SAC/CF,eAAC+Q,KAAG,CAAC0C,GAAI,GAAIxC,GAAI,GAAG/Q,SAChBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,YAAWC,SAAA,CACvDC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAAC,kBAE9BF,eAACi1C,GAAI,CACDjR,QACIhkC,eAAA,OAAAE,SAAK,oFAMjBF,eAAA,OAAAE,SACIF,eAAC+e,GAAU,CACPz5B,KAAM,CACF,CAAEzb,MAAO,UAAWk9B,MAAO,WAC3B,CAAEl9B,MAAO,YAAak9B,MAAO,aAC7B,CAAEl9B,MAAO,YAAak9B,MAAO,cAEjCl9B,MAAOkC,EACPgtC,eAAgB8lC,EAAoBlhD,GAAgB,iBACpDvb,KAAK,QACL8wB,UAAU,aACV7J,MAAO,CAAE6Q,QAAS,OAAQvL,MAAO,YAGzC3O,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,8CAM/B,YAAlBn0B,GACGi0B,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBF,eAAC+Q,KAAG,CAAC9Q,UAAU,SAAQC,SACnBF,eAACgY,KAAQ,CAAC9G,SAAU78C,KAAKspF,UAAW1lC,QAAS1yC,EAAW26B,SACpDC,gBAAA,QAAMkJ,MAAO,CAAE2E,WAAY,KAAM9N,SAAA,CAC5B,IAAI,kDAOzBF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAACE,GAAI,GAAIhR,UAAU,OAAMC,SACzBC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,sBAAqBC,SAAC,yBAE5CC,gBAAC2Q,KAAG,CACA7Q,UAAU,eACVoJ,MAAO,CACH03C,cAAe,GACjB7gD,SAAA,GAGC+D,mBAAQ53B,IAAe43B,mBAAQ13B,IAAgB03B,mBAAQz3B,KACtDwzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,OACLvY,MAAOwC,EACPusE,SAAUvkF,KAAK4oF,aACfpE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAgB,aAClDq7C,eAAgB,CAAC,UAAW6G,EAAW99C,QAAO3f,GACjC,SAATA,IAAoBg+D,IAAoB5+D,SAASY,MAErD02D,aAAeoH,GAAYF,EAAsB,OAAQE,EAAS7zE,GAClE0sE,WAAY+G,EAAoB,OAM1C77C,mBAAQ13B,IACNyzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,SACLvY,MAAO0C,EACPqsE,SAAUvkF,KAAK6oF,eACfrE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAgB,eAClDq7C,eAAgB,CAAC,YAAa6G,EAAW99C,QAAO3f,GACnC,WAATA,IAAsBg+D,IAAoB5+D,SAASY,MAEvD02D,aAAeoH,GAAYF,EAAsB,SAAUE,EAAS3zE,GACpEwsE,WAAY+G,EAAoB,OAM1C77C,mBAAQz3B,IACNwzB,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGpK,MAAO,CAACqC,UAAWo0C,EAAoB,EAAI,OAAS,KAAK5/C,SACjEF,eAACu4C,GAAU,CACPn2D,KAAK,OACLvY,MAAO2C,EACPosE,SAAUvkF,KAAK8oF,aACftE,SAAUkH,EACV7uC,SAAU6tC,EAAwBphD,GAAgB,aAClDq7C,eAAgB,CAAC,UAAW6G,EAAW99C,QAAO3f,GACjC,SAATA,IAAoBg+D,IAAoB5+D,SAASY,MAErD02D,aAAeoH,GAAYF,EAAsB,OAAQE,EAAS1zE,GAClEusE,WAAY+G,EAAoB,SAMhD9/C,eAACW,KAAM,CACHme,UAAW7a,mBAAQ53B,KAAe43B,mBAAQ13B,KAAiB03B,mBAAQz3B,GACnEo0B,QAAQ,OACRX,UAAU,mBACVoJ,MAAO,CACHoC,SAAU,OACVuC,WAAY,IACZxE,MAAO,UACPsoC,eAAgB,OAChBr4B,OAAQ,OACRM,WAAY,QAEhBlZ,QAAUnF,IACNA,EAAEmO,iBACFnO,EAAEgtB,kBACF43B,GAAgB,EAClBpgD,SACL,4BAIDF,eAAA,OAAKC,UAAU,uBAAuBoJ,MAAO,CAAEoC,SAAU,QAASvL,SAAC,gHAahG,IACX,EAGWiQ,mBAAQgV,GAAiBC,GAAoB,KAAM,CAC9DzF,YAAY,GADDxP,CAEZurC,IAEI,MAAMsF,WAAkB3iD,YAC3BjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAmChBi+C,WAAc0E,IACV,MAAM,IAAEt+D,GAAQtuB,KAAKiqC,MACf4iD,EAAe,CAAC,GAADnrF,OACd4sB,EAAG,4BAAA5sB,OACH4sB,EAAG,2BAAA5sB,OACH4sB,EAAG,4BAAA5sB,OACH4sB,EAAG,0BAAA5sB,OACH4sB,EAAG,yBAAA5sB,OACH4sB,EAAG,+BAAA5sB,OACH4sB,EAAG,0BAGJ,oBAAE1X,GAAwB5W,KAAKiqC,MAAM2iD,GAAUt+D,GACzB,KAAxB1X,GAA8BkW,SAASlW,GAAuB,GAC9Di2E,EAAal+D,KAAK,GAADjtB,OAAI4sB,EAAG,0BAG5B,MAAMw+D,EAAcD,EAAaE,QAAO,CAAC5+D,EAAKjiB,KAC1C,GAAIA,EAAIihB,SAAS,KAAM,CACnB,MAAM6/D,EAAa9gF,EAAI7K,MAAM,KAE7B,IAAImU,EAAQxV,KAAKiqC,MAAM2iD,GACnBK,EAAkB,GACtB,IAAK,IAAI7+D,EAAI,EAAGA,EAAI4+D,EAAWp/D,OAAS,EAAGQ,IAAK,CAC5C,MAAM8+D,EAAYF,EAAW5+D,GAE7B,IAAI5Y,EAAM23E,eAAeD,GAGlB,CACH13E,OAAQqY,EACR,KACJ,CALIrY,EAAQA,EAAM03E,GACdD,GAAmBC,EAAY,GAKvC,CAEA,MAAME,EAAgBJ,EAAWA,EAAWp/D,OAAS,QACvCC,IAAVrY,GAAuBA,EAAM23E,eAAeC,KAC5Cj/D,EAAI8+D,EAAkBG,GAAiB53E,EAAM43E,GAErD,MAAWptF,KAAKiqC,MAAM2iD,GAAUO,eAAejhF,KAC3CiiB,EAAIjiB,GAAOlM,KAAKiqC,MAAM2iD,GAAU1gF,IAGpC,OAAOiiB,CAAG,GACX,CAAC,GAEEk/D,EAAW72D,OAAOC,KAAKq2D,GAAap/C,QAAQxhC,IAC9C,MAAMsJ,EAAQs3E,EAAY5gF,GAC1B,MAAiB,KAAVsJ,GAA0B,OAAVA,QAA4BqY,IAAVrY,CAAmB,IAC7DoY,OAEG46D,EAAgB/5D,KAAK4L,OACrBwyD,EAAaj/D,OAASy/D,GAAYR,EAAaj/D,OAAU,KAG/DwD,eAAe0M,QAAQ,gBAAiB0qD,EAAc,EACzD,KAEDC,eAAiB,KACb,MAAM,SAAEh4E,EAAQ,WAAEmB,GAAe5R,KAAKiqC,MAAM17B,YAC5C,OACIkC,EAAS6F,uBAAyB1E,EAAW0E,sBAC7C7F,EAASiG,sBAAwB9E,EAAW8E,qBAC5CjG,EAASgG,uBAAyB7E,EAAW6E,sBAC7ChG,EAAS+F,qBAAuB5E,EAAW4E,oBAC3C/F,EAASkG,oBAAsB/E,EAAW+E,iBAAiB,EAElE,KAWD2sE,gBAAkBnvC,UACd,IACI,MAAMvW,QAAiBN,MAAM,oBAC7B,IAAKM,EAASqL,GACV,MAAM8D,MAAMnP,EAAS2lD,YAEzB,MAAMtyD,QAAa2M,EAASC,OAC5B79B,KAAKypC,SAAS,CAAEi5C,WAAYzxD,GAChC,CAAE,MAAO+M,GACLr/B,QAAQo4B,MAAMiH,EAClB,GACH,KAED0lD,0BAA4B,CAACv4E,EAASmjB,KAClC,MAAMyxC,EAAMz2B,GAAkBn+B,EAAS,gBAAiB,aAClDlD,EAAOqhC,GAAkBn+B,EAAS,WAAY,aAC9ChD,EAAMmhC,GAAkBn+B,EAAS,cAAe,aAChDE,EAASi+B,GAAkBn+B,EAAS,8BAA+B,aACnEq4E,EAAYl6C,GAAkBn+B,EAAS,8BAA+B,aAE5EnL,KAAKiqC,MAAMo7C,gBAAgBp9E,EAAMqmB,EAAK,sBACtCtuB,KAAKiqC,MAAMo7C,gBAAgB7B,EAAWl1D,EAAK,uBAC3CtuB,KAAKiqC,MAAMo7C,gBAAgBl9E,EAAKmmB,EAAK,qBACrCtuB,KAAKiqC,MAAMo7C,gBAAgBh6E,EAAQijB,EAAK,wBAExC,MACMm1D,EAAS1jB,EAAM,IADPz2B,GAAkBn+B,EAAS,QAAS,cAElDnL,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAOiuE,IACnBn1D,EACA,wBAGJ,MAAM,wBAAExX,EAAuB,gBAAExC,GAAoBtU,KAAKiqC,MAAM17B,YAAY+f,GAC5E,GAAIxX,IAA4B+oB,IAAYvrB,EAAgBsZ,QAAU,EAAG,CACrE,MAAMg5D,EAAsBt4D,IAAQgb,GAAgBtpC,KAAKiqC,MAAM48C,4BAA8B7mF,KAAKiqC,MAAM68C,8BACxGF,EAAoBnD,EAAQ,EAAG,WAC/BmD,EAAoBpD,EAAW,EAAG,SAClCoD,EAAoBv7E,EAAQ,EAAG,UAC/Bu7E,EAAoB3+E,EAAM,EAAG,QAC7B2+E,EAAoBz+E,EAAK,EAAG,UAChC,CAEA,MAAM,qBAAEmO,EAAoB,oBAAEI,EAAmB,kBAAEC,GAAsB3W,KAAKiqC,MAAM17B,YAAYqD,WAC5F0c,IAAQgb,IAAyC,KAAzBhzB,GAAuD,KAAxBI,GAAoD,KAAtBC,IACrF3W,KAAKiqC,MAAMo7C,gBAAgBp9E,EAAMqhC,GAAgB,sBACjDtpC,KAAKiqC,MAAMo7C,gBAAgB7B,EAAWl6C,GAAgB,uBACtDtpC,KAAKiqC,MAAMo7C,gBAAgBl9E,EAAKmhC,GAAgB,qBAChDtpC,KAAKiqC,MAAMo7C,gBAAgBh6E,EAAQi+B,GAAgB,wBACnDtpC,KAAKiqC,MAAMo7C,gBAAgB5B,EAAQn6C,GAAgB,wBACvD,EACH,KAED2+C,aAAgBzyE,IACZ8zB,KAEAtpC,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,UACZxV,KAAKiqC,MAAM3b,IACX,uBACH,EACJ,KAED05D,YAAexyE,IACX8zB,KAEA,MAAM,IAAEhb,GAAQtuB,KAAKiqC,OACf,kBAAEhzB,GAAsBjX,KAAKiqC,MAAM17B,YAAY+f,GACvC,KAAV9Y,GAAgBsX,SAAStX,GAAS,GAAkC,IAA7ByB,EAAkB2W,SACzD5tB,KAAKiqC,MAAM07C,mBACP,CAAEzpC,OAAQ,CAAE1mC,MAAO,IACnB8Y,GAEJtuB,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAO,MACnB8Y,EACA,yBAIM,KAAV9Y,GAAgBsX,SAAStX,IAAU,GAAkC,IAA7ByB,EAAkB2W,QAC1D5tB,KAAKiqC,MAAM67C,qBACP,CAAE5pC,OAAQ,CAAE1mC,MAAO,IACnB8Y,GAIRtuB,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,UACZ8Y,EACA,sBACH,EACJ,KAEDo0B,SAAW,KACP,MAAM,IAAEp0B,GAAQtuB,KAAKiqC,OACf,eAAEh0B,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAExC,OAAdrY,QAAc,IAAdA,KAAgBmE,WAEjBpa,KAAKiqC,MAAM+gB,mBACP,CACI9O,OAAQ,CACJ1mC,MAAO,IAAKS,EAAgBmE,WAAW,KAG/CkU,EACA,iBAER,EACH,KAED26B,aAAgB5hB,IACZ,MAAM,IAAE/Y,GAAQtuB,KAAKiqC,OACf,qBAAE3zB,GAAyBtW,KAAKiqC,MAAM17B,YAAY+f,GAGxD,MAAY,aAARA,GAA+C,KAAzBhY,IACtBtW,KAAKypC,SAAS,CAAE6jD,QAAQ,IAAQ,KAE5B,MAAMC,EAAiBx1D,SAAS4qC,cAAc,YAC1C4qB,GACAA,EAAeC,eAAe,CAAE55B,SAAU,UAC9C,KAEG,EAGA,EACd,KAED65B,eAAiB,KACN,EACV,KAEDC,UAAaviC,IACTnrD,KAAKypC,SACD,CAAEkkD,UAAWxiC,EAAK78B,IAAa,IAAR68B,EAAY7hB,GAAeA,KAClD,KACItpC,KAAKkoF,WAAW,eAChBrE,GAAS+J,KAAK,sBAAsB,GAE3C,EACJ,KAEDC,uBAAyB,CAAC1iF,EAASyI,KAC/B,MAAM,IAAE0a,GAAQtuB,KAAKiqC,MAEf6jD,EAAqBA,CAACx/D,EAAKD,IACrBsgB,GACJ3uC,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOm5B,IACnBrgB,EACAD,EACAza,GAINm6E,EAAoBA,CAACz/D,EAAKD,IACpBsgB,IAAW3uC,KAAKiqC,MAAM27C,sBAAsB,CAAE1pC,OAAQ,CAAE1mC,MAAgB,UAAT6Y,EAAmBsgB,EAAQA,EAAMuN,OAAO1mC,QAAW8Y,EAAKD,EAAMza,EAAM,EAgD/I,OACI+3B,eAAA,OAAKC,UAAU,iBAAgBC,SAC3BF,eAAA,OAAKC,UAAU,OAAMC,SACjBF,eAAC8Q,KAAG,CAAA5Q,SACAC,gBAAC4Q,KAAG,CAAA7Q,SAAA,CACAC,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLF,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGpiD,UAAU,OAAMC,SACxBF,eAACy1C,GAAmB,CAChB1uC,MAAM,0BACN6S,UAAU,EACV7rC,KAAM,gBAAkB9F,EACxBnT,GAAI,WAAamT,EACjBkiE,aAAc3qE,EAAQqE,OACtBqtC,SAAUkxC,EAAkBz/D,EAAK,UACjCunD,QAAQ,6CACR/4B,YAAY,iBACZklC,aAAa,GACbC,YAAY,0CACZV,aA/DWp2E,IACvC,MAAMlD,EAAOqhC,GAAkBn+B,EAAS,WAAY,aAC9CjD,EAAQohC,GAAkBn+B,EAAS,8BAA+B,aAClEE,EAASi+B,GAAkBn+B,EAAS,8BAA+B,aAEzE,IAAIhD,EAAMmhC,GAAkBn+B,EAAS,cAAe,aACpD,MAAM42E,EAAOz4C,GAAkBn+B,EAAS,qBAAsB,cACjD,KAAT42E,IAAa55E,EAAMA,EAAM,IAAM45E,GAEnC,MAEM0B,EAFMn6C,GAAkBn+B,EAAS,gBAAiB,aAEnC,IADPm+B,GAAkBn+B,EAAS,QAAS,cAGlDnL,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOiuE,IACnBn1D,EACA,SACA1a,GAEJ5T,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOvN,IACnBqmB,EACA,OACA1a,GAEJ5T,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOnK,IACnBijB,EACA,SACA1a,GAEJ5T,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOtN,IACnBomB,EACA,QACA1a,GAEJ5T,KAAKiqC,MAAM27C,sBACP,CAAE1pC,OAAQ,CAAE1mC,MAAOrN,IACnBmmB,EACA,MACA1a,EACH,MA0BmB+3B,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGh5C,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,OAAQxP,UAAU,OAAMC,SACrEF,eAACmU,KAAKwU,MAAK,CAACqhB,UAAU,SAAS3gC,MAAO,CAACsF,MAAO,QAAS1O,UAAU,YAAWC,SACxEF,eAACsX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChCyC,YAAY,eACZtnC,MAAOrK,EAAQjD,MACf20C,SAAUkxC,EAAkBz/D,EAAK,SAASud,SAEzC83C,GAAU3jF,KAAKkI,MAAMw6E,YAAYx1D,KAAI,CAACoa,EAAG1zB,IACtC+3B,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAO8xB,EAAE9xB,MAAMq2B,SACzBvE,EAAEoL,OAD6B9+B,WAOpD+3B,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGh5C,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,OAAQxP,UAAU,OAAMC,SACrEC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,QAAQ3gC,MAAO,CAACsF,MAAO,QAAS1O,UAAU,YAAWC,SAAA,CACvEF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAK,cACLlE,MAAOrK,EAAQlD,KACf40C,SAAUkxC,EAAkBz/D,EAAK,QACjCkmC,aAAa,MACbqhB,QAAQ,gCACR/4B,YAAY,SAEhBnR,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,kCAK9CF,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGh5C,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,OAAQxP,UAAU,OAAMC,SACrEC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,OAAO3gC,MAAO,CAACsF,MAAO,QAAS1O,UAAU,YAAWC,SAAA,CACtEF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAK,cACLqU,KAAK,OACL+uB,YAAY,WACZtnC,MAAOrK,EAAQhD,IACf00C,SAAUkxC,EAAkBz/D,EAAK,OACjCunD,QAAQ,gDACRrhB,aAAa,QAEjB7oB,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,yCAMlDF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKkJ,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,SAAUuP,WAAY,OAAQvT,SAAU,OAAQuC,WAAY,MAAOxE,MAAO,UAAWkC,UAAW,OAAOxL,SAAA,CAACF,eAAA,OAAKxT,IAAI,4BAA4B,0CAG/L2T,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLF,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGpiD,UAAU,OAAMC,SACxBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,gBAAkB/hE,EAAOg4B,UAAU,YAAWC,SAAA,CACjEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,cAGlCF,eAAA,OAAAE,SACIF,eAACwX,KAAW,CACR3tC,MAAOrK,EAAQsE,MACf4zC,IAAK,EACL1wB,KAAK,QACLiZ,UAAU,QACViR,SAAUixC,EAAmBx/D,EAAK,kBAKlDqd,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGpiD,UAAU,OAAMC,SACxBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,iBAAmB/hE,EAAOg4B,UAAU,YAAWC,SAAA,CAClEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,eAGlCF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,SAAUz4B,SAAS3hB,EAAQsE,OAAS,EACpCiK,KAAK,YACLqU,KAAK,SACLs1B,IAAK,EACL7hC,IAAK,GACLhM,MAAOrK,EAAQwE,OACfktC,SAAUkxC,EAAkBz/D,EAAK,YAErCqd,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,gCAK9CF,eAAC+Q,KAAG,CAACsxC,GAAI,EAAGpiD,UAAU,OAAMC,SACxBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,uBAAuB/pC,UAAU,YAAWC,SAAA,CAC9DF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,kBAGlCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHztC,MAAOrK,EAAQyE,UACfg8B,UAAU,QACVoJ,MAAO,CAAEqF,OAAQ,IACjBwC,SAAUixC,EAAmBx/D,EAAK,aAAaud,SAAA,CAE/CF,eAAA,UAAQn2B,MAAM,MAAKq2B,SAAC,UACpBF,eAAA,UAAQn2B,MAAM,OAAMq2B,SAAC,WACrBF,eAAA,UAAQn2B,MAAM,WAAUq2B,SAAC,8BAKxC1gC,EAAQyE,YAAciwB,IACnBiM,gBAAC4Q,KAAG,CAACsxC,GAAI,EAAGpiD,UAAU,OAAMC,SAAA,CACxBF,eAAA,OAAKC,UAAU,YAAWC,SAAC,iBAG3BF,eAACwX,KAAW,CACRC,OAAO,IACPxX,UAAU,QACVkqC,aAAc3qE,EAAQ0E,KACtByzC,UAAY9tC,GAAU,GAAA9T,OAAG8T,GAAQqd,QAAQ,wBAAyB,KAClE0wB,OAAS/tC,GAAUA,EAAMqd,QAAQ,cAAe,IAChDgqB,SAAUixC,EAAmBx/D,EAAK,QAClCqE,KAAK,sBArJN,QAAU/e,IA6JnC,EAEb,KAEDq6E,yBAA2B,KACvB,MAAM,IAAE3/D,EAAG,YAAE/f,GAAgBvO,KAAKiqC,OAC5B,oBAAErzB,EAAmB,kBAAEK,GAAsB1I,EAAY+f,GAE/D,IAAK1X,EAAqB,OAAO+0B,eAAA4H,YAAA,IAEjC,GAAIjlB,IAAQgb,IAAgBxc,SAASlW,GAAuB,EACxD,OAAOK,EAAkBiW,IAAIltB,KAAK6tF,wBAEtC,GAAIv/D,IAAQgb,GAAgB,CACxB,MAAM,WAAEp4B,GAAe3C,EACjB2/E,EAAgBphE,SAASve,EAAYkC,SAASmG,qBAC9Cu3E,EAAkBrhE,SAASlW,GACjC,GAAI1F,GACA,GAAIg9E,EAAgB,EAChB,OAAOj3E,EAAkBiW,IAAIltB,KAAK6tF,6BAEtC,GAAIM,EAAkB,EAClB,OAAOl3E,EAAkBiW,IAAIltB,KAAK6tF,uBAE9C,CAEA,OAAOliD,eAAA4H,YAAA,GAAK,EAvfZvzC,KAAKouF,QAAUnvC,IAAMC,YAErB,MAAMmvC,EAAiBruF,KAAKiqC,MAAM17B,YAAYkC,SAAS6F,qBACjDg4E,EAAmBtuF,KAAKiqC,MAAM17B,YAAYqD,WAAW0E,qBAC3DtW,KAAKkI,MAAQ,CACTshD,WAAW,EACXk5B,WAAY,CAAC,EACbiL,UAAW,EACXrD,YAAa+D,IAAmBC,EAChChB,QAAQ,GAGZttF,KAAKsjF,iBACT,CAEA93C,oBACIxrC,KAAKkoF,WAAW,eAChBloF,KAAKypC,SAAS,CAAE6gD,YAAatqF,KAAKyoF,mBAClC,MAAM,IAAEn6D,GAAQtuB,KAAKiqC,OACf,qBAAEpzB,GAAyB7W,KAAKiqC,MAAM17B,YAAY+f,GAC3B,KAAzBzX,GACA7W,KAAKiqC,MAAMmnB,0BACP,IACA9iC,EACA,uBAGZ,CAEA+1D,qBACIrkF,KAAKkoF,WAAW,cACpB,CAuEA5+B,cACI,QAAKtpD,KAAKouF,QAAQxkD,QAAQ2f,mBACtBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAIf,CA6YA9d,SACI,MASM6iD,EAAgB1hE,IAClB7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,sBAAsB,EAGvDkgE,EAAiB3hE,IACnB7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,uBAAuB,EAGxDmgE,EAAe5hE,IACjB7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,qBAAqB,EAGtDogE,EAAU7hE,IACZA,EAAIA,EAAEgG,QAAQ,MAAO,IACrB7yB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,oBAAoB,GAoCrD,IAAEA,GAAQtuB,KAAKiqC,OACf,YAAEqgD,EAAW,UAAE9gC,GAAcxpD,KAAKkI,OAElC,qBACFoO,EAAoB,mBACpBC,EAAkB,oBAClBG,EAAmB,qBACnBD,EAAoB,mBACpBD,EAAkB,kBAClBG,EAAiB,qBACjBE,EAAoB,oBACpBD,EAAmB,mBACnBM,EAAkB,qBAClBC,EAAoB,mBACpBC,EAAkB,qBAClBC,EAAoB,mBACpBC,EAAkB,oBAClBC,EAAmB,kBACnBC,GACAxX,KAAKiqC,MAAM17B,YAAY+f,GAErBqgE,EAA4B/qC,IAC9Bta,KACAtpC,KAAKiqC,MAAMm9C,oBACP,CAAElrC,OAAQ,CAAE0H,YACZt1B,EACA,qBACH,EAGCsgE,EAA8BvnD,IAChCiC,KACOtpC,KAAKiqC,MAAM+gB,mBAAmB3jB,EAAG/Y,EAAK,yBAE3CugE,EAA2BxnD,IAC7BiC,KACOtpC,KAAKiqC,MAAM+gB,mBAAmB3jB,EAAG/Y,EAAK,uBAE3CwgE,EAA4BjiE,IAC9B7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,sBAAsB,EAGvDygE,EAA6BliE,IAC/B7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,uBAAuB,EAGxD0gE,EAA2BniE,IAC7B7sB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,qBAAqB,EAGtD2gE,EAA0BpiE,IAC5BA,EAAIA,EAAEgG,QAAQ,MAAO,IACrB7yB,KAAKiqC,MAAMo7C,gBAAgBx4D,EAAGyB,EAAK,oBAAoB,EA0B3D,OACIwd,gBAAA,OAAKF,UAAU,iBAAgBC,SAAA,CAC3BF,eAAC8Q,KAAG,CAAA5Q,SACAC,gBAAC4Q,KAAG,CAAA7Q,SAAA,CACAC,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,aACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,yBAE3Cvd,IAAQgb,IACLqC,eAAA,OAAKC,UAAU,OAAMC,SACjBF,eAACgY,KAAQ,CAACC,QAAS5jD,KAAKkI,MAAMoiF,YAAaztC,SA1HzCxV,IAEtB,GADArnC,KAAKypC,SAAS,CAAE6gD,YAAajjD,EAAE6U,OAAO0H,UAClCvc,EAAE6U,OAAO0H,QAAS,CAClB,MAAM,qBACFttC,EAAoB,oBACpBI,EAAmB,qBACnBD,EAAoB,mBACpBD,EAAkB,kBAClBG,GACA3W,KAAKiqC,MAAM17B,YAAYkC,SAE3BzQ,KAAKiqC,MAAM+gB,mBACP,CACI9O,OAAQ,CACJ1mC,MAAOc,IAGfgzB,GACA,wBAEJilD,EAAa73E,GACb83E,EAAc/3E,GACdg4E,EAAYj4E,GACZk4E,EAAO/3E,EACX,KAAO,CACH3W,KAAKiqC,MAAMg9C,8BAA8B,GACzC,MAAM,wBAAEnwE,GAA4B9W,KAAKiqC,MAAM17B,YAAYqD,WACvDkF,IAA4B+oB,IAC5B7/B,KAAKiqC,MAAM08C,gCAEnB,GA4F0F96C,SAClEF,eAAA,QAAMqJ,MAAO,CAAEoC,SAAU,GAAIuC,WAAY,IAAKxE,MAAO,OAAQC,WAAY,UAAWvJ,SAAC,oEAM9Fy+C,GAAeh8D,IAAQgb,KACtBwC,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAACmU,KAAI,CAACnB,IAAK3+C,KAAKouF,QAAS3tF,GAAG,gBAAgBwzD,YAAU,EAACzK,UAAWA,EAAWgL,aAAa,QAAO3oB,SAC7FF,eAACy1C,GAAmB,CAChB3gF,GAAG,UACHiyC,MAAM,8BACN6S,UAAU,EACV7rC,KAAK,aACLo8D,aAAcx/D,EACdumC,SApKPxV,IACrBiC,KACOtpC,KAAKiqC,MAAM+gB,mBAAmB3jB,EAAG/Y,EAAK,yBAmKjBunD,QAAQ,6CACR/4B,YAAY,iBACZklC,aAAa,GACbC,YAAY,sCACZV,aAAel6C,GAAMrnC,KAAK0jF,0BAA0Br8C,EAAG/Y,GACvDqE,KAAK,SAGbgZ,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,OAAMC,SACxBF,eAACmU,KAAKwF,QAAO,CACT3yB,KAAK,KACLkqB,SA5KVxV,IAClBiC,KACOtpC,KAAKiqC,MAAM+gB,mBAAmB3jB,EAAG/Y,EAAK,uBA2KjB9Y,MAAOe,EACPumC,YAAY,sDAOjCwtC,GAAeh8D,IAAQgb,KACtBwC,gBAAA,OAAAD,SAAA,CACIC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACsX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChCyC,YAAY,eACZtnC,MAAOkB,EACPmmC,SAAWxV,GAAMknD,EAAalnD,GAAGwE,SAEhC83C,GAAU3jF,KAAKkI,MAAMw6E,YAAYx1D,KAAI,CAACoa,EAAG1zB,IACtC+3B,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAO8xB,EAAE9xB,MAAMq2B,SACzBvE,EAAEoL,OAD6B9+B,WAOpD+3B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACsX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChCwC,SAAWxV,GAAMmnD,EAAcnnD,GAC/B7xB,MAAOiB,EAAqBo1B,SAE3B+3C,GAAY5jF,KAAKkI,MAAMw6E,WAAYhsE,GAAqBwW,KAAI,CAACoa,EAAG1zB,IAC7D+3B,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAO8xB,EAAE9xB,MAAMq2B,SACzBvE,EAAEoL,OAD6B9+B,WAOpD+3B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACR5yB,KAAK,KACLkqB,SAAWxV,GAAMonD,EAAYpnD,EAAE6U,OAAO1mC,OACtCA,MAAOgB,EACPsmC,YAAY,aAIxBnR,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACR5yB,KAAK,KACLkqB,SAAWxV,GAAMqnD,EAAOrnD,EAAE6U,OAAO1mC,OACjCA,MAAOmB,EACPmmC,YAAY,oBAK5BnR,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKkJ,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,SAAUuP,WAAY,OAAQvT,SAAU,OAAQuC,WAAY,MAAOxE,MAAO,UAAWkC,UAAW,OAAOxL,SAAA,CAACF,eAAA,OAAKxT,IAAI,4BAA4B,6CAKvMwT,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SACfC,gBAAA,OAAAD,SAAA,CACIF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,kCACa,KAAxBj1B,GAA8BkW,SAASlW,GAAuB,EAC3Dk1B,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAAC6X,KAAK,CACF+B,UAAQ,EACRlvC,OAAO,QACPsc,KAAK,QACL5E,KAAK,SACLvY,MAAOoB,EACPimC,SAAWxV,IAAOrnC,KAAKgoF,YAAY3gD,EAAE6U,OAAO1mC,MAAM,MAG1Dm2B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,yBAAwBC,SAClDF,eAAC6X,KAAK,CACFntC,OAAO,SACPsc,KAAK,QACL5E,KAAK,SACLvY,MAAOqB,EACPgmC,SAAWxV,IAAOrnC,KAAKioF,aAAa5gD,EAAE6U,OAAO1mC,MAAQ,GAAK,GAAK6xB,EAAE6U,OAAO1mC,MAAM,SAK1Fm2B,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAAC6X,KAAK,CACF+B,UAAQ,EACRlvC,OAAO,QACPsc,KAAK,QACL5E,KAAK,SACLvY,MAAOoB,EACPimC,SAAWxV,IAAOrnC,KAAKgoF,YAAY3gD,EAAE6U,OAAO1mC,MAAM,eAS7ExV,KAAKiuF,2BAENtiD,eAAC8Q,KAAG,CAAC7Q,UAAU,OAAMC,SACjBC,gBAAC4Q,KAAG,CAAA7Q,SAAA,CACAF,eAACgY,KAAQ,CACL/X,UAAU,qBACViR,SAAWxV,GAAMsnD,EAAyBtnD,EAAE6U,OAAO0H,SACnDA,QAAS1sC,EAAmB20B,SAE5BF,eAAA,QAAMC,UAAU,YAAYoJ,MAAO,CAAEoC,SAAU,GAAIuC,WAAY,IAAKxE,MAAO,WAAYtJ,SAAC,qDAK1F30B,GACE40B,gBAAA,OAAKF,UAAU,OAAMC,SAAA,CACjBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,OAAMC,SAAC,iCAC7BF,eAACy1C,GAAmB,CAChBzuD,KAAK,KACL4yB,UAAQ,EACR9kD,GAAG,qBACHiZ,KAAK,qBACLm8D,QAAQ,6CACRC,aAAc3+D,EACd0lC,SAAWxV,GAAMunD,EAA2BvnD,GAC5C26C,aAAa,GACbC,YAAY,uCACZV,aA9MQp2E,IAChC,MAAM,IAAEmjB,GAAQtuB,KAAKiqC,MACf81B,EAAMz2B,GAAkBn+B,EAAS,gBAAiB,aAClDlD,EAAOqhC,GAAkBn+B,EAAS,WAAY,aAC9ChD,EAAMmhC,GAAkBn+B,EAAS,cAAe,aAChDE,EAASi+B,GAAkBn+B,EAAS,8BAA+B,aACnEq4E,EAAYl6C,GAAkBn+B,EAAS,8BAA+B,aAE5EnL,KAAKiqC,MAAMo7C,gBAAgBp9E,EAAMqmB,EAAK,sBACtCtuB,KAAKiqC,MAAMo7C,gBAAgB7B,EAAWl1D,EAAK,uBAC3CtuB,KAAKiqC,MAAMo7C,gBAAgBl9E,EAAKmmB,EAAK,qBACrCtuB,KAAKiqC,MAAMo7C,gBAAgBh6E,EAAQijB,EAAK,wBAExC,MACMm1D,EAAS1jB,EAAM,IADPz2B,GAAkBn+B,EAAS,QAAS,cAGlDnL,KAAKiqC,MAAM+gB,mBACP,CAAE9O,OAAQ,CAAE1mC,MAAOiuE,IACnBn1D,EACA,uBACH,EA2LuBwuB,YAAY,mBAEhBnR,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,OAAMC,SACxBF,eAACmU,KAAKwF,QAAO,CACTxI,YAAY,wCACZpjC,KAAK,qBACLlE,MAAO4B,EACPylC,SAAWxV,GAAMwnD,EAAwBxnD,OAGjDyE,gBAAC2Q,KAAG,CAAC7Q,UAAU,eAAcC,SAAA,CACzBF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACsX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChCyC,YAAY,eACZtnC,MAAO+B,EACPslC,SAAWxV,GAAMynD,EAAyBznD,GAAGwE,SAE5C83C,GAAU3jF,KAAKkI,MAAMw6E,YAAYx1D,KAAI,CAACoa,EAAG1zB,IACtC+3B,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAO8xB,EAAE9xB,MAAMq2B,SACzBvE,EAAEoL,OAD6B9+B,WAOpD+3B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACsX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChCyC,YAAY,gBACZtnC,MAAO6B,EACPwlC,SAAWxV,GAAM0nD,EAA0B1nD,GAAGwE,SAE7C+3C,GAAY5jF,KAAKkI,MAAMw6E,WAAYnrE,GAAqB2V,KAAI,CAACoa,EAAG1zB,IAC7D+3B,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAO8xB,EAAE9xB,MAAMq2B,SACzBvE,EAAEoL,OAD6B9+B,WAOpD+3B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACR5yB,KAAK,KACLmqB,YAAY,OACZtnC,MAAO8B,EACPulC,SAAWxV,GAAM2nD,EAAwB3nD,EAAE6U,OAAO1mC,aAI9Dm2B,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,OAAMC,SAChCF,eAACmU,KAAKwU,MAAK,CAAAzoB,SACPF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACR5yB,KAAK,KACLmqB,YAAY,WACZtnC,MAAOgC,EACPqlC,SAAWxV,GAAM4nD,EAAuB5nD,EAAE6U,OAAO1mC,yBAS/E0B,GACEy0B,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAAA,OAAKkJ,MAAO,CAAC6Q,QAAS,OAAQzK,WAAY,SAAUuP,WAAY,OAAQvT,SAAU,OAAQuC,WAAY,MAAOxE,MAAO,UAAWkC,UAAW,OAAOxL,SAAA,CAACF,eAAA,OAAKxT,IAAI,4BAA4B,4CAM/M,EAGJw0D,GAAY7wC,YAAQgV,GAAiBC,GAAoB,KAAM,CAC3DzF,YAAY,GADJxP,CAET6wC,IC11FH,MAAMuC,WAAqBllD,YACvBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAgBhByY,SAAW,KACP,MAAM,IAAEp0B,GAAQtuB,KAAKiqC,OACf,eAAEh0B,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAExC,OAAdrY,QAAc,IAAdA,KAAgBwE,eACjBza,KAAKiqC,MAAM+gB,mBACP,IAAK/0C,EAAgBwE,eAAe,GACpC6T,EACA,iBAER,EACH,KAUDod,OAAS,KACL,MAAMyjD,EAAqBA,CAAC9gE,EAAMC,IACrBqgB,IACL,MAAMtH,EAAI,CACN6U,OAAQ,CACJ1mC,MAAOm5B,IAGfrF,KACAtpC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAKD,EAAK,GAK5C,IAAEC,EAAG,SAAE7d,EAAQ,WAAEmB,GAAe5R,KAAKiqC,OACrC,QAAE7lC,GAAYpE,KAAKiqC,MAAM17B,YAAYwD,SAErCs9E,EAAkB/gE,IAAQgb,GAAe74B,EAAS4L,gBAAkBzK,EAAWyK,gBAC/EizE,EAAoBhhE,IAAQgb,GAAe74B,EAAS6L,kBAAoB1K,EAAW0K,kBACnFizE,EAAgBjhE,IAAQgb,GAAe74B,EAASgM,cAAgB7K,EAAW6K,cAC3E+yE,EAAqBlhE,IAAQgb,GAAe74B,EAASkL,mBAAqB/J,EAAW+J,mBACrF8zE,EAAYnhE,IAAQgb,GAAe74B,EAASiM,UAAY9K,EAAW8K,UACnEgzE,EAAsBphE,IAAQgb,GAAe74B,EAASyL,oBAAsBtK,EAAWsK,oBACvFyzE,EAAgBrhE,IAAQgb,GAAe74B,EAAS0L,cAAgBvK,EAAWuK,cAC3EyzE,EAAoBthE,IAAQgb,GAAe74B,EAASqL,kBAAoBlK,EAAWkK,kBACnF+zE,EAAoBvhE,IAAQgb,GAAe74B,EAASsL,kBAAoBnK,EAAWmK,kBACnF+zE,EAAkBxhE,IAAQgb,GAAe74B,EAASuL,gBAAkBpK,EAAWoK,gBAE/E+zE,EAAe,CACjB,CAAEv6E,MAAO,MAAOk9B,MAAO,OACvB,CAAEl9B,MAAO,KAAMk9B,MAAO,OAG1B,OACI5G,gBAAA,OAAKF,UAAU,qCAAoCC,SAAA,CAC/CC,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,iBACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,6CAG5CF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,4DAGZF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAO65E,EACP3qC,eAAiB/V,IACb,MAAMtH,EAAI,CAAE6U,OAAQ,CAAE1mC,MAAOm5B,IACf,OAAVA,GACA3uC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,qBAEzCtuB,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,kBAAkB,EAE3DP,KAAK,QACL8wB,UAAU,4BAQjB,QAApBwwC,EAA4B,GACzB1jD,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,oFAGZF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAO85E,EACP5qC,eAAiB/V,IACb,GAAwB,OAApB0gD,EAA0B,OAC9B,MAAMhoD,EAAI,CAAE6U,OAAQ,CAAE1mC,MAAOm5B,IAC7BrF,KACAtpC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,oBAAoB,EAE7DP,KAAK,QACL8wB,UAAU,4BASrB,QAApBwwC,GACG1jD,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,EAAGxC,GAAI,GAAG/Q,SACrCF,eAAA,OAAKgS,SAAgC,OAAtB2xC,GAA4BzjD,SACvCC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxT,UAAU,OAAMC,SACxBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,YAAWC,SAAA,CACvDC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,4BAA2BC,SAAA,CAAC,qCAE9CF,eAACi1C,GAAI,CACDjR,QAAShkC,eAAA,OAAAE,SAAK,wIAKtBF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAAO+5E,EACP1yC,SAAUsyC,EAAmB,gBAAiB7gE,GAAKud,SAAA,CAEnDF,eAAA,UAAQn2B,MAAM,YAAWq2B,SAAC,sBAC1BF,eAAA,UAAQn2B,MAAM,aAAYq2B,SAAC,gBAC3BF,eAAA,UAAQn2B,MAAM,YAAWq2B,SAAC,yBAC1BF,eAAA,UAAQn2B,MAAM,aAAYq2B,SAAC,kCAK3CF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxT,UAAU,OAAMC,SACxBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,YAAY/pC,UAAU,YAAWC,SAAA,CACnDF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,wCACZF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAAOi6E,EACP5yC,SAAUsyC,EAAmB,YAAa7gE,GAAKud,SAAA,CAE/CF,eAAA,UAAQn2B,MAAM,WAAUq2B,SAAC,gBACzBF,eAAA,UAAQn2B,MAAM,kBAAiBq2B,SAAC,6BAChCF,eAAA,UAAQn2B,MAAM,iBAAgBq2B,SAAC,mDAUtD,aAAZznC,GACGunC,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,+FAGZF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAOg6E,EACP9qC,eAAiB/V,IACb,MAAMtH,EAAI,CAAE6U,OAAQ,CAAE1mC,MAAOm5B,IAC7B3uC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,qBAAqB,EAE9DP,KAAK,QACL8wB,UAAU,4BAS1ClT,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCC,gBAACgU,KAAKyU,MAAK,CAAA1oB,SAAA,CAAC,gEAERF,eAACi1C,GAAI,CACDjR,QACIhkC,eAAA,OAAAE,SAAK,8LAOjBF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAOk6E,EACPhrC,eAAgByqC,EAAmB,sBAAuB7gE,GAC1DP,KAAK,QACL8wB,UAAU,4BAQb,QAAxB6wC,GACG/jD,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,EAAGxC,GAAI,GAAG/Q,SACrCC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,oBAAmBC,SAAA,CAC/DF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,sCAGZF,eAAA,OAAAE,SACIF,eAACwX,KAAW,CACRC,OAAO,IACPzwB,KAAK,QACLqiB,MAAO,CAAEsF,MAAO,QAChB9kC,MAAOm6E,EACP9yC,SAAUsyC,EAAmB,gBAAiB7gE,cAOtEqd,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,yMAGZF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAOo6E,EACPlrC,eAAgByqC,EAAmB,oBAAqB7gE,GACxDP,KAAK,QACL8wB,UAAU,4BAQtClT,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCC,gBAACgU,KAAKyU,MAAK,CAAA1oB,SAAA,CAAC,gIAERF,eAACi1C,GAAI,CAACjR,QAAS,mDAEnBhkC,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAOq6E,EACPnrC,eAAgByqC,EAAmB,oBAAqB7gE,GACxDP,KAAK,QACL8wB,UAAU,4BAQtClT,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCC,gBAACgU,KAAKyU,MAAK,CAAA1oB,SAAA,CAAC,iGAERF,eAACi1C,GAAI,CAACjR,QAAS,uHAEnBhkC,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNv6E,MAAOs6E,EACPprC,eAAiB/V,IACb,MAAMtH,EAAI,CAAE6U,OAAQ,CAAE1mC,MAAOm5B,IAC7B3uC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,kBAAkB,EAE3DP,KAAK,QACL8wB,UAAU,8BAQpC,EA3UV7+C,KAAK6/C,KAAOZ,IAAMC,YAElBl/C,KAAKkI,MAAQ,CACTshD,WAAW,GAGfxpD,KAAKspD,YAActpD,KAAKspD,YAAYle,KAAKprC,MACzCA,KAAK6/C,KAAOZ,IAAMC,WACtB,CAEA1T,oBAAsB,CAEtBC,uBAAyB,CAezB6d,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGf,EA+SW1N,oBAtWU5zC,IACd,CACHqG,YAAarG,EAAMqG,YACnBkC,SAAUvI,EAAMqG,YAAYkC,SAASoF,aACrCjE,WAAY1J,EAAMqG,YAAYqD,WAAWiE,aACzC5E,cAAe/I,EAAMqG,YAAY0C,kBAIby3B,IAAQ,CAChC0mD,kBAAmBA,CAACzgD,EAAOrgB,EAAKD,KAC5Bqa,EAAS0b,GAAsBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAElE28B,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAOrgB,EAAKD,GAAM,KAwVE,KAAM,CAAEi9B,YAAY,GAAjExP,CAAyEozC,IC/PxF,MAAM7H,WAAkBr9C,YAEpBjqC,YAAYkqC,GACRC,MAAMD,GAAO,KAsBjBgf,aAAe5hB,IACgC,IAAvCrnC,KAAK6/C,KAAKjW,QAAQ2f,mBAElBliB,EAAEmO,iBACFx1C,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,GA1BXxpD,KAAK6/C,KAAOZ,IAAMC,YAClBl/C,KAAKkI,MAAQ,CACTshD,WAAW,GAEfxpD,KAAKmpF,gBAAkBlqC,IAAMC,WACjC,CAEA1T,oBACA,CAIAC,uBAAyB,CAEzB6d,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAGf,CAeA9d,SAOI,OACIC,eAAA,OAAKC,UAAU,kBAAiBC,SAC5BF,eAAA,OAAKC,UAAU,OAAMC,SACjBF,eAACmU,KAAI,CAACnB,IAAK3+C,KAAK6/C,KAAKhU,SACjBC,gBAACgU,KAAKwU,MAAK,CAAAzoB,SAAA,CACPF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,sBAAqBC,SAAC,+BAC5CF,eAACmU,KAAKwF,QAAO,CACTC,UAAQ,EACRx3B,KAAK,QACLkzD,iBAAiB,2BACjBzrE,MAAOxV,KAAKiqC,MAAM17B,YAAYkC,SAASpI,MACvCw0C,SAjBCmO,EAAC18B,EAAKD,IACnBsgB,IACNrF,KACAtpC,KAAKiqC,MAAM+gB,mBAAmBrc,EAAOrgB,EAAKD,EAAK,EAcnB28B,CAAmB,WAAY,mBAMrE,EAGWlP,oBA5KU5zC,IACrB,IAAI88E,EAAgBA,CAACC,EAAUzgE,IACV,aAAbygE,GAA4BzgE,EACf,aAAbygE,GAA2BzgE,EAAqB,eAC7C,aAF8C,WAKzD,MAAO,CACHjW,YAAarG,EAAMqG,YACnB0C,cAAe/I,EAAMqG,YAAY0C,cACjCc,SAAU7J,EAAMqG,YAAYwD,SAC5Bb,WAAYhJ,EAAMqG,YAAY2C,WAC9BO,sBAAuBvJ,EAAMqG,YAAYkD,sBACzCyzE,mBAAoBF,EAAc98E,EAAMqG,YAAYkC,SAASgF,WAAWuO,cACpE9b,EAAMqG,YAAYkC,SAASgF,WAAW+O,cAC1C2gE,qBAAsB,KAAOH,EAAc98E,EAAMqG,YAAYqD,WAAW6D,WAAWuO,cAC/E9b,EAAMqG,YAAYqD,WAAW6D,WAAW+O,cAC5ChW,SAAUtG,EAAMsG,SACnB,IAGuBk6B,IAAQ,CAChC0oB,0BAA2BA,CAAC/M,EAAK/1B,EAAKD,KAClCqa,EAAS0b,GAAuBC,EAAK/1B,EAAKD,GAAM,EAEpDg3D,gBAAiBA,CAAC3yD,EAAOpE,EAAKD,KAC1Bqa,EAAS0b,GAAuB1xB,EAAOpE,EAAKD,GAAM,EAEtDi3D,mBAAqB32C,IACjBjG,EAAS0b,GAAuBzV,EAAMuN,OAAO0H,SAAS,EAE1D2hC,uBAAyB52C,IACrBjG,EAAS0b,GAA2BzV,EAAMuN,OAAO1mC,OAAO,EAE5Du1C,iBAAmBpc,IACfjG,EAAS0b,GAAwBzV,EAAMuN,OAAO1mC,OAAO,EAEzDgwE,iBAAmB72C,IACfjG,EAAS0b,GAAqBzV,EAAMuN,OAAO0H,SAAS,EAExD6hC,mBAAoBA,CAACjwE,EAAO6Y,KACxBqa,EAAS0b,GAAuB5uC,EAAO6Y,GAAM,EAEjD+xB,0BAA4BzR,IACxBjG,EAAS0b,GAA8BzV,EAAMuN,OAAO1mC,OAAO,EAE/D07C,4BAA8BviB,IAC1BjG,EAAS0b,GAAgCzV,EAAMuN,OAAO1mC,OAAO,EAGjE8qC,4BAA6BA,CAACtgB,EAAG3R,KAC7Bqa,EAAS0b,GAAgCpkB,EAAG3R,GAAM,EAGtD8iC,6BAA+BxiB,IAC3BjG,EAAS0b,GAAiCzV,EAAMuN,OAAO1mC,OAAO,EAGlEuwE,qBAAsBA,CAACp3C,EAAOrgB,EAAKD,KAC/Bqa,EAAS0b,GAAyBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAErE23D,sBAAuBA,CAACC,EAAO33D,EAAKD,KAChCqa,EAAS0b,GAAyB6hC,EAAO33D,EAAKD,GAAM,EAExD28B,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAEnE63D,2BAA4BA,CAACxzD,EAAOrE,KAChCqa,EAAS0b,GAA+B1xB,EAAOrE,GAAM,EAGzD83D,uBAAwBA,CAACx3C,EAAOtgB,KAC5Bqa,EAAS0b,GAA+BzV,EAAMuN,OAAO0H,QAASv1B,GAAM,EAExE+3D,+BAAiCz3C,IAC7BjG,EAAS0b,GAAmCzV,EAAMuN,OAAO1mC,OAAO,EAEpEw0C,qBAAsBA,CAACzoC,EAAMoF,KACzB+hB,EAASwd,GAAqB3kC,EAAMoF,GAAO,EAE/C0/D,oBAAsBj4D,IAClBsa,EAAS0b,GAAwBh2B,GAAG,EAExCk4D,qCAAsCA,CAAC9wE,EAAO6Y,KAC1Cqa,EAAS0b,GAAyC5uC,EAAO6Y,GAAM,EAEnE2iC,kBAAmBA,CAACt+B,EAAOrE,KACvBqa,EAAS0b,GAAsB1xB,EAAOrE,GAAM,EAEhD4iC,oBAAsBz7C,IAClBkzB,EAAS0b,GAAwB5uC,GAAO,EAE5C+wE,4BAA8B53C,IAC1BjG,EAAS0b,GAAgCzV,EAAMuN,OAAO1mC,OAAO,EAEjE67C,kBAAmBA,KACf3oB,EAAS0b,KAAwB,EAErCkN,uBAAwBA,KACpB5oB,EAAS0b,KAA6B,EAE1C8G,sBAAwBlrB,IACpB0I,EAAS2d,GAAsBrmB,GAAG,KAsEkB,KAAM,CAAEsrB,YAAY,GAAjExP,CAAyEurC,I,UC9KzE,MAAM2I,WAAuBhmD,YAC1CjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAwBfgmD,kBAAqBpjE,IACnB,IAAIO,EAAIP,EAAEgG,QAAQ,WAAY,IAC9B,MAAU,KAANzF,EAAiBA,EACdN,SAASM,EAAE,EAClB,KACFuJ,SAAY9J,IACV,GAAI,OAASA,GAAkB,qBAANA,EACvB,MAAkC,qBAAvB7sB,KAAKkI,MAAMgoF,QACblwF,KAAKkI,MAAMgoF,QAAQxjE,WACrB,GAIT,IAAIgG,GADJ7F,EAAIA,EAAEH,YACQmG,QAAQ,WAAY,IAElC,GAAc,KAAVH,EACF,MAAO,GAGTA,EAAQ5F,SAAS4F,GACjBA,EAAQA,EAAMhG,WACd,IAAIkK,EAAS,GACb,OAAS,CACP,GAAIlE,EAAM9E,QAAU,EAAG,CACrBgJ,EAASlE,EAAQkE,EACjB,KACF,CACA,IAAIC,EAAQnE,EAAMT,QAAQ,GACtB6E,EAAOpE,EAAMT,OAAO,EAAGS,EAAM9E,OAAS,GAC1C8E,EAAQoE,EACRF,EAAS,IAAMC,EAAQD,CACzB,CACA,OAAOA,CAAM,EACb,KACFimB,SAAYxV,IACV,IAAIxa,EAAIwa,EAAE6U,OAAO1mC,MACjB6xB,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAAGH,WAEtC1sB,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOA,KACnCxV,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAC/C,EACA,KACFlP,OAAU95C,IACJrnC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,OAG/C,IAAIxjE,EAAI7sB,KAAKiwF,kBAAkB5oD,EAAE6U,OAAO1mC,OACxC,GAAIknB,MAAM7P,IAAyB,KAAnBwa,EAAE6U,OAAO1mC,MAIvB,OAHAqX,EAAI,QACA,qBAAuB7sB,KAAKiqC,MAAMk3C,QACpCnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAO,OAIzCqX,EAAI7sB,KAAKswF,MAAMzjE,GAAGH,WAElB2a,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAE9B7sB,KAAKiqC,MAAMk3C,QAEhBnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAOA,IAAU,EAC/C,KACF86E,MAASzjE,IAC2B,qBAAvB7sB,KAAKkI,MAAMgoF,SAA2BrjE,EAAI7sB,KAAKkI,MAAMgoF,UAC9DrjE,EAAI7sB,KAAKkI,MAAMgoF,SACiB,qBAAvBlwF,KAAKkI,MAAMqoF,SAA2B1jE,EAAI7sB,KAAKkI,MAAMqoF,UAC9D1jE,EAAI7sB,KAAKkI,MAAMqoF,SACV1jE,GACP,KACF2jE,GAAMnpD,IACJ,IAAIopD,EAAKvyD,OAAOnG,SAAS24D,qBAAqB,YAE9C,GAAID,EAAG7iE,OAAS,GAAK6iE,EAAG,GAAGhmC,SAAU,OAErC,IAAIpG,EAAMrkD,KAAKswF,MACbtwF,KAAKiwF,kBAAkBjwF,KAAK2+C,IAAI/U,QAAQp0B,OAASxV,KAAKkI,MAAMqZ,MAE9DvhB,KAAK2+C,IAAI/U,QAAQp0B,MAAQxV,KAAK22B,SAAS0tB,GAER,KAA3BrkD,KAAK2+C,IAAI/U,QAAQp0B,QACe,qBAAvBxV,KAAKkI,MAAMgoF,QACpBlwF,KAAK2+C,IAAI/U,QAAQp0B,MAAQxV,KAAKkI,MAAMgoF,QACjClwF,KAAK2+C,IAAI/U,QAAQp0B,MAAQ,GAEhCxV,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAO6uC,EAAI33B,aAAe,EAC1D,KACFikE,KAAQtpD,IACN,IAAIopD,EAAKvyD,OAAOnG,SAAS24D,qBAAqB,YAC9C,GAAID,EAAG7iE,OAAS,GAAK6iE,EAAG,GAAGhmC,SAAU,OAErC,IAAIpG,EAAMrkD,KAAKswF,MACbtwF,KAAKiwF,kBAAkBjwF,KAAK2+C,IAAI/U,QAAQp0B,OAASxV,KAAKkI,MAAMqZ,MAE9DvhB,KAAK2+C,IAAI/U,QAAQp0B,MAAQxV,KAAK22B,SAAS0tB,GACR,KAA3BrkD,KAAK2+C,IAAI/U,QAAQp0B,QACe,qBAAvBxV,KAAKkI,MAAMqoF,QACpBvwF,KAAK2+C,IAAI/U,QAAQp0B,MAAQxV,KAAKkI,MAAMqoF,QACjCvwF,KAAK2+C,IAAI/U,QAAQp0B,MAAQ,GAGhCxV,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAO6uC,EAAI33B,aAAe,EAC1D,KACFkkE,OAAUvpD,IACRrnC,KAAK6wF,WAAa3yD,OAAO4L,YAAY9pC,KAAKwwF,GAvI5B,IAuI0C,EACxD,KACFM,KAAQzpD,IACNnJ,OAAOqgB,cAAcv+C,KAAK6wF,WAAW,EACrC,KACFE,SAAY1pD,IACVrnC,KAAK6wF,WAAa3yD,OAAO4L,YAAY9pC,KAAK2wF,KA7I5B,IA6I4C,EAC1D,KACFK,OAAU3pD,IACRnJ,OAAOqgB,cAAcv+C,KAAK6wF,WAAW,EA3IrC7wF,KAAKkI,MAAQ,CACX+oF,UAASjxF,KAAKiqC,MAAMgnD,SAAUjxF,KAAKiqC,MAAMgnD,QACzCz7E,MAAOxV,KAAKiqC,MAAM6rC,aAClBoa,QAASlwF,KAAKiqC,MAAMoZ,IACpBktC,QAASvwF,KAAKiqC,MAAMzoB,IACpBD,KAAMvhB,KAAKiqC,MAAM1oB,KACjBoR,KAAM3yB,KAAKiqC,MAAMtX,MAEe,qBAAvB3yB,KAAKkI,MAAMgoF,UAAyBlwF,KAAKkI,MAAMgoF,QAAU,GACrC,qBAApBlwF,KAAKkI,MAAMyqB,OAAsB3yB,KAAKkI,MAAMyqB,KAAO,MAC/B,qBAApB3yB,KAAKkI,MAAMqZ,OAAsBvhB,KAAKkI,MAAMqZ,KAAO,KAC9DvhB,KAAK6wF,WAAa,EAClB7wF,KAAKkxF,iBAAmB,EAExBlxF,KAAK2+C,IAAMM,IAAMC,WACnB,CACA1T,oBACMxrC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAEjD,CAEA5kD,uBAAwB,CAuHxBC,SACE,IAAIylD,EAAW,CAAC,EACZ,qBAAuBnxF,KAAKiqC,MAAM6rC,eACpCqb,EAAuB,aAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAM6rC,eAElD,qBAAuB91E,KAAKiqC,MAAMz0B,QACpC27E,EAAgB,MAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAMz0B,QAE/C,MAAM47E,EAAc,GAAA1vF,OAAM1B,KAAKiqC,MAAM2B,UAAS,8BAC9C,OACED,eAAA,QACE,iBAAe,GACfC,UAAWwlD,EACXp8C,MAAOh1C,KAAKkI,MAAMmpF,KAAKxlD,SAEvBC,gBAAC0zC,KAAU,CAAC7sD,KAAM3yB,KAAKkI,MAAMyqB,KAAKkZ,SAAA,CAChCF,eAAC6zC,KAAW8R,QAAO,CAAAzlD,SACjBF,eAAC6zC,KAAWr2C,KAAI,CAAA0C,SAAG,QAKrBF,eAACmU,KAAKwF,QAAO,CACXswB,QAAS51E,KAAKiqC,MAAM2rC,QACpBl8D,KAAM1Z,KAAKiqC,MAAMvwB,KACjBjZ,GAAIT,KAAKiqC,MAAMxpC,MAEX0wF,EACJt0C,SAAU78C,KAAK68C,SACfskC,OAAQnhF,KAAKmhF,OACbpzD,KAAK,OACL4wB,IAAK3+C,KAAK2+C,IACV4G,SAAUvlD,KAAKiqC,MAAMsb,SACrBswB,QAAQ,eAER71E,KAAKiqC,MAAMgnD,SAAWtlD,eAAC6zC,KAAW+R,OAAM,CAAA1lD,SACxCC,gBAAA,OAAAD,SAAA,CACEF,eAAA,KACEa,QAASxsC,KAAKwwF,GACdgB,YAAaxxF,KAAK4wF,OAClBa,UAAWzxF,KAAK8wF,KAChBY,aAAc1xF,KAAK8wF,KACnBllD,UAAU,oBAAmBC,SAE7BF,eAAA,KACEqJ,MAAO,CAAE28C,WAAY,mBACrB/lD,UAAU,kBAGdD,eAAA,KACEa,QAASxsC,KAAK2wF,KACda,YAAaxxF,KAAK+wF,SAClBU,UAAWzxF,KAAKgxF,OAChBU,aAAc1xF,KAAKgxF,OACnBplD,UAAU,sBAAqBC,SAE/BF,eAAA,KACEqJ,MAAO,CAAE28C,WAAY,mBACrB/lD,UAAU,6BAQ1B,EAG8B5B,YA6GzB,MAAM4nD,WAA6B5nD,YACxCjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAqBfgmD,kBAAqBpjE,IACnB,IAAIO,EAAIP,EAAEgG,QAAQ,WAAY,IAC9B,MAAU,KAANzF,EAAiBA,EACdN,SAASM,EAAE,EAClB,KACFuJ,SAAY9J,IACV,GAAI,OAASA,GAAkB,qBAANA,EACvB,MAAkC,qBAAvB7sB,KAAKkI,MAAMgoF,QACblwF,KAAKkI,MAAMgoF,QAAQxjE,WACrB,GAIT,IAAIgG,GADJ7F,EAAIA,EAAEH,YACQmG,QAAQ,WAAY,IAElC,GAAc,KAAVH,EACF,MAAO,GAGTA,EAAQ5F,SAAS4F,GACjBA,EAAQA,EAAMhG,WACd,IAAIkK,EAAS,GACb,OAAS,CACP,GAAIlE,EAAM9E,QAAU,EAAG,CACrBgJ,EAASlE,EAAQkE,EACjB,KACF,CACA,IAAIC,EAAQnE,EAAMT,QAAQ,GACtB6E,EAAOpE,EAAMT,OAAO,EAAGS,EAAM9E,OAAS,GAC1C8E,EAAQoE,EACRF,EAAS,IAAMC,EAAQD,CACzB,CACA,OAAOA,CAAM,EACb,KACFimB,SAAYxV,IACV,IAAIxa,EAAIwa,EAAE6U,OAAO1mC,MACjB6xB,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAAGH,WAEtC1sB,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOA,KACnCxV,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAC/C,EACA,KACFlP,OAAU95C,IACJrnC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,OAG/C,IAAIxjE,EAAI7sB,KAAKiwF,kBAAkB5oD,EAAE6U,OAAO1mC,OACxC,GAAIknB,MAAM7P,IAAyB,KAAnBwa,EAAE6U,OAAO1mC,MAIvB,OAHAqX,EAAI,QACA,qBAAuB7sB,KAAKiqC,MAAMk3C,QACpCnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAO,OAIzCqX,EAAI7sB,KAAKswF,MAAMzjE,GAAGH,WAElB2a,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAE9B7sB,KAAKiqC,MAAMk3C,QAEhBnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAOA,IAAU,EAC/C,KACF86E,MAASzjE,IAC2B,qBAAvB7sB,KAAKkI,MAAMgoF,SAA2BrjE,EAAI7sB,KAAKkI,MAAMgoF,UAC9DrjE,EAAI7sB,KAAKkI,MAAMgoF,SACiB,qBAAvBlwF,KAAKkI,MAAMqoF,SAA2B1jE,EAAI7sB,KAAKkI,MAAMqoF,UAC9D1jE,EAAI7sB,KAAKkI,MAAMqoF,SACV1jE,GA3FP7sB,KAAKkI,MAAQ,CACXsN,MAAOxV,KAAKiqC,MAAM6rC,aAClBoa,QAASlwF,KAAKiqC,MAAMoZ,IACpBktC,QAASvwF,KAAKiqC,MAAMzoB,IACpBD,KAAMvhB,KAAKiqC,MAAM1oB,MAEe,qBAAvBvhB,KAAKkI,MAAMgoF,UAAyBlwF,KAAKkI,MAAMgoF,QAAU,GACrC,qBAApBlwF,KAAKkI,MAAMqZ,OAAsBvhB,KAAKkI,MAAMqZ,KAAO,KAC9DvhB,KAAK6wF,WAAa,EAClB7wF,KAAKkxF,iBAAmB,EAExBlxF,KAAK2+C,IAAMM,IAAMC,WACnB,CACA1T,oBACMxrC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAEjD,CAEA5kD,uBAAwB,CA0ExBC,SACE,IAAIylD,EAAW,CAAC,EAQhB,MAPI,qBAAuBnxF,KAAKiqC,MAAM6rC,eACpCqb,EAAuB,aAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAM6rC,eAElD,qBAAuB91E,KAAKiqC,MAAMz0B,QACpC27E,EAAgB,MAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAMz0B,QAI7Cm2B,eAAA,QACE,iBAAe,GACfC,UAAU,4BACVoJ,MAAOh1C,KAAKkI,MAAMmpF,KAAKxlD,SAEvBC,gBAAC0zC,KAAU,CAAC7sD,KAAM3yB,KAAKiqC,MAAMtX,KAAKkZ,SAAA,CAChCF,eAAC6zC,KAAW8R,QAAO,CAAAzlD,SACjBF,eAAC6zC,KAAWr2C,KAAI,CAAC6L,MAAO,CAAEoC,SAAU,SAAWzkB,KAAM3yB,KAAKiqC,MAAMtX,KAAKkZ,SAAC,QAKxEF,eAACmU,KAAKwF,QAAO,CACXswB,QAAS51E,KAAKiqC,MAAM2rC,QACpBl8D,KAAM1Z,KAAKiqC,MAAMvwB,KACjBjZ,GAAIT,KAAKiqC,MAAMxpC,GACfkyB,KAAM3yB,KAAKiqC,MAAMtX,QACbw+D,EACJt0C,SAAU78C,KAAK68C,SACfskC,OAAQnhF,KAAKmhF,OACbpzD,KAAK,OACL4wB,IAAK3+C,KAAK2+C,IACV4G,SAAUvlD,KAAKiqC,MAAMsb,SACrBswB,QAAQ,kBAKlB,EAGK,MAAMgc,WAAuB7nD,YAClCjqC,YAAYkqC,GACVC,MAAMD,GAAO,KAsBfgmD,kBAAqBpjE,IACnB,IAAIO,EAAIP,EAAEgG,QAAQ,WAAY,IAC9B,MAAU,KAANzF,EAAiBA,EACdN,SAASM,EAAE,EAClB,KACFuJ,SAAY9J,IACV,GAAI,OAASA,GAAkB,qBAANA,EACvB,MAAkC,qBAAvB7sB,KAAKkI,MAAMgoF,QACblwF,KAAKkI,MAAMgoF,QAAQxjE,WACrB,GAIT,IAAIgG,GADJ7F,EAAIA,EAAEH,YACQmG,QAAQ,WAAY,IAElC,GAAc,KAAVH,EACF,MAAO,GAGTA,EAAQ5F,SAAS4F,GACjBA,EAAQA,EAAMhG,WACd,IAAIkK,EAAS,GACb,OAAS,CACP,GAAIlE,EAAM9E,QAAU,EAAG,CACrBgJ,EAASlE,EAAQkE,EACjB,KACF,CACA,IAAIC,EAAQnE,EAAMT,QAAQ,GACtB6E,EAAOpE,EAAMT,OAAO,EAAGS,EAAM9E,OAAS,GAC1C8E,EAAQoE,EACRF,EAAS,IAAMC,EAAQD,CACzB,CACA,OAAOA,CAAM,EACb,KACFimB,SAAYxV,IACV,IAAIxa,EAAIwa,EAAE6U,OAAO1mC,MACjB6xB,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAAGH,WAEtC1sB,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOA,KACnCxV,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAC/C,EACA,KACFlP,OAAU95C,IACJrnC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,OAG/C,IAAIxjE,EAAI7sB,KAAKiwF,kBAAkB5oD,EAAE6U,OAAO1mC,OACxC,GAAIknB,MAAM7P,IAAyB,KAAnBwa,EAAE6U,OAAO1mC,MAIvB,OAHAqX,EAAI,QACA,qBAAuB7sB,KAAKiqC,MAAMk3C,QACpCnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAO,OAIzCqX,EAAI7sB,KAAKswF,MAAMzjE,GAAGH,WAElB2a,EAAE6U,OAAO1mC,MAAQxV,KAAK22B,SAAS9J,GAC/B,IAAIrX,EAAQxV,KAAKiwF,kBAAkBpjE,GAE9B7sB,KAAKiqC,MAAMk3C,QAEhBnhF,KAAKiqC,MAAMk3C,OAAO,CAAEjlC,OAAQ,CAAE1mC,MAAOA,IAAU,EAC/C,KACF86E,MAASzjE,IAC2B,qBAAvB7sB,KAAKkI,MAAMgoF,SAA2BrjE,EAAI7sB,KAAKkI,MAAMgoF,UAC9DrjE,EAAI7sB,KAAKkI,MAAMgoF,SACiB,qBAAvBlwF,KAAKkI,MAAMqoF,SAA2B1jE,EAAI7sB,KAAKkI,MAAMqoF,UAC9D1jE,EAAI7sB,KAAKkI,MAAMqoF,SACV1jE,GA5FP7sB,KAAKkI,MAAQ,CACXsN,MAAOxV,KAAKiqC,MAAM6rC,aAClBoa,QAASlwF,KAAKiqC,MAAMoZ,IACpBktC,QAASvwF,KAAKiqC,MAAMzoB,IACpBD,KAAMvhB,KAAKiqC,MAAM1oB,KACjB8vE,KAAMrxF,KAAKiqC,MAAMonD,MAEe,qBAAvBrxF,KAAKkI,MAAMgoF,UAAyBlwF,KAAKkI,MAAMgoF,QAAU,GACrC,qBAApBlwF,KAAKkI,MAAMqZ,OAAsBvhB,KAAKkI,MAAMqZ,KAAO,KAC9DvhB,KAAK6wF,WAAa,EAClB7wF,KAAKkxF,iBAAmB,EAExBlxF,KAAK2+C,IAAMM,IAAMC,WACnB,CACA1T,oBACMxrC,KAAKiqC,MAAMkmD,SACbnwF,KAAKiqC,MAAMkmD,QAAQnwF,KAAK2+C,IAAI/U,QAAQwmD,SAASC,MAEjD,CAEA5kD,uBAAwB,CA0ExBC,SACE,IAAIylD,EAAW,CAAC,EAQhB,MAPI,qBAAuBnxF,KAAKiqC,MAAM6rC,eACpCqb,EAAuB,aAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAM6rC,eAElD,qBAAuB91E,KAAKiqC,MAAMz0B,QACpC27E,EAAgB,MAAInxF,KAAK22B,SAAS32B,KAAKiqC,MAAMz0B,QAI7Cm2B,eAAA,QACE,iBAAe,GACfC,UAAU,sBACVoJ,MAAOh1C,KAAKkI,MAAMmpF,KAAKxlD,SAEvBC,gBAAC0zC,KAAU,CAAC7sD,KAAK,KAAIkZ,SAAA,CAClB7rC,KAAKiqC,MAAM6nD,gBAAkBnmD,eAAC6zC,KAAW8R,QAAO,CAAAzlD,SAC/CF,eAAC6zC,KAAWr2C,KAAI,CAAA0C,SAAG,QAIrBF,eAACmU,KAAKwF,QAAO,CACXswB,QAAS51E,KAAKiqC,MAAM2rC,QACpBl8D,KAAM1Z,KAAKiqC,MAAMvwB,KACjBjZ,GAAIT,KAAKiqC,MAAMxpC,GACfkyB,KAAM3yB,KAAKiqC,MAAMtX,QACbw+D,EACJt0C,SAAU78C,KAAK68C,SACfskC,OAAQnhF,KAAKmhF,OACbpzD,KAAK,OACL4wB,IAAK3+C,KAAK2+C,IACV4G,SAAUvlD,KAAKiqC,MAAMsb,SACrBvQ,MAAOh1C,KAAKiqC,MAAM+K,MAClB6gC,QAAQ,YACRprB,SAAUzqD,KAAKiqC,MAAMwgB,eAK/B,ECvlBK,MAAMsnC,GAAe9nD,GACjB0B,eAACwX,KAAW,CACfC,OAAO,IACP/sC,OAAQ4zB,EAAM5zB,OACd2+B,MAAO/K,EAAM+K,MACbqO,IAAK,EACL7hC,IAAK,YACLoqB,UAAW3B,EAAM2B,UAAY3B,EAAM2B,UAAY,QAC/CkqC,aAAc7rC,EAAM6rC,aACpBtgE,MAAOy0B,EAAMz0B,MACb8tC,UAAY9tC,GACK,GAAA9T,OAAG8T,GAAQqd,QAAQ,wBAAyB,KAC7CA,QAAQ,mBAAoB,IAAIm/D,WAAW,IAAK,IAAIn/D,QAAQ,IAAK,IAGjF0wB,OAAS/tC,GAAUA,EAAMqd,QAAQ,cAAe,IAChDgqB,SAAU5S,EAAM4S,SAChBlqB,KAAK,UCEN,SAASs/D,KACZ,IAAIjyB,EAAQ,EAEZ,MAAM,SAAE5rD,EAAQ,WAAEC,EAAU,cAAEO,EAAa,MAAEH,EAAK,YAAEE,GAAgB3U,KAAKiqC,MAAM17B,YAAYiC,qBAkB3F,OAhBA4D,GAAYA,EAASgb,SAASkY,IACR,KAAdA,EAAEh4B,UAAgB0wD,GAASjzC,WAAWua,EAAEh4B,SAAQ,IAExD+E,GAAcA,EAAW+a,SAASkY,IACZ,KAAdA,EAAEh4B,UAAgB0wD,GAASjzC,WAAWua,EAAEh4B,SAAQ,IAExDsF,GAAiBA,EAAcwa,SAASkY,IACjB,KAAfA,EAAElmB,WAAiB4+C,GAASjzC,WAAWua,EAAElmB,UAAS,IAE1D3M,GAASA,EAAM2a,SAASkY,IACJ,KAAZA,EAAE9xB,QAAcwqD,GAASjzC,WAAWua,EAAE9xB,OAAM,IAEpDb,GAAeA,EAAYya,SAASkY,IAChB,KAAZA,EAAE9xB,QAAcwqD,GAASjzC,WAAWua,EAAE9xB,OAAM,IAG7C8zB,GAAkB02B,EAC7B,CAUA,MAAMkyB,WAAmBloD,YACrBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAahBuB,kBAAoB,KAChB,MAAMnE,EAAItP,SAASC,eAAe,aAAeh4B,KAAKiqC,MAAMr2B,OAC5DyzB,EAAE+sB,cAAgB,WACd51B,OACJ,EACA6I,EAAEkiB,eAAiB,WACf/qB,OACJ,CAAC,EACJ,KAED2zD,MAAS9qD,IACL,MAAMgd,EAAM,CACRt3B,WAAW/sB,KAAKkI,MAAMmI,QACtB0c,WAAW/sB,KAAKkI,MAAMoI,OACtByc,WAAW/sB,KAAKkI,MAAMqI,OAE1BvQ,KAAKiqC,MAAM4S,SAASwH,GACpBrkD,KAAKypC,SAAS,CAAEC,MAAM,GAAQ,EACjC,KAEDgC,OAAS,KACL,MAkEM0mD,EAAkC,IAAtBpyF,KAAKkI,MAAMmI,QAAqC,IAArBrQ,KAAKkI,MAAMoI,OAAmC,IAApBtQ,KAAKkI,MAAMqI,KAS5EF,EAAS0c,WAAW/sB,KAAKkI,MAAMmI,QAC/BC,EAAQyc,WAAW/sB,KAAKkI,MAAMoI,OAC9BC,EAAO,IAAMF,EAASC,EACtB+hF,EAAiB,CACnB,CACIp8C,MAAM,UAADv0C,OAAY2O,EAAOy+C,QAAQ,GAAE,KAClCt5C,MAAOnF,EACP8kC,MAAO,WAEX,CACIc,MAAM,SAADv0C,OAAW4O,EAAMw+C,QAAQ,GAAE,KAChCt5C,MAAOlF,EACP6kC,MAAO,WAEX,CACIc,MAAM,QAADv0C,OAAU6O,EAAKu+C,QAAQ,GAAE,KAC9Bt5C,MAAOjF,EACP4kC,MAAO,YAKf,OACIrJ,gBAAA,OAAKF,UAAU,UAASC,SAAA,CACpBC,gBAACC,KAAK,CACFqgD,gBAAgB,gBAChB,kBAAgB,gCAChB/a,UAAQ,EACR3nC,KAAM1pC,KAAKkI,MAAMwhC,KACjBsC,OAAQA,IAAMhsC,KAAKypC,SAAS,CAAEC,MAAM,IAASmC,SAAA,CAE7CF,eAACI,KAAME,OAAM,CAACC,aAAW,EAAAL,SACrBF,eAACI,KAAMI,MAAK,CAAAN,SAAC,yDAIjBC,gBAACC,KAAMK,KAAI,CAACwL,GAAG,MAAMhM,UAAU,GAAEC,SAAA,CAC7BC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,SAAS/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC1DC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAC7BF,eAAA,KAAGqJ,MAAO,CAAEG,MAAO,WAAavJ,UAAU,kBAAqB,aAGnEE,gBAAC0zC,KAAU,CAAA3zC,SAAA,CACPF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,SACN8qC,WAAS,EACTz2B,KAAK,OACL8nD,QAAQ,YACRh5B,SAhIlBxV,IACd,IAAIgd,EAAMhd,EAAE6U,OAAO1mC,MACf6uC,EAAIz2B,OAAS,GAAgB,MAAXy2B,EAAI,KACtBA,EAAMA,EAAIpyB,OAAO,EAAGoyB,EAAIz2B,SAG5B,IAAIf,EAAIE,WAAWs3B,GACf3nB,MAAM7P,KACNA,EAAI,EACJw3B,EAAM,GAGVx3B,EAAI4B,KAAKjN,IAAI,EAAGiN,KAAK40B,IAAI,IAAKx2B,IACGw3B,EAAL,MAAxBA,EAAIA,EAAIz2B,OAAS,GAAkBf,EAAEH,WAAa,IAC3CG,EAAEH,WAEb1sB,KAAKypC,SAAS,CAAEp5B,OAAQg0C,IACpBx3B,EAAIE,WAAW/sB,KAAKkI,MAAMoI,OAAS,IACnCtQ,KAAKypC,SAAS,CACVn5B,MAAOme,KAAKjN,IAAI,IAAMqL,GACtBtc,KAAM,EACNmiB,MAAO,QAGX1yB,KAAKypC,SAAS,CACVl5B,KAAMwc,WACF,IAAMF,EAAIE,WAAW/sB,KAAKkI,MAAMoI,OAAOw+C,QAAQ,IAEnDp8B,MAAO,OAEf,EAmGgCld,MAAOxV,KAAKkI,MAAMmI,SAEtBs7B,eAAC6zC,KAAW+R,OAAM,CAAA1lD,SACdF,eAAC6zC,KAAWr2C,KAAI,CACZyC,UAAU,OACVoJ,MAAO,CACHoC,SAAU,QACVuT,WAAY,OAEhBh4B,KAAK,KAAIkZ,SACZ,WAKTF,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,2DAK9CF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,SAAS/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC1DC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAC7BF,eAAA,KAAGqJ,MAAO,CAAEG,MAAO,WAAam9C,SAAS,kBAAqB,YAGlExmD,gBAAC0zC,KAAU,CAAA3zC,SAAA,CACPF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,QACNm8D,QAAQ,YACR9nD,KAAK,OACL8uB,SAlInBxV,IACb,IAAIgd,EAAMhd,EAAE6U,OAAO1mC,MACf6uC,EAAIz2B,OAAS,GAAgB,MAAXy2B,EAAI,KACtBA,EAAMA,EAAIpyB,OAAO,EAAGoyB,EAAIz2B,SAG5B,IAAIf,EAAIE,WAAWs3B,GACf3nB,MAAM7P,KACNA,EAAI,EACJw3B,EAAM,GAGVx3B,EAAI4B,KAAKjN,IAAI,EAAGiN,KAAK40B,IAAI,IAAKx2B,IACGw3B,EAAL,MAAxBA,EAAIA,EAAIz2B,OAAS,GAAkBf,EAAEH,WAAa,IAC3CG,EAAEH,WAEb1sB,KAAKypC,SAAS,CAAEn5B,MAAO+zC,IACnBx3B,EAAIE,WAAW/sB,KAAKkI,MAAMmI,QAAU,IACpCrQ,KAAKypC,SAAS,CACVp5B,OAAQoe,KAAKjN,IAAI,EAAG,IAAMqL,GAC1Btc,KAAM,EACNmiB,MAAO,QAGX1yB,KAAKypC,SAAS,CACVl5B,KAAMwc,WACF,IAAMF,EAAIE,WAAW/sB,KAAKkI,MAAMmI,QAAQy+C,QAAQ,IAEpDp8B,MAAO,OAEf,EAqGgCld,MAAOxV,KAAKkI,MAAMoI,QAEtBq7B,eAAC6zC,KAAW+R,OAAM,CAAA1lD,SACdF,eAAC6zC,KAAWr2C,KAAI,CACZyC,UAAU,OACVoJ,MAAO,CAAEoC,SAAU,QAASuT,WAAY,OACxCh4B,KAAK,KAAIkZ,SACZ,WAKTF,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,2DAK9CF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,SAAS/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC1DC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAC7BF,eAAA,KAAGqJ,MAAO,CAAEG,MAAO,WAAam9C,SAAS,kBAAqB,WAGlE3mD,eAAA,SACAG,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAC5B,IACA7rC,KAAKkI,MAAMqI,KAAKu+C,QAAQ,GAAG,eAK5CnjB,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,cAAaC,SACxBF,eAAC4mD,YAAQ,CACL3mD,UAAU,OACVoJ,MAAO,CAAEqF,OAAQ,QAASC,MAAO,SACjCrpB,KAAM,CACF,CACIglB,MAAO,SACPzgC,MAAOuX,WAAW/sB,KAAKkI,MAAMmI,QAC7B8kC,MAAO,WAEX,CACIc,MAAO,QACPzgC,MAAOuX,WAAW/sB,KAAKkI,MAAMoI,OAC7B6kC,MAAO,WAEX,CACIc,MAAO,OACPzgC,MAAO,IAAMuX,WAAW/sB,KAAKkI,MAAMmI,QAAU0c,WAAW/sB,KAAKkI,MAAMoI,OACnE6kC,MAAO,qBAO/BxJ,eAACI,KAAMM,OAAM,CAAAR,SACTF,eAACW,KAAM,CAACC,QAAQ,YAAYC,QAASxsC,KAAKmyF,MAAMtmD,SAAC,eAMzDF,eAAA,SACIgS,QAAM,EACNnoC,MAAOxV,KAAKkI,MAAMwqB,MAClB6yB,UAAQ,EACRx3B,KAAK,OACLttB,GAAI,aAAeT,KAAKiqC,MAAMr2B,MAC9Bg4B,UAAU,kBAEdE,gBAACQ,KAAM,CACH0I,MAAO,CAAEqC,UAAW,OACpB1kB,KAAK,KACL6Z,QAAUnF,GAAMrnC,KAAKypC,SAAS,CAAEC,MAAM,IACtC6b,UAAQ,EACR3Z,UAAU,sCACVW,QAAQ,kBAAiBV,SAAA,CAEzBF,eAAC4mD,YAAQ,CACL3mD,UAAU,OACVoJ,MAAO,CAAEqF,OAAQ,OAAQC,MAAO,QAChCrpB,KAAMmhE,EApLH,CACf,CACIn8C,MAAO,UACPzgC,MAAO,IACP2/B,MAAO,YAgLgCk9C,IAChC,IAAI,kBAGT,EA3RV,MAAOhiF,EAAQC,EAAOC,GAAQ05B,EAAM75B,WACpCpQ,KAAKiqC,MAAQA,EACbjqC,KAAKkI,MAAQ,CACTwhC,MAAM,EACNr5B,SACAC,QACAC,OACAmiB,MAAkB,IAAXriB,GAA0B,IAAVC,GAAwB,IAATC,EAAa,GAAK,MAEhE,EAuRJurC,aA5S0B5zC,IACf,CACHqG,YAAarG,EAAMqG,gBAIEm6B,IAAQ,CAAQ,IAsSE,KAAM,CACjD4iB,YAAY,GADhBxP,CAEGo2C,IA0EH,MAAMM,WAAiBxoD,YACnBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAoDhBwoD,aAAe,KAEXzyF,KAAK0yF,iBAAiB,EACzB,KAeDhwC,SAAW,KACP,MAAM,IAAEp0B,GAAQtuB,KAAKiqC,OACf,eAAEh0B,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAExC,OAAdrY,QAAc,IAAdA,KAAgBL,UACjB5V,KAAKiqC,MAAM+gB,mBACP,IAAK/0C,EAAgBL,UAAU,GAC/B0Y,EACA,iBAER,EACH,KAWD45D,WAAa,KACT,MAAMroC,EAAO7/C,KAAKiqC,MAAM0oD,KAAK/oD,QACvBu+C,EAAmB,OAAJtoC,QAAI,IAAJA,OAAI,EAAJA,EAAMuoC,SAC3B,GAAID,GAAwC,IAAxBA,EAAav6D,OAAc,CAC3C,IAAIy6D,EAAa,EACbC,EAAU,EACd,IAAK,IAAIl6D,EAAI,EAAGA,EAAI+5D,EAAav6D,OAAQQ,IAAK,CAC1C,MAAMm6D,EAAUJ,EAAa/5D,GAER,WAAjBm6D,EAAQx6D,MACS,aAAjBw6D,EAAQx6D,MACS,WAAjBw6D,EAAQx6D,OAERs6D,IACKz4C,mBAAQ24C,EAAQ/yE,QACjB8yE,IAGZ,CAGA,MAAMsK,EAAoB,CACtB,gBACA,aACA,mBACA,UACA,gBACA,kBACA,sBACA,sBACA,YAkBEC,EAAY,IAdWD,EAAkB7F,QAAO,CAAC+F,EAAKC,KACxDD,EAAIC,GAAS/yF,KAAKiqC,MAAMx5B,SAASsiF,GAC1BD,IACR,CAAC,MAGwD,UAA7B9yF,KAAKiqC,MAAMh5B,cACpC2hF,EAAkB7F,QAAO,CAAC+F,EAAKC,KAC7BD,EAAI,KAADpxF,OAAMqxF,EAAM77D,OAAO,GAAG3D,eAAa7xB,OAAGqxF,EAAMz7D,MAAM,KAAQt3B,KAAKiqC,MAAMr4B,WAAWmhF,GAC5ED,IACR,CAAC,GACF,CAAC,GAKDzF,EAAW72D,OAAOC,KAAKo8D,GAAWnlD,QAAQxhC,IAC5C,MAAMsJ,EAAQq9E,EAAU3mF,GACxB,MAAiB,KAAVsJ,GAA0B,OAAVA,QAA4BqY,IAAVrY,CAAmB,IAC7DoY,OACHy6D,GAA0B7xD,OAAOC,KAAKo8D,GAAWjlE,OACjD06D,EAAUA,EAAU9xD,OAAOC,KAAKo8D,GAAWjlE,OAASy/D,EACpD,MAAM7E,EAAgB/5D,KAAK4L,MAAOiuD,EAAUD,EAAc,KAC1Dj3D,eAAe0M,QAAQ,gBAAiB0qD,EAC5C,GACH,KAEDwK,kBAAoB,CAAC3uC,EAAKzwC,KACtB,GAAI,OAASywC,EAAK,MAAO,GAEzB,MAAM,SAAEj1C,EAAQ,QAAED,EAAO,IAAEjD,EAAG,QAAEoD,EAAO,YAAErD,EAAW,aAAEsD,GAAiB80C,EACvE,OAAOrkD,KAAKizF,sBACRr/E,EACAxE,EACAD,EACAG,EACArD,EACAsD,EACArD,EACH,EACJ,KAED+mF,sBAAwB,CAACr/E,EAAOs/E,EAAY/jF,EAASG,EAASrD,EAAasD,EAAcrD,KACrF0H,EAAQkZ,SAASlZ,GAEjB,MAAM,IAAE0a,GAAQtuB,KAAKiqC,MAcfkpD,EAA+BxkD,IACjCrF,KACAtpC,KAAKiqC,MAAMkpD,4BAA4BxkD,EAAO/6B,EAAO0a,EAAI,GA2CvD,cAAErd,EAAa,QAAEE,EAAO,SAAEV,EAAQ,WAAEmB,EAAU,qBAAEpB,GAAyBxQ,KAAKiqC,MAAM17B,aACpF,WAAE8F,GAAe7D,EAEjB4iF,EAAY,GAAA1xF,OAAM+O,EAASyF,UAAS,KAAAxU,OAAI+O,EAAS2F,UACjDi9E,EAAc,GAAA3xF,OAAMkQ,EAAWsE,UAAS,KAAAxU,OAAIkQ,EAAWwE,UAE7D,OACIu1B,eAAA,OAAeC,UAAU,4BAA2BC,SAChDC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAC,gBAAC4Q,KAAG,CAAC9Q,UAAU,WAAUC,SAAA,CACrBC,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,SAAS/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC1DF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,gBAGlCF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,aAAe9F,EACrB4wC,WAAS,EACTz2B,KAAK,OACL+nD,aAAcod,EACdr2C,SA7EVlO,IAClBrF,KACAtpC,KAAKiqC,MAAMqpD,yBAAyB3kD,EAAO/6B,EAAO0a,EAAI,EA4E1BunD,QAAQ,iCAEZlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,2DAK9CF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAgB/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CACjEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,YAGlCF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,iBAAmB9F,EACzBma,KAAK,OACL+nD,aAAc3mE,EACd0tC,SA7FTlO,IACnBrF,KACAtpC,KAAKiqC,MAAMspD,4BAA4B5kD,EAAO/6B,EAAO0a,EAAI,EA4F7BwuB,YAAY,mBACZ+4B,QAAQ,iCAEZlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,wCAK9CF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,cAAc/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAvEhFt8B,EACHu8B,gBAACgU,KAAKyU,MAAK,CAAA1oB,SAAA,CAAC,gBAERF,eAACi1C,GAAI,CACDjR,QACIhkC,eAAA,OAAAE,SAAK,2MAITmK,UAAU,WAIlBrK,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,YA4DQF,eAAA,OAAAE,SACIF,eAAC6X,KAAK,CACFJ,OAAO,IACP5tC,MAAOlG,EACPye,KAAK,SACLozD,OAAQnhF,KAAKyyF,eACb51C,SAAWxV,GACP8rD,EACI9rD,EAAE6U,OAAO1mC,MAAQ,EAAI,CAAE0mC,OAAQ,CAAE1mC,MAAO,IAAQ6xB,OAKhEsE,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,4CAMlDC,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLF,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,iCAAgCC,SACrDF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,QAASxL,SAC9BF,eAACgY,KAAQ,CAACljD,GAAI,OAASmT,EAAO4B,MAAOjG,EAAcstC,SA1GtDlO,IACrBrF,KACA,MAAM+a,EAAM1V,EAAMuN,OAAO0H,QACzB5jD,KAAKiqC,MAAMupD,8BACP,CAAEt3C,OAAQ,CAAE1mC,MAAO6uC,IACnBzwC,EACA0a,EACH,EAmGoGud,SACzEC,gBAAA,OAAKrrC,GAAI,WAAamT,EAAOg4B,UAAU,eAAeygD,QAAS,OAASz4E,EAAMi4B,SAAA,CAAC,wCACrC,IACtCF,eAACi1C,GAAI,CACDjR,QACIhkC,eAAA,OAAAE,SAAK,0JAITmK,UAAU,SACVC,MAAM,wBAMP,mBAAlBhlC,GAAsCE,GACnC26B,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,OAAMC,SAAA,CAC3BF,eAAA,OAAAE,SAAK,cACLF,eAACmU,KAAKwU,MAAK,CAACqhB,UAAU,aAAY9pC,SAC9BC,gBAACgU,KAAKwF,QAAO,CACT5rC,KAAK,aACLk+B,GAAG,SACHjlB,KAAK,KACLmjD,aAAc7pE,EACd4wC,SA3ITlO,IACvBrF,KACAtpC,KAAKiqC,MAAMwpD,gCACP9kD,EACA/6B,EACA0a,EACH,EAsI+Bi3B,UAAQ,EAAA1Z,SAAA,CAERF,eAAA,UAAQn2B,MAAM,GAAEq2B,SAAC,QACjBF,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAEunD,IACnBznD,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAEwnD,IACnB1nD,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAC,kBAKlCF,eAAC+Q,KAAG,UAGZ5Q,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhF,GAAG,MAAMhM,UAAU,4BAA2BC,SAAA,CACzDF,eAAA,KACIgS,OAAQ/pC,IAAUS,EAAWuZ,OAAS,EACtCge,UAAU,uEACVY,QAlKcmC,IAC9BrF,KACOtpC,KAAKiqC,MAAMypD,yBAAyB/kD,EAAOrgB,MAkKtCqd,eAAA,KACIgS,OAAQ/pC,IAAUS,EAAWuZ,OAAS,EACtCge,UAAU,8DAA6DC,SAEtE,MAELF,eAAA,KACIC,UAAU,mEACVY,QA5LiBmC,IACjCrF,KACAtpC,KAAKiqC,MAAM0pD,4BAA4B//E,EAAO0a,EAAI,WA8DxCpiB,EAgIJ,EAEb,KAED0nF,gBAAmBvsD,IACfiC,KAC+B,SAAnBjC,EAAE6U,OAAO1mC,MAIjBxV,KAAKiqC,MAAM4pD,uBAAuB,EAAG7zF,KAAKiqC,MAAM3b,KAFhDtuB,KAAKiqC,MAAM6pD,0BAA0B,EAAG9zF,KAAKiqC,MAAM3b,IAGvD,EACH,KAEDylE,cAAiB1sD,IACbiC,KACA,MAAMqqC,EAAuB,SAAnBtsC,EAAE6U,OAAO1mC,MACnBxV,KAAKiqC,MAAM8pD,cAAc,CAAE73C,OAAQ,CAAE0H,QAAS+vB,IAAM,EACvD,KAEDqgB,mBAAsB3sD,IAClBiC,KAC+B,SAAnBjC,EAAE6U,OAAO1mC,MAIjBxV,KAAKiqC,MAAMypD,yBAAyB,EAAG1zF,KAAKiqC,MAAM3b,KAFlDtuB,KAAKiqC,MAAMgqD,4BAA4B,EAAGj0F,KAAKiqC,MAAM3b,IAGzD,EACH,KAED4lE,mBAAsB7sD,IAClBiC,KAC+B,SAAnBjC,EAAE6U,OAAO1mC,MAIjBxV,KAAKiqC,MAAMkqD,8BAA8B,EAAGn0F,KAAKiqC,MAAM3b,KAFvDtuB,KAAKiqC,MAAMmqD,gCAAgC,EAAGp0F,KAAKiqC,MAAM3b,IAG7D,EACH,KAEDokE,gBAAkBT,GAAU7mD,KAAKprC,MAAK,KAEtCq0F,eAAkBhmE,GACNgZ,GACJrnC,KAAKiqC,MAAMoqD,eAAehtD,EAAE6U,OAAO1mC,MAAOxV,KAAKiqC,MAAM3b,IAAKD,GACjE,KAEDimE,eAAiB,IACN,OAASt0F,KAAKiqC,MAAM17B,YAAYiC,qBAAqB4D,SAC/D,KAEDs3B,OAAS,KACL,MAAM0jD,EAAoBA,CAAC/gE,EAAMC,IACrBqgB,IACJrF,KACAtpC,KAAKiqC,MAAMmlD,kBAAkBzgD,EAAOrgB,EAAKD,EAAK,EAIhD0hE,EAAe,CACjB,CAAEv6E,MAAO,MAAOk9B,MAAO,OACvB,CAAEl9B,MAAO,KAAMk9B,MAAO,OAGpB6hD,EAAcA,CAACt+C,EAAOoO,IAEpBvY,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAACE,GAAI,GAAIhR,UAAU,YAAWC,SAC9BF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAEoK,QAGrBtK,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNrrC,eAAgB0qC,EAAkB/qC,EAAKrkD,KAAKiqC,MAAM3b,KAClD9Y,MAAOxV,KAAKiqC,MAAMjqC,KAAKiqC,MAAM3b,KAAK+1B,GAClCt2B,KAAK,QACL8wB,UAAU,wBAShC21C,EAAe7lD,IACjBrF,KACAtpC,KAAKiqC,MAAMwqD,uBAAuB9lD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,YAAY,EAuBrEomE,EAAS/lD,IACXrF,KACAtpC,KAAKiqC,MAAMwqD,uBAAuB9lD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,MAAM,EAI/DqmE,EAA8BA,CAACrmE,EAAKa,EAASd,IACxCsgB,IACHrF,KACAtpC,KAAKiqC,MAAM2qD,0BAA0BjmD,EAAMuN,OAAO0H,QAASt1B,EAAKa,EAASd,EAAK,GAIhF,IAAEC,EAAG,SAAE7d,EAAQ,WAAEmB,GAAe5R,KAAKiqC,OACrC,iBAAE1tB,EAAgB,gBAAEC,GAAoBxc,KAAKiqC,MAAM17B,YAAY+f,GAAKzY,cACpE,UAAE6H,EAAS,SAAEC,EAAQ,KAAEC,EAAI,IAAEC,GAAQ7d,KAAKiqC,MAAM17B,YAAY+f,GAAKxY,iBAEjEsF,EAAWkT,IAAQgb,GAAe74B,EAAS2K,SAAWxJ,EAAWwJ,SAEjEy5E,EAAqBA,IACL,aAAdn3E,KACIC,EAASjV,UAAYiV,EAAShV,cAAgBgV,EAAS/U,QAAU+U,EAAS9U,OAGhFisF,EAAiBA,KACnB,MAAM,aAAEhoF,EAAY,MAAEC,EAAK,QAAEE,EAAO,MAAEE,EAAK,eAAEC,EAAc,MAAEE,GAAUsQ,EACvE,OAAI9Q,KACIC,IAAUE,IAAYE,IAAUC,IAAmBE,EAAK,EAG9DynF,EAAoBA,KACtB,MAAM,QAAE9nF,EAAO,eAAEC,GAAmB0Q,EACpC,QAAK3Q,KACGC,EAAeb,UAAYa,EAAeX,SAAWW,EAAeZ,YAAcY,EAAerE,MAAK,EAG5GmsF,EAAkBA,KACpB,MAAM,MAAEjoF,EAAK,aAAEC,GAAiB4Q,EAChC,QAAK7Q,KAEAC,EAAa5K,aACb4K,EAAanL,cACbmL,EAAajL,UACbiL,EAAa9K,SACb8K,EAAa7K,aACb6K,EAAahL,WACbgL,EAAa/K,SAAQ,EASxBgzF,EAAkB5mE,IACpB,MAAM6mE,EAAI,IAAI14E,GACd,OAAQ6qB,IACJiC,KACA4rD,EAAE7mE,GAAQgZ,EAAE6U,OAAO0H,QACnB5jD,KAAKiqC,MAAMmlD,kBAAkB8F,EAAG5mE,EAAK,kBAAkB,CAC1D,GAGC,SAAEjT,EAAQ,UAAEC,EAAS,UAAEC,EAAS,UAAEC,GAAcxb,KAAKiqC,MAAM3b,GAEjE,OACIwd,gBAAA,OAAKF,UAAU,0CAAyCC,SAAA,CACpDC,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,iBACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,gBAG3C0oD,EACG,kGACA,iBAEHA,EACG,mDACA,cAEHA,EACG,gEACA,oBAEHA,EACG,+FACA,WAEHA,EACG,sFACA,iBAEHA,EACG,mNACA,mBAEHA,EACG,6DACA,uBAEHA,EACG,mDACA,uBAEHA,EACG,2DACA,YAGU,QAAbn5E,GACG0wB,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,OAAQlC,MAAO,UAAWiC,SAAU,IAAKvL,SAAC,+CAGnEF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAC/EF,eAACgY,KAAQ,CACLC,QAASvoC,EACTwhC,SAAWxV,IACPrnC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAE6U,OAAO0H,QAASt1B,EAAK,WAAW,EACjEud,SACL,iBAKTF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAC/EF,eAACgY,KAAQ,CACLC,QAAStoC,EACTuhC,SAAWxV,IACPrnC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAE6U,OAAO0H,QAASt1B,EAAK,YAAY,EAClEud,SACL,kBAKTF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAC/EF,eAACgY,KAAQ,CACLC,QAASroC,EACTshC,SAAWxV,IACPrnC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAE6U,OAAO0H,QAASt1B,EAAK,YAAY,EAClEud,SACL,kBAKTF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAC/EF,eAACgY,KAAQ,CACLC,QAASpoC,EACTqhC,SAAWxV,IACPrnC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAE6U,OAAO0H,QAASt1B,EAAK,YAAY,EAClEud,SACL,qBAQjBF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,YAAYwT,GAAI,GAAIxC,GAAI,GAAG/Q,SACtCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,mHAGZF,eAAC8Q,KAAG,CAAA5Q,SACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM,CACF,CAAEzb,MAAO,MAAOk9B,MAAO,OACvB,CAAEl9B,MAAO,KAAMk9B,MAAO,OAE1BgS,eAnILrd,IAC3BiC,KACAtpC,KAAKiqC,MAAMmlD,kBAAkB/nD,EAAG/Y,EAAK,mBAAmB,EAkIxB9Y,MAA4B,QAArB+G,EAA6B,MAAQ,KAC5CwR,KAAK,QACL8wB,UAAU,4BAQhB,QAArBtiC,GACGuvB,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAC5DF,eAACgY,KAAQ,CACL/X,UAAU,mBACVgY,SAA8C,IAArCpnC,EAAgBhT,iBACzBqzC,SAAUo4C,EAAe,oBAAoBppD,SAChD,wFAKRrvB,EAAgBhT,kBACbsiC,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,OAAQlC,MAAO,UAAWiC,SAAU,IAAKvL,SAAC,oBACnEF,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAIhR,UAAU,YAAWC,SACrCF,eAAC+X,KAAU,CACP5G,YAAY,aACZjJ,OAAO,aACPr+B,MAAOgH,EAAgB/S,wBAA0Bm/D,KAAMpsD,EAAgB/S,yBAA2B,KAClGozC,SAAWouC,IACP3hD,KACA,MAAM4rD,EAAI,IAAK14E,GACf04E,EAAEzrF,wBAA0BwhF,EAAOA,EAAKp3C,OAAO,cAAgB,GAC/D7zC,KAAKiqC,MAAMmlD,kBAAkB8F,EAAG5mE,EAAK,kBAAkB,EAE3D0mB,MAAO,CACHqF,OAAQ,iBAOhC1O,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAC5DF,eAACgY,KAAQ,CACL/X,UAAU,mBACVgY,SAA8C,IAArCpnC,EAAgB9S,iBACzBmzC,SAAUo4C,EAAe,oBAAoBppD,SAChD,iEAKTF,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAC5DF,eAACgY,KAAQ,CACL/X,UAAU,mBACVgY,SAAuC,IAA9BpnC,EAAgB7S,UACzBkzC,SAAUo4C,EAAe,aAAappD,SACzC,8FAKTF,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAC5DF,eAACgY,KAAQ,CACL/X,UAAU,mBACVgY,SAA6C,IAApCpnC,EAAgB5S,gBACzBizC,SAAUo4C,EAAe,mBAAmBppD,SAC/C,4BAQjBF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC9Q,UAAU,uBAAsBC,SACjCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,kBAGpBC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,SAAQC,SAAA,CACxBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAIhR,UAAU,OAAMC,SAAA,CACnCC,gBAAA,OAAAD,SAAA,CACIF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAuB,aAAdlmC,EACTm/B,SAAU23C,EACVh/E,MAAM,WACNkE,KAAM,YAAc4U,EACpB7tB,GAAI,WAAa6tB,IAErBqd,eAAA,SAAOlrC,GAAI,gBAAkB6tB,EAAKsd,UAAU,eAAeygD,QAAS,WAAa/9D,EAAIud,SAAC,0BAE3E,aAAdnuB,GACGouB,gBAAA,OAAKkJ,MAAO,CAACwG,aAAc,QAAQ3P,SAAA,CAC/BF,eAAA,OAAKqJ,MAAO,CAAEqC,UAAW,OAAQlC,MAAO,UAAWiC,SAAU,IAAKvL,SAAC,sBACnEF,eAACmU,KAAKrD,IAAG,CAACzH,MAAO,CAAEqC,UAAW,QAASxL,SACnCC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAAA,CAC5DF,eAAA,SACI4Z,SAAUsvC,IACV9mE,KAAK,WACLttB,GAAG,UACHmjD,QAASjmC,EAASjV,QAClBkjC,UAAU,QACViR,SAAU83C,EAA4BrmE,EAAK,WAAY,aAE3Dqd,eAAA,SAAOC,UAAU,mBAAmBygD,QAAQ,UAASxgD,SAAC,iBAG9DF,eAACmU,KAAKrD,IAAG,CAACzH,MAAO,CAAEqC,UAAW,QAASxL,SACnCC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAAA,CAC5DF,eAAA,SACI4Z,SAAUsvC,IACV9mE,KAAK,WACLttB,GAAG,cACHmjD,QAASjmC,EAAShV,YAClBijC,UAAU,OACViR,SAAU83C,EAA4BrmE,EAAK,WAAY,iBAE3Dqd,eAAA,SAAOC,UAAU,kBAAkBygD,QAAQ,cAAaxgD,SAAC,sBAGjEF,eAACmU,KAAKrD,IAAG,CAACzH,MAAO,CAAEqC,UAAW,QAASxL,SACnCC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAAA,CAC5DF,eAAA,SACI4Z,SAAUsvC,IACV9mE,KAAK,WACLttB,GAAG,QACHmjD,QAASjmC,EAAS/U,MAClBgjC,UAAU,QACViR,SAAU83C,EAA4BrmE,EAAK,WAAY,WAE3Dqd,eAAA,SAAOC,UAAU,mBAAmBygD,QAAQ,QAAOxgD,SAAC,eAG5DC,gBAACgU,KAAKrD,IAAG,CAACzH,MAAO,CAAEqC,UAAW,QAASxL,SAAA,CACnCC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,UAAWvP,SAAA,CAC5DF,eAAA,SACI4Z,SAAUsvC,IACV9mE,KAAK,WACLttB,GAAG,QACHmrC,UAAU,OACVgY,QAASjmC,EAAS9U,MAClBg0C,SAAU83C,EAA4BrmE,EAAK,WAAY,WAE3Dqd,eAAA,SAAOC,UAAU,mBAAmBygD,QAAQ,QAAOxgD,SAAC,iCAEvDluB,EAAS9U,OACN8iC,eAAC+Q,KAAG,CAAC0C,GAAG,OAAMvT,SACVF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,OACLttB,GAAG,aACHu0C,MAAO,CAAEsF,MAAO,SAChB1O,UAAU,UACVkqC,aAAcn4D,EAAStb,iBACvBw6C,SA9WflO,IACrBrF,KACAtpC,KAAKiqC,MAAM2qD,0BAA0BjmD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,WAAY,mBAAmB,EA6WzDwuB,YAAY,6CAQxChR,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAIhR,UAAU,OAAMC,SAAA,CACnCF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAuB,gBAAdlmC,EACTm/B,SAAU23C,EACVh/E,MAAM,cACNkE,KAAM,YAAc4U,EACpB7tB,GAAI,cAAgB6tB,IAExBqd,eAAA,SAAOlrC,GAAI,mBAAqB6tB,EAAKsd,UAAU,eAAeygD,QAAS,cAAgB/9D,EAAIud,SAAC,8BAEhGC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAG/Q,SAAA,CAClBF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAuB,aAAdlmC,EACTm/B,SAAU23C,EACVh/E,MAAM,WACN/U,GAAI,oBAAsB6tB,EAC1B5U,KAAM,YAAc4U,IAExBqd,eAAA,SACIlrC,GAAI,yBAA2B6tB,EAC/Bsd,UAAU,yBACVygD,QAAS,oBAAsB/9D,EAAIud,SACtC,oDAMTF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLF,eAAC+Q,KAAG,CAAC9Q,UAAyB,aAAdluB,EAA2B,uBAAyB,kBAAkBmuB,SAClFF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,YAGpBC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,SAAQC,SAAA,CACxBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAIhR,UAAU,OAAMC,SAAA,CACnCF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAiB,SAAR/lC,EACTg/B,SAAU63C,EACVl/E,MAAM,OACNkE,KAAM,MAAQ4U,EACd7tB,GAAI,OAAS6tB,IAEjBqd,eAAA,SAAOlrC,GAAG,YAAYmrC,UAAU,eAAeygD,QAAS,OAAS/9D,EAAIud,SAAC,YAE1EC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAIhR,UAAU,OAAMC,SAAA,CACnCF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAiB,WAAR/lC,EACTg/B,SAAU63C,EACVl/E,MAAM,SACNkE,KAAM,MAAQ4U,EACd7tB,GAAI,SAAW6tB,IAEnBqd,eAAA,SAAOlrC,GAAG,cAAcmrC,UAAU,eAAeygD,QAAS,SAAW/9D,EAAIud,SAAC,cAE9EC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOxC,GAAI,GAAG/Q,SAAA,CAClBF,eAAA,SACI4Z,UAAQ,EACRx3B,KAAK,QACL61B,QAAiB,aAAR/lC,EACTg/B,SAAU63C,EACVl/E,MAAM,WACNkE,KAAM,MAAQ4U,EACd7tB,GAAI,cAAgB6tB,IAExBqd,eAAA,SACIlrC,GAAG,mBACHmrC,UAAU,yBACVygD,QAAS,cAAgB/9D,EAAIud,SAChC,oDAMTF,eAACmU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SACtBF,eAAC+Q,KAAG,CAAC9Q,UAAU,kBAAiBC,SAC5BF,eAACmU,KAAKyU,MAAK,CAAA1oB,SAAC,aAGpBF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,aAAe6tB,EACnBi3B,SAAUuvC,IACVlxC,QAAShmC,EAAK9Q,aACd+vC,SAAU83C,EAA4BrmE,EAAK,OAAQ,kBAEvDqd,eAAA,SACIC,UAAU,iCACVygD,QAAS,aAAe/9D,EACxB0mB,MAAO,CAAGqC,UAAW,GAAIxL,SAC5B,mDAMRjuB,EAAK9Q,aAAe6+B,eAAA4H,YAAA,IACjBzH,gBAAAyH,YAAA,CAAA1H,SAAA,CACIC,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLw+D,eAAgB3uE,EAAKzQ,MACrB0vC,SAAU83C,EAA4BrmE,EAAK,OAAQ,SACnDi3B,SAAUuvC,IACVr0F,GAAI,QAAU6tB,IAElBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,QAAU/9D,EAAIud,SAAC,iCAEpEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLw3B,SAAUuvC,IACVvI,eAAgB3uE,EAAKtQ,MACrBuvC,SAAU83C,EAA4BrmE,EAAK,OAAQ,SACnD7tB,GAAI,QAAU6tB,IAElBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,QAAU/9D,EAAIud,SAAC,gBAGxEF,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLw+D,eAAgB3uE,EAAK3Q,QACrB4vC,SAAU83C,EAA4BrmE,EAAK,OAAQ,WACnDi3B,SAAUuvC,IACVr0F,GAAI,UAAY6tB,IAEpBqd,eAAA,SAAOC,UAAU,iCAAiCygD,QAAS,UAAY/9D,EAAIud,SAAC,kDAKnFjuB,EAAK3Q,SACF6+B,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAA,OAAKC,UAAU,OAAOoJ,MAAO,CAAEqC,UAAW,OAAQlC,MAAO,UAAWiC,SAAU,IAAKvL,SAAC,sBACpFC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACtBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI4Z,SAAUwvC,IACVxI,eAAgB3uE,EAAK1Q,eAAeb,QACpCwwC,SAAU83C,EAA4BrmE,EAAK,sBAAuB,WAClEP,KAAK,WACLttB,GAAI,UAAY6tB,IAEpBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,UAAY/9D,EAAIud,SAAC,sBAEtEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI4Z,SAAUwvC,IACVxI,eAAgB3uE,EAAK1Q,eAAeZ,UACpCuwC,SAAU83C,EAA4BrmE,EAAK,sBAAuB,aAClEP,KAAK,WACLttB,GAAI,YAAc6tB,IAEtBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,YAAc/9D,EAAIud,SAAC,6BAExEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI4Z,SAAUwvC,IACVxI,eAAgB3uE,EAAK1Q,eAAeX,OACpCswC,SAAU83C,EAA4BrmE,EAAK,sBAAuB,UAClEP,KAAK,WACLttB,GAAI,SAAW6tB,IAEnBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,SAAW/9D,EAAIud,SAAC,iBAGzEC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACtBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI4Z,SAAUwvC,IACVxI,eAAgB3uE,EAAK1Q,eAAerE,MACpCg0C,SAAU83C,EAA4BrmE,EAAK,sBAAuB,SAClEP,KAAK,WACLttB,GAAI,QAAU6tB,IAElBqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,QAAU/9D,EAAIud,SAAC,8BAEnEjuB,EAAK1Q,eAAerE,OACjB8iC,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAC/EF,eAAA,SACI5d,KAAK,OACLttB,GAAG,aACHu0C,MAAO,CAAEsF,MAAO,SAChBiL,UAAQ,EACR3Z,UAAU,UACVkR,YAAY,6BACZD,SAzjBrBlO,IACfrF,KACAtpC,KAAKiqC,MAAM2qD,0BAA0BjmD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,sBAAuB,eAAe,EAwjBhEwnD,aAAcl4D,EAAK1Q,eAAeV,uBAO1Ds/B,gBAACgU,KAAKrD,IAAG,CAAA5Q,SAAA,CACLC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI4Z,SAAUuvC,IACVvI,eAAgB3uE,EAAKxQ,eACrByvC,SAAU83C,EAA4BrmE,EAAK,OAAQ,kBACnDP,KAAK,WACLvY,OAAO,EACP/U,GAAI,iBAAmB6tB,IAE3Bqd,eAAA,SAAOC,UAAU,iCAAiCygD,QAAS,iBAAmB/9D,EAAIud,SAAC,wCAIvFF,eAAC+Q,KAAG,OAEP9+B,EAAKxQ,gBACF0+B,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,YAAWC,SAAA,CAC3BF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAOxT,UAAU,YAAWC,SAAC,+CACrCF,eAAC+Q,KAAG,CAAC0C,GAAG,OAAMvT,SACVF,eAAA,SACI5d,KAAK,OACLw3B,UAAQ,EACR1I,SAnlBflO,IACbrF,KACAtpC,KAAKiqC,MAAM2qD,0BAA0BjmD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,OAAQ,cAAc,EAklBxDwnD,aAAcl4D,EAAKvQ,YACnBu+B,UAAU,sBAK1BD,eAACmU,KAAKrD,IAAG,CAAA5Q,SACLC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,QAAU6tB,EACdi3B,SAAUuvC,IACVvI,eAAgB3uE,EAAK7Q,MACrB8vC,SAAU83C,EAA4BrmE,EAAK,OAAQ,WAEvDqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,QAAU/9D,EAAIud,SAAC,eAGvEjuB,EAAK7Q,OACF++B,gBAAAyH,YAAA,CAAA1H,SAAA,CACIF,eAAA,OAAKC,UAAU,OAAOoJ,MAAO,CAAEqC,UAAW,OAAQlC,MAAO,UAAWiC,SAAU,IAAKvL,SAAC,sBACpFC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACtBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,cAAgB6tB,EACpBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAanL,YAClCg7C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,iBAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,cAAgB/9D,EAAIud,SAAC,oBAE1EC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,UAAY6tB,EAChBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAajL,QAClC86C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,aAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,UAAY/9D,EAAIud,SAAC,eAEtEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,WAAa6tB,EACjBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAahL,SAClC66C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,cAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,WAAa/9D,EAAIud,SAAC,mBAG3EC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACtBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,WAAa6tB,EACjBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAa/K,SAClC46C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,cAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,WAAa/9D,EAAIud,SAAC,gBAEvEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,SAAW6tB,EACfi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAa9K,OAClC26C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,YAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,SAAW/9D,EAAIud,SAAC,cAErEC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,aAAe6tB,EACnBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAa7K,WAClC06C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,gBAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,aAAe/9D,EAAIud,SAAC,qBAG7EC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,OAAMC,SAAA,CACtBC,gBAAC4Q,KAAG,CAAC0C,GAAG,OAAOpK,MAAO,CAAE6Q,QAAS,OAAQzK,WAAY,SAAU/D,UAAW,QAASxL,SAAA,CAC/EF,eAAA,SACI5d,KAAK,WACLttB,GAAI,aAAe6tB,EACnBi3B,SAAUyvC,IACVzI,eAAgB3uE,EAAK5Q,aAAa5K,WAClCy6C,SAAU83C,EAA4BrmE,EAAK,oBAAqB,gBAEpEqd,eAAA,SAAOC,UAAU,uBAAuBygD,QAAS,aAAe/9D,EAAIud,SAAC,mBAExEjuB,EAAK5Q,aAAa5K,YACfupC,eAAC+Q,KAAG,CAAC0C,GAAG,KAAIvT,SACRF,eAAA,SACI5d,KAAK,OACLw3B,UAAQ,EACR9kD,GAAI,aAAe6tB,EACnB0mB,MAAO,CAAEsF,MAAO,SAChBuC,SAtrBlBlO,IAClBrF,KACAtpC,KAAKiqC,MAAM2qD,0BAA0BjmD,EAAMuN,OAAO1mC,MAAO8Y,EAAK,oBAAqB,mBAAmB,EAqrBlEsd,UAAU,UACVkqC,aAAcl4D,EAAK5Q,aAAa3K,iBAChCy6C,YAAY,4CAS1C,EA1pCV98C,KAAKouF,QAAUnvC,IAAMC,YAErBl/C,KAAKkI,MAAQ,CACTshD,WAAW,EACX2rC,YAAa,GAGjBn1F,KAAKspD,YAActpD,KAAKspD,YAAYle,KAAKprC,MAEzC,MAAQsuB,OAAQtuB,KAAKiqC,OACb51B,aAAU,SAAED,GAAapU,KAAKiqC,MAAM17B,YAAYiC,0BAC9Bqd,WAAfxZ,IACPrU,KAAKiqC,MAAM17B,YAAYiC,qBAAqB6D,WAAa,IAE5C,OAAbD,GACApU,KAAKiqC,MAAM6pD,0BAA0B,EAAGxlE,GAGzB,OAAfja,GACArU,KAAKiqC,MAAMgqD,4BAA4B,EAAG3lE,GAG9C,MAAM,cAAEvd,EAAeE,iBAAkBjR,KAAKiqC,MAAM17B,YAEpD,GAAsB,uBAAlBwC,EAAwC,CACxC,MAAM,IAAEud,GAAQtuB,KAAKiqC,OACf,eAAEh0B,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,GAGlD,GADqBmlB,iBAAM2hD,gBAAKn/E,EAAgB,CAAC,cAAesL,IAAkB,IAATA,IACvD,CACd,GAAI+M,IAAQgb,GACR,GAAsB,mBAAlBr4B,EACAjR,KAAKiqC,MAAMorD,yBAAyB,cACjC,CACyB5hD,iBAAMzzC,KAAKiqC,MAAM17B,YAAY+6B,IAAgBrzB,gBAAiBsL,IAAkB,IAATA,KAE/FvhB,KAAKiqC,MAAMorD,yBAAyB,SAE5C,CAEJ,GAAI/mE,IAAQgb,GAAgB,CACEmK,iBAAMzzC,KAAKiqC,MAAM17B,YAAY+6B,IAAcrzB,gBAAiBsL,IAAkB,IAATA,KAE3FvhB,KAAKiqC,MAAMorD,yBAAyB,SAE5C,CACJ,CACJ,CACJ,CAOA7pD,oBACIxrC,KAAKyyF,eACL5nD,YAAW,KACP7qC,KAAKkoF,YAAY,GAClB,IACP,CAEA7D,mBAAmBC,GACftkF,KAAKkoF,YACT,CAEAz8C,uBAAyB,CAezB6d,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAIf,EAukCW1N,oBA3uCU5zC,IACd,CACH0N,SAAU1N,EAAMqG,YAAYkC,SAASmF,SACrCrH,YAAarG,EAAMqG,YACnBkC,SAAUvI,EAAMqG,YAAYkC,SAASoF,aACrCjE,WAAY1J,EAAMqG,YAAYqD,WAAWiE,aACzC5E,cAAe/I,EAAMqG,YAAY0C,kBAIby3B,IAAQ,CAChCqrD,cAAgBplD,IACZjG,EAAS0b,GAAkBzV,EAAMuN,OAAO0H,SAAS,EAErDywC,eAAgBA,CAAC1lD,EAAOrgB,EAAKD,KACzBqa,EAAS0b,GAAmBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAE/DylE,0BAA2BA,CAAClgF,EAAO0a,KAC/Boa,EAAS0b,GAA8BxwC,EAAO0a,GAAK,EAEvDulE,uBAAwBA,CAACzlE,EAAGE,KACxBoa,EAAS0b,GAA2Bh2B,EAAGE,GAAK,EAEhD2lE,4BAA6BA,CAACrgF,EAAO0a,KACjCoa,EvD3PD,SAAqC1I,EAAG1R,GAC3C,MAAO,CAAEP,KAAMnH,EAAyCoH,QAASgS,EAAG1R,IAAIA,EAC5E,CuDyPiB81B,CAAgCxwC,EAAO0a,GAAK,EAEzDolE,yBAA0BA,CAACtlE,EAAGE,KAC1Boa,EvDpQD,SAAkC1I,EAAG1R,GACxC,MAAO,CAAEP,KAAMnH,EAAsCoH,QAASgS,EAAG1R,IAAIA,EACzE,CuDkQiB81B,CAA6Bh2B,EAAGE,GAAK,EAElDqlE,4BAA6BA,CAAC//E,EAAO0a,KACjCoa,EvDpQD,SAAqC1I,EAAG1R,GAC3C,MAAO,CAAEP,KAAMnH,EAAyCoH,QAASgS,EAAG1R,IAAIA,EAC5E,CuDkQiB81B,CAAgCxwC,EAAO0a,GAAK,EAEzDglE,yBAA0BA,CAAC3kD,EAAO/6B,EAAO0a,KACrCoa,EvDjQD,SAAkC1I,EAAG5R,EAAGE,GAC3C,MAAO,CAAEP,KAAMnH,EAAsCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAIA,EACnF,CuD+PiB81B,CAA6BzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAAK,EAE1EilE,4BAA6BA,CAAC5kD,EAAO/6B,EAAO0a,KACxCoa,EvDjQD,SAAqC1I,EAAG5R,EAAGE,GAC9C,MAAO,CAAEP,KAAMnH,EAAyCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACvF,CuDgQY81B,CAAgCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAC9D,EAEL6kE,4BAA6BA,CAACxkD,EAAO/6B,EAAO0a,KACxCoa,EvDnQD,SAAqC1I,EAAG5R,EAAGE,GAC9C,MAAO,CAAEP,KAAMnH,GAAyCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACvF,CuDkQY81B,CAAgCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAC9D,EAELmlE,gCAAiCA,CAAC9kD,EAAO/6B,EAAO0a,KAC5Coa,EvDrQD,SAAyC1I,EAAG5R,EAAGE,GAClD,MAAO,CAAEP,KAAMnH,GAA6CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EAC3F,CuDoQY81B,CAAoCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAClE,EAELklE,8BAA+BA,CAAC7kD,EAAO/6B,EAAO0a,KAC1Coa,EvDrPD,SAAuC1I,EAAG5R,EAAGE,GAChD,MAAO,CAAEP,KAAMnH,GAA2CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACzF,CuDoPY81B,CAAkCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAChE,EAELgnE,+BAAgCA,CAAC9/E,EAAO5B,EAAO0a,KAC3Coa,EvD5QD,SAAwC1I,EAAG5R,EAAGE,GACjD,MAAO,CAAEP,KAAMnH,GAA4CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EAC1F,CuD0QiB81B,CAAmC5uC,EAAO5B,EAAO0a,GAAK,EAEnE8gE,kBAAmBA,CAACzgD,EAAOrgB,EAAKD,KAC5Bqa,EAAS0b,GAAsBzV,EAAOrgB,EAAKD,GAAM,EAErD28B,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAOrgB,EAAKD,GAAM,EAEtDomE,uBAAwBA,CAACj/E,EAAO8Y,EAAKD,KACjCqa,EAAS0b,GAA2B5uC,EAAO8Y,EAAKD,GAAM,EAE1DumE,0BAA2BA,CAACp/E,EAAO8Y,EAAKa,EAASd,KAC7Cqa,EAAS0b,GAA8B5uC,EAAO8Y,EAAKa,EAASd,GAAM,KAuqCd,KAAM,CAC9Di9B,YAAY,GADDxP,CAEZ02C,IAoGI,MAAM+C,WAAqBvrD,YAC9BjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAYhBwoD,aAAe,KACX5nD,YACI,IAAM7qC,KAAKypC,SAAS,CAAE0rD,YAAan1F,KAAK0yF,qBACxC,IACH,EACJ,KAuBDxK,WAAa,KACT,MAAMroC,EAAO7/C,KAAKiqC,MAAM0oD,KAAK/oD,QACvBu+C,EAAmB,OAAJtoC,QAAI,IAAJA,OAAI,EAAJA,EAAMuoC,SAC3B,GAAID,GAAwC,IAAxBA,EAAav6D,OAAc,CAC3C,IAAIy6D,EAAa,EACbC,EAAU,EACd,IAAK,IAAIl6D,EAAI,EAAGA,EAAI+5D,EAAav6D,OAAQQ,IAAK,CAC1C,MAAMm6D,EAAUJ,EAAa/5D,GACxB,CAAC,SAAU,WAAY,UAAUjB,SAASo7D,EAAQx6D,QACnDs6D,IACKz4C,mBAAQ24C,EAAQ/yE,QACjB8yE,IAGZ,CACA,MAAME,EAAgB/5D,KAAK4L,MAAOiuD,EAAUD,EAAc,KAC1Dj3D,eAAe0M,QAAQ,gBAAiB0qD,EAC5C,GACH,KAED9lC,SAAW,KACP,MAAM,IAAEp0B,GAAQtuB,KAAKiqC,OACf,eAAEh0B,GAAmBjW,KAAKiqC,MAAM17B,YAAY+f,IAAQ,CAAC,EAExC,OAAdrY,QAAc,IAAdA,KAAgBsE,QACjBva,KAAKiqC,MAAM+gB,mBACP,IAAK/0C,EAAgBsE,QAAQ,GAC7B+T,EACA,iBAER,EACH,KAWDknE,gBAAmBnuD,IACfiC,KAEA,MAAM+a,EAAyB,SAAnBhd,EAAE6U,OAAO1mC,MACrBxV,KAAKiqC,MAAMoqD,eACP,CAAEn4C,OAAQ,CAAE1mC,MAAO6uC,IACnBrkD,KAAKiqC,MAAM3b,IACX,oBACH,EACJ,KAEDokE,gBAAkBT,GAAU7mD,KAAKprC,MAAK,KAEtCy1F,iBAAmB,CAACpxC,EAAKzwC,KACrB,GAAI,OAASywC,EAAK,MAAO,GAEzB,MAAM,OAAEljC,EAAM,SAAEC,EAAQ,UAAEC,EAAS,IAAEnV,EAAG,YAAED,GAAgBo4C,EAE1D,OAAOrkD,KAAK01F,gBACR9hF,EACAuN,EACAC,EACAC,EACApV,EACAC,EACH,EACJ,KAsKDypF,aAAe,CAACtxC,EAAKzwC,KACjB,MAAM,UAAE6M,EAAS,UAAEC,EAAS,OAAEE,EAAM,YAAE3U,EAAW,MAAEuJ,EAAK,IAAEtJ,GAAQm4C,EAClE,OAAOrkD,KAAK41F,YAAYhiF,EAAO6M,EAAWC,EAAWE,EAAQ3U,EAAauJ,EAAOtJ,EAAI,EACxF,KAED0pF,YAAc,CAAChiF,EAAO6M,EAAWC,EAAWE,EAAQ3U,EAAauJ,EAAOtJ,KACpE,MAWM2pF,EAAoBxuD,IACtBrnC,KAAKiqC,MAAM6rD,mBAAmBzuD,EAAI,EAAI,EAAIA,EAAG,QAASzzB,EAAM,EAyB1DmiF,EAAqB1uD,IACvBrnC,KAAKiqC,MAAM6rD,mBAAmBzuD,EAAE6U,OAAO1mC,MAAO,cAAe5B,EAAM,EAEjEw/E,EAAY,GAAA1xF,OAAM1B,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,UAC/Fi9E,EAAc,GAAA3xF,OAAM1B,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,UAUrG4/E,EAAoB79D,IACtBn4B,KAAKiqC,MAAM6rD,mBAAmB39D,EAAK,SAAUvkB,GAC7C,IAAIqiF,EAAO,EACX3sD,GAAoBla,SAASyQ,IACrBA,EAAG,KAAO1H,IACV89D,EAAOp2D,EAAG,GACG,KAATo2D,IAAaA,EAAO3sD,GAAgBzJ,EAAG,KAC/C,IAEQ,UAAR1H,IAAiB89D,EAAO,GAE5Bj2F,KAAKiqC,MAAM6rD,mBAAmBG,EAAM,oBAAqBriF,EAAM,EAU7DsiF,EAAmBvnD,IACP,cAAVA,EACA3uC,KAAKiqC,MAAM6rD,oBAAmB,EAAM,YAAaliF,GAChC,iBAAV+6B,EACP3uC,KAAKiqC,MAAM6rD,oBAAmB,EAAO,YAAaliF,GAC/C5T,KAAKiqC,MAAM6rD,mBAAmB,KAAM,YAAaliF,EAAM,GAG5D,MAAEa,GAAUzU,KAAKiqC,MAAM17B,YAAYiC,sBACnC,cAAES,EAAa,QAAEE,GAAYnR,KAAKiqC,MAAM17B,YAG9C,OACIo9B,eAAA,OAAwBC,UAAU,gBAAeC,SAC7CF,eAAA,OAAKC,UAAU,mBAAmBoJ,MAAO,CAAEqG,QAAS,QAASxP,SACzDC,gBAAC2Q,KAAG,CAACzH,MAAO,CAACuF,SAAU,YAAY1O,SAAA,CAC/BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,uBAAsBC,SAAA,CACtCF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,YAAczpE,EAAI2/B,SAAA,CACrCF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,eAGlCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAAO,CAAC,aAAc,uBAAwB,SAAS2X,SAAS1M,GAAaA,EAAY,GACzFo8B,SA7FdxuB,IACdgZ,IACJrnC,KAAKiqC,MAAM6rD,mBAAmBzuD,EAAGhZ,EAAMza,EAAM,EA2FHuiF,CAAiB,aAAatqD,SAAA,CAExCF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,aAAYq2B,SAAC,cAClCF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,uBAAsBq2B,SAAC,mBAC5CF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,QAAOq2B,SAAC,oBAK7CC,gBAAC4Q,KAAG,CAAC9Q,UAAU,OAAMC,SAAA,CACjBC,gBAACgU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAA,CAAC,gBAE9BF,eAACi1C,GAAI,CACD5qC,UAAU,SACVC,MAAM,oDAGdtK,eAACmU,KAAKwU,MAAK,CAACqhB,UAAW,YAAczpE,EAAI2/B,SACrCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAvDnB4gF,MACjB,MAAM,MAAE3hF,GAAUzU,KAAKiqC,MAAM17B,YAAYiC,qBACzC,OAA+B,IAA3BiE,EAAMb,GAAO8M,UAA2B,aACb,IAA3BjM,EAAMb,GAAO8M,UAA4B,eACtC,EAAE,EAmDkC01E,GACPv5C,SAAWxV,GAAM6uD,EAAgB7uD,GAAGwE,SAAA,CAEpCF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,YAAWq2B,SAAC,cACjCF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,eAAcq2B,SAAC,4BAKpDF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,SAAWzpE,EAAI2/B,SAAA,CAClCF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SApHpCwqD,MACzB,MAAM,MAAE5hF,GAAUzU,KAAKiqC,MAAM17B,YAAYiC,qBACnCwvB,EAAIvrB,EAAMb,GAAOgN,OACvB,GAAU,UAANof,EAAe,MAAO,SAE1B,IAAIs2D,EAAO,GAOX,OANAhtD,GAAoBla,SAASyQ,IACrBG,IAAMH,EAAG,KACTy2D,EAAOz2D,EAAG,GACd,IAGS,KAATy2D,EAAoB,SAGpBxqD,gBAAAyH,YAAA,CAAA1H,SAAA,CAAE,SAEEF,eAACi1C,GAAI,CAACjR,QAAS2mB,EAAMtgD,UAAU,SAASC,MAAM,aAC/C,EAmG0BogD,KAEL1qD,eAAA,OAAAE,SACIF,eAACsX,KAAM,CACHpG,SAAWxV,IAAQ2uD,EAAiB3uD,EAAE,EACtC2N,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAAOf,EAAMb,GAAO+M,mBAAqBlM,EAAMb,GAAOgN,OAAOirB,SAE5DvC,GAAoBpc,KACjB,CAAC2S,EAAIjsB,KACD,IAAIqiF,EAAOp2D,EAAG,GAId,MAHI,KAAOo2D,IACPA,EAAO3sD,GAAgBzJ,EAAG,KAG1B8L,eAACsX,KAAO8hC,OAAM,CAAavvE,MAAOqqB,EAAG,GAAGgM,SAAGoqD,GAAvBriF,EAA4C,aAQ5F+3B,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,aAAezpE,EAAK0/B,UAAU,qBAAoBC,SAAA,CACrEF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,iBAGlCF,eAAA,OAAKqJ,MAAO,CAAC,EAAEnJ,SACXF,eAAComD,GAAW,CACRl1C,SAAWxV,GAAMwuD,EAAiBxuD,GAClC7xB,MAAOf,EAAMb,GAAO4B,UAG5Bm2B,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,oCAK3B,mBAAlB56B,GAAsCE,GACnC26B,gBAAC4Q,KAAG,CAAC9Q,UAAU,OAAMC,SAAA,CACjBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,cAGlCF,eAAA,OAAAE,SACIC,gBAACmX,KAAM,CACHjO,MAAO,CAAEsF,MAAO,OAAQD,OAAQ,IAChC7kC,MAtIhB,IAAhBvJ,EAA0BmnF,EACV,IAAhBnnF,EAA0BonF,EACV,IAAhBpnF,EAA0B,QACvB,GAoI6B4wC,SAAWxV,GAAM0uD,EAAkB,CAAE75C,OAAQ,CAAE1mC,MAAO6xB,KAAOwE,SAAA,CAE7DF,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,IAAGq2B,SAAEunD,IAC1BznD,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,IAAGq2B,SAAEwnD,IAC1B1nD,eAACsX,KAAO8hC,OAAM,CAACvvE,MAAM,IAAGq2B,SAAC,uBAQjDC,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhF,GAAG,MAAM5C,MAAO,CAACuF,SAAU,WAAY1jB,MAAO,OAAQ+U,UAAU,gCAA+BC,SAAA,CAC1GF,eAAA,KACIgS,OAAQ/pC,IAAUa,EAAMmZ,OAAS,EACjCge,UAAU,uEACVY,QAjMPnF,IACbrnC,KAAKiqC,MAAMssD,iBAAiB,IAkMZ5qD,eAAA,KACIgS,OAAQ/pC,IAAUa,EAAMmZ,OAAS,EACjCge,UAAU,8DAA6DC,SAEtE,MAELF,eAAA,KACIC,UAAU,mEACVY,QA9MJnF,IAChBrnC,KAAKiqC,MAAMusD,mBAAmB5iF,EAAM,aAoF1B,OAAS1H,EA8Hb,EAEb,KAEDuqF,cAAgB,CAACpyC,EAAKzwC,KAClB,MAAM,YAAE7J,EAAW,MAAEyL,EAAK,YAAEvJ,EAAW,IAAEC,GAAQm4C,EACjD,OAAOrkD,KAAK02F,gBAAgB9iF,EAAO7J,EAAayL,EAAOvJ,EAAaC,EAAI,EAC3E,KAEDyqF,eAAkBtvD,IACdiC,KAC+B,SAAnBjC,EAAE6U,OAAO1mC,MAIjBxV,KAAKiqC,MAAM2sD,sBAAsB,EAAG52F,KAAKiqC,MAAM3b,KAF/CtuB,KAAKiqC,MAAM4sD,yBAAyB,EAAG72F,KAAKiqC,MAAM3b,IAGtD,EACH,KAEDooE,gBAAkB,CAAC9iF,EAAO7J,EAAayL,EAAOvJ,EAAaC,KACvD0H,EAAQkZ,SAASlZ,GACjB,MASMkjF,EAAiCnoD,IACnCrF,KACAtpC,KAAKiqC,MAAM6sD,8BACPnoD,EACA/6B,EACA5T,KAAKiqC,MAAM3b,IACd,EAQCyoE,EAAoBpoD,IACtBrF,KACAtpC,KAAKiqC,MAAM+sD,yBAAyBroD,EAAO,YAAa/6B,GAExD,IAAI7J,EAAc,GAClBu/B,GAA0Bla,SAASyQ,IAC3B8O,IAAU9O,EAAG,KACb91B,EAAc81B,EAAG,GACrB,IAGU,UAAV8O,EACA3uC,KAAKiqC,MAAM+sD,yBAAyB,GAAI,cAAepjF,GAEvD5T,KAAKiqC,MAAM+sD,yBACPjtF,EACA,cACA6J,GAIR+0B,IAAiB,GAoBf,YAAEh0B,GAAgB3U,KAAKiqC,MAAM17B,YAAYiC,sBACzC,cAAES,EAAa,QAAEE,GAAYnR,KAAKiqC,MAAM17B,YAE9C,OACIo9B,eAAA,OAAyBC,UAAU,gBAAeC,SAC9CF,eAAA,OAAKC,UAAU,mBAAmBoJ,MAAO,CAAEqG,QAAS,QAASxP,SACzDC,gBAAC2Q,KAAG,CAACzH,MAAO,CAACuF,SAAU,YAAY1O,SAAA,CAC/BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,uBAAsBC,SAAA,CACtCF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,gBAAe9pC,SAAA,CACjCF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SA5B1CorD,MACnB,MAAM,YAAEtiF,GAAgB3U,KAAKiqC,MAAM17B,YAAYiC,qBACzCwvB,EAAIrrB,EAAYf,GAAO6M,UAC7B,GAAU,UAANuf,EAAe,MAAO,uBAE1B,IAAIs2D,EAAO,GAOX,OANAhtD,GAA0Bla,SAASyQ,IAC3BG,IAAMH,EAAG,KACTy2D,EAAOz2D,EAAG,GACd,IAGS,KAATy2D,EAAoB,uBAEjB3qD,eAACi1C,GAAI,CAACjR,QAAS2mB,EAAMtgD,UAAU,SAASC,MAAM,wBAAyB,EAe7CghD,KAELtrD,eAAA,OAAAE,SACIF,eAACsX,KAAM,CACHjO,MAAO,CAAEqF,OAAQ,GAAIC,MAAO,QAC5B9kC,MAAOb,EAAYf,GAAO7J,aAAe4K,EAAYf,GAAO6M,UAC5Do8B,SAAWxV,GAAM0vD,EAAiB1vD,GAAGwE,SAEpCvC,GAA0Bpc,KACvB,CAAC2S,EAAIjsB,IAEG+3B,eAACsX,KAAO8hC,OAAM,CAAamS,SAAUH,EAAkBvhF,MAAOqqB,EAAG,GAAGgM,SAC/DhM,EAAG,IADYjsB,cAUhD+3B,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,UAAU/pC,UAAU,YAAWC,SAAA,CACjDF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,UAGlCF,eAAA,OAAKqJ,MAAO,CAAC,EAAEnJ,SACXF,eAAComD,GAAW,CACRv8E,MAAOb,EAAYf,GAAO4B,MAC1BqnC,SAAWxV,GACPyvD,EAA8BzvD,EAAI,EAAI,EAAIA,GAE9C85C,OAAQnhF,KAAKyyF,iBAGrB9mD,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,0CAK3B,mBAAlB56B,GAAsCE,GACnC26B,gBAAC4Q,KAAG,CAAC9Q,UAAU,OAAMC,SAAA,CACbF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,cAGlCF,eAACmU,KAAKwU,MAAK,CAACqhB,UAAU,aAAY9pC,SAC9BC,gBAACgU,KAAKwF,QAAO,CACT5rC,KAAK,aACLk+B,GAAG,SACHjlB,KAAK,KACLmjD,aAAc7pE,EACd4wC,SA7GClO,IACzCrF,KACAtpC,KAAKiqC,MAAMktD,oCAAoCxoD,EAAO/6B,EAAM,EA8GpB2xC,UAAQ,EAAA1Z,SAAA,CAERF,eAAA,UAAQn2B,MAAM,GAAEq2B,SAAC,QAGjBF,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAA,GAAAnqC,OAAK1B,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,YACnGu1B,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAA,GAAAnqC,OAAK1B,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,SAAQ,OAC/Gu1B,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAC,uBAS9CC,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhF,GAAG,MAAM5C,MAAO,CAACuF,SAAU,WAAY1jB,MAAO,OAAQ+U,UAAU,+BAA8BC,SAAA,CACzGF,eAAA,KACIgS,OAAQ/pC,IAAUe,EAAYiZ,OAAS,EACvCge,UAAU,uEACVY,QAtJOmC,IAC3BrF,KACAtpC,KAAKiqC,MAAM2sD,sBAAsBjoD,EAAO3uC,KAAKiqC,MAAM3b,IAAI,IAsJvCqd,eAAA,KACIgS,OAAQ/pC,IAAUe,EAAYiZ,OAAS,EACvCge,UAAU,8DAA6DC,SAEtE,MAELF,eAAA,KACIC,UAAU,mEACVY,QA5JUmC,IAC9BrF,KACAtpC,KAAKiqC,MAAMmtD,yBAAyBzoD,EAAO/6B,EAAO5T,KAAKiqC,MAAM3b,IAAI,aA8DvD,QAAUpiB,EAiGd,EAEb,KAEDmrF,gBAAkB,CAACzjF,EAAOxE,EAAUD,EAASG,EAASrD,EAAaoD,EAAanD,KAC5E0H,EAAQkZ,SAASlZ,GAEjB,MA+BMsjF,EAAY7vD,IACdiC,KACAtpC,KAAKiqC,MAAMqtD,8BACP,CAAEp7C,OAAQ,CAAE1mC,MAAO6xB,IACnBzzB,EACA5T,KAAKiqC,MAAM3b,IACd,EAGL,IAAI0rC,EACJ1wB,GAAqBla,SAASkY,IACtBA,EAAE,KAAOj4B,IAAa2qD,EAAK1yB,EAAE,GAAE,SAGnCzZ,IAAcmsC,IAAI3qD,EAAc2qD,GAEpC,MAAM,cAAE/oD,EAAa,QAAEE,GAAYnR,KAAKiqC,MAAM17B,aACxC,SAAE6F,GAAapU,KAAKiqC,MAAM17B,YAAYiC,qBAE5C,OACIm7B,eAAA,OAAeC,UAAU,gBAAeC,SACpCF,eAAA,OAAKC,UAAU,mBAAmBoJ,MAAO,CAAEqG,QAAS,QAASxP,SACzDC,gBAAC2Q,KAAG,CAACzH,MAAO,CAACuF,SAAU,YAAY1O,SAAA,CAC/BF,eAAC+Q,KAAG,CAAA7Q,SACAC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,uBAAsBC,SAAA,CACtCF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,OAAO/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CACxDF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,wBAAuBC,SAAC,gBAG9CF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,WAAa9F,EACnB4wC,WAAS,EACTz2B,KAAK,OACL+nD,aAAc1mE,EACdytC,SAjEhBlO,IAChBrF,KACAtpC,KAAKiqC,MAAMstD,uBAAuB5oD,EAAO/6B,EAAO5T,KAAKiqC,MAAM3b,IAAI,EAgE/BunD,QAAQ,iCAEZlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,2DAK9CF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW,OAAS/hE,EAAOg4B,UAAU,YAAWC,SAAA,CACxDF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,wBAAuBC,SAAC,iBAG9CF,eAAA,OAAAE,SACIF,eAACsX,KAAM,CACHpG,SAAWxV,GAAM6vD,EAAS7vD,GAC1B2N,MAAO,CAAEqF,OAAQ,GAAIC,MAAO,QAC5B9kC,MAAOpB,EAASR,GAAOvE,YAAYw8B,SAElCvC,GAAqBpc,KAClB,CAAC2S,EAAIjsB,IAEG+3B,eAACsX,KAAO8hC,OAAM,CAAavvE,MAAOqqB,EAAG,GAAGgM,SACnChM,EAAG,IADYjsB,cAUhD+3B,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,UAAU/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC3DF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,wBAAuBC,SAAC,mBAG9CF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACLqiB,MAAO,CAAC,EACRuQ,UAAQ,EACR7rC,KAAM,UAAY9F,EAClBma,KAAK,OACL+nD,aAAc3mE,EACd0tC,SA1GblO,IACnBrF,KACAtpC,KAAKiqC,MAAMutD,0BAA0B7oD,EAAO/6B,EAAO5T,KAAKiqC,MAAM3b,IAAI,EAyGlCwuB,YAAY,mBACZ+4B,QAAQ,iCAEZlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,wCAK9CF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAU,UAAU/pC,UAAU,YAAYjZ,KAAK,KAAIkZ,SAAA,CAC3DF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,YAGlCF,eAAA,OAAAE,SACIF,eAAComD,GAAW,CACRv8E,MAAOlG,EACPwmE,aAAcxmE,EACd6xE,OAAQnhF,KAAKyyF,eACb51C,SAzHLlO,IAC/BrF,KACAtpC,KAAKiqC,MAAMwtD,0BAA0B9oD,EAAO/6B,EAAO5T,KAAKiqC,MAAM3b,IAAI,MA0HtCqd,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,yCAK3B,mBAAlB56B,GAAsCE,GACnC26B,gBAAC4Q,KAAG,CAAC9Q,UAAU,OAAMC,SAAA,CACjBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,cAGlCF,eAACmU,KAAKwU,MAAK,CAACqhB,UAAU,aAAY9pC,SAC9BC,gBAACgU,KAAKwF,QAAO,CACT5rC,KAAK,aACLk+B,GAAG,SACHjlB,KAAK,KACLmjD,aAAc7pE,EACd4wC,SAlIblO,IACvBrF,KACAtpC,KAAKiqC,MAAMytD,8BACP/oD,EACA/6B,EACA5T,KAAKiqC,MAAM3b,IACd,EA6HmCi3B,UAAQ,EAAA1Z,SAAA,CAERF,eAAA,UAAQn2B,MAAM,GAAEq2B,SAAC,QACjBF,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAA,GAAAnqC,OAAK1B,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,YACnGu1B,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAA,GAAAnqC,OAAK1B,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,SAAQ,OAC/Gu1B,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAC,uBAO1CC,gBAAC4Q,KAAG,CAACE,GAAG,OAAOhF,GAAG,MAAM5C,MAAO,CAACuF,SAAU,WAAY1jB,MAAO,OAAQ+U,UAAU,+BAA8BC,SAAA,CACzGF,eAAA,KACIgS,OAAQ/pC,IAAUQ,EAASwZ,OAAS,EACpCge,UAAU,uEACVY,QAxJQmC,IAC5BrF,KACOtpC,KAAKiqC,MAAM4pD,uBAAuBllD,EAAO3uC,KAAKiqC,MAAM3b,QAwJ3Cqd,eAAA,KACIgS,OAAQ/pC,IAAUQ,EAASwZ,OAAS,EACpCge,UAAU,8DAA6DC,SAEtE,MAELF,eAAA,KACIC,UAAU,mEACVY,QAnLWmC,IAC/BrF,KACAtpC,KAAKiqC,MAAM0tD,0BAA0B/jF,EAAO5T,KAAKiqC,MAAM3b,IAAI,aAiDjDpiB,EAqIJ,EAEb,KAED0rF,QAAU,CAACvzC,EAAKzwC,KACZ,MAAM,SAAExE,EAAQ,QAAED,EAAO,IAAEjD,EAAG,QAAEoD,EAAO,YAAErD,EAAW,YAAEoD,GAAgBg1C,EACtE,OAAOrkD,KAAKq3F,gBAAgBzjF,EAAOxE,EAAUD,EAASG,EAASrD,EAAaoD,EAAanD,EAAI,EAx2B7FlM,KAAKkI,MAAQ,CACTshD,WAAW,EACX2rC,YAAa,GAGjBn1F,KAAKspD,YAActpD,KAAKspD,YAAYle,KAAKprC,MACzCA,KAAK6/C,KAAOZ,IAAMC,YAClBl/C,KAAKouF,QAAUnvC,IAAMC,WACzB,CASA1T,oBACIxrC,KAAKyyF,eAEL,MAAM,MAAEh+E,EAAK,YAAEE,GAAgB3U,KAAKiqC,MAAM17B,YAAYiC,qBACxC,OAAViE,GACAzU,KAAKiqC,MAAMonB,oBAEX,OAAS18C,GACT3U,KAAKiqC,MAAM4sD,yBAAyB,EAAG72F,KAAKiqC,MAAM3b,KAEtDuc,YAAW,KACP7qC,KAAKkoF,YAAY,GAClB,IACP,CAEA7D,mBAAmBC,GACftkF,KAAKkoF,YACT,CAEAz8C,uBAAwB,CAmCxB6d,cACI,QAAKtpD,KAAK6/C,KAAKjW,QAAQ2f,mBACnBvpD,KAAKypC,SAAS,CAAE+f,WAAW,KACpB,EAIf,CA8BAksC,gBAAgB9hF,EAAOuN,EAAQC,EAAUC,EAAWpV,EAAaC,GAC7D0H,EAAQkZ,SAASlZ,GAEjB,MAAMikF,EAAgCxpE,GAC1BsgB,IACJrF,KACAtpC,KAAKiqC,MAAM4tD,6BAA6BlpD,EAAO/6B,EAAOya,EAAK,GAa7D,cAAEzZ,GAAkB5U,KAAKiqC,MAAM17B,YAAYiC,sBAC3C,cAAES,EAAa,QAAEE,GAAYnR,KAAKiqC,MAAM17B,YAExC6kF,EAAY,GAAA1xF,OAAM1B,KAAKiqC,MAAM17B,YAAYkC,SAASyF,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYkC,SAAS2F,UAC/Fi9E,EAAc,GAAA3xF,OAAM1B,KAAKiqC,MAAM17B,YAAYqD,WAAWsE,UAAS,KAAAxU,OAAI1B,KAAKiqC,MAAM17B,YAAYqD,WAAWwE,UAE3G,OACIu1B,eAAA,OAAKC,UAAU,uBAAsBC,SACjCC,gBAAC2Q,KAAG,CAAA5Q,SAAA,CACAF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAMC,SACjBC,gBAACgU,KAAKrD,IAAG,CAAC7Q,UAAU,GAAEC,SAAA,CAClBF,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,WAAUC,SAC/BC,gBAACgU,KAAKwU,MAAK,CACPqhB,UAAW,cAAgB/hE,EAC3Bg4B,UAAU,qBAAoBC,SAAA,CAE9BF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,YAGlCF,eAACmU,KAAKwF,QAAO,CACTswB,SAAS,EACTjjD,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,SAAW9F,EACjBma,KAAK,OACL+nD,aACIlhE,EAAchB,GAAOuN,OAEzB07B,SAAUg7C,EACN,UAEJhiB,QAAQ,iCAEZlqC,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,gCAK9CF,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,uBAAsBC,SAC3CC,gBAACgU,KAAKwU,MAAK,CACPqhB,UAAW,OAAS/hE,EACpBg4B,UAAU,qBAAoBC,SAAA,CAE9BF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,eAGlCF,eAACqkD,GAAc,CACXr9D,KAAK,KACL4yB,UAAQ,EACR47B,OAAQnhF,KAAKyyF,aACb/4E,KAAM,SAAW9F,EACjBkiE,aACIlhE,EAAchB,GAAOwN,SAEzBy7B,SAAUg7C,EACN,YAEJx0C,IAAK,IAET1X,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,4CAK9CF,eAAC+Q,KAAG,CAACE,GAAG,OAAOhR,UAAU,gBAAeC,SACpCC,gBAACgU,KAAKwU,MAAK,CACPqhB,UAAW,OAAS/hE,EACpBg4B,UAAU,oBAAmBC,SAAA,CAE7BF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,gBAGlCF,eAACqkD,GAAc,CACXr9D,KAAK,KACL4yB,UAAQ,EACR7rC,KAAM,SAAW9F,EACjBkiE,aACIlhE,EAAchB,GAAOyN,UAEzBw7B,SAAUg7C,EACN,aAEJx0C,IAAK,IAET1X,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAAC,4CAK3B,mBAAlB56B,GAAsCE,GACnC26B,gBAAC4Q,KAAG,CAACE,GAAG,OAAM/Q,SAAA,CACVF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,YAAWC,SAAC,cAGlCF,eAACmU,KAAKwU,MAAK,CAACqhB,UAAU,aAAY9pC,SAC9BC,gBAACgU,KAAKwF,QAAO,CACT5rC,KAAK,aACLk+B,GAAG,SACHjlB,KAAK,KACLmjD,aAAc7pE,EACds5C,UAAQ,EACR1I,SAAUg7C,EACN,eACFhsD,SAAA,CAEFF,eAAA,UAAQn2B,MAAM,GAAEq2B,SAAC,QACjBF,eAAA,UAAQn2B,MAAM,IAAGq2B,SACZunD,IAELznD,eAAA,UAAQn2B,MAAM,IAAGq2B,SACZwnD,IAEL1nD,eAAA,UAAQn2B,MAAM,IAAGq2B,SAAC,uBAO1CC,gBAAC4Q,KAAG,CACAE,GAAG,OACHhF,GAAG,MACHhM,UAAU,gCAA+BC,SAAA,CAEzCF,eAAA,KACIgS,OAAQ/pC,IAAUgB,EAAcgZ,OAAS,EACzCge,UAAU,uEACVY,QApIUmC,IAC1BrF,KACAtpC,KAAKiqC,MAAM6tD,sBAAsB,IAoIrBnsD,eAAA,KACIgS,OAAQ/pC,IAAUgB,EAAcgZ,OAAS,EACzCge,UAAU,8DAA6DC,SAEtE,MAELF,eAAA,KACIC,UAAU,mEACVY,QAlJamC,IAC7BrF,KACAtpC,KAAKiqC,MAAM8tD,wBAAwBnkF,EAAM,WAcE1H,EAwInD,CA6lBAw/B,SACI,MAAMqkD,EAAe,CACjB,CAAEv6E,MAAO,MAAOk9B,MAAO,OACvB,CAAEl9B,MAAO,KAAMk9B,MAAO,QAGpB,IAAEpkB,GAAQtuB,KAAKiqC,OACf,SAAE71B,EAAQ,MAAEK,EAAK,YAAEE,GAAgB3U,KAAKiqC,MAAM17B,YAAYiC,qBAEhE,OACIs7B,gBAAA,OAAKF,UAAU,qCAAoCC,SAAA,CAC/CC,gBAAA,OAAKF,UAAU,8BAA6BC,SAAA,CACxCF,eAAA,QAAMC,UAAU,sBAAqBC,SAAC,YACtCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,MACxCF,eAAA,QAAMC,UAAU,wBAAuBC,SAAC,cAE5CF,eAAC8Q,KAAG,CAAC7Q,UAAU,iBAAgBC,SAC3BF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOwT,GAAI,EAAGxC,GAAI,GAAG/Q,SAChCC,gBAACgU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAAA,CAChCF,eAACmU,KAAKyU,MAAK,CAAA1oB,SACPC,gBAAA,QAAAD,SAAA,CAAM,oEAEFF,eAACi1C,GAAI,CACDjR,QACI7jC,gBAAA,OAAAD,SAAA,CAAK,6BAC0B,IAAIF,eAAA,KAAAE,SAAG,oBAAmB,2EAG7DmK,UAAU,SACVC,MAAM,8BAIlBtK,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNrrC,eAAiBrd,IACbiC,KACkB,QAANjC,EAIRrnC,KAAKiqC,MAAM4pD,uBAAuB,EAAGvlE,GAFrCtuB,KAAKiqC,MAAM6pD,0BAA0B,EAAGxlE,EAG5C,EAEJ9Y,MAAQo6B,mBAAQx7B,GAAoB,KAAR,MAC5B2Z,KAAK,QACL8wB,UAAU,uBAKxBjP,mBAAQx7B,IAAaA,EAAS8Y,IAAIltB,KAAK43F,SACzC9rD,gBAAC2Q,KAAG,CAAC7Q,UAAU,iBAAgBC,SAAA,CAC3BF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOgR,GAAI,GAAG/Q,SACzBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,QAAOC,SAAC,gIAIlCF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SACfF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNrrC,eAAiBrd,IACbiC,KACkB,QAANjC,EAERrnC,KAAKiqC,MAAMssD,kBAEXv2F,KAAKiqC,MAAMonB,mBACf,EAEJ77C,MAAQo6B,mBAAQn7B,GAAiB,KAAR,MACzBsZ,KAAK,QACL8wB,UAAU,uBAKxBjP,mBAAQn7B,IAAUA,EAAMyY,IAAIltB,KAAK21F,cACnC7pD,gBAAC2Q,KAAG,CAAC7Q,UAAU,iBAAgBC,SAAA,CAC3BF,eAAC+Q,KAAG,CAAC9Q,UAAU,OAAOgR,GAAI,GAAG/Q,SACzBF,eAACmU,KAAKyU,MAAK,CAAC3oB,UAAU,QAAOC,SAAC,8FAIlCF,eAAC+Q,KAAG,CAAC0C,GAAI,EAAGxC,GAAI,GAAG/Q,SACfF,eAACmU,KAAKwU,MAAK,CAAC1oB,UAAU,eAAcC,SAChCF,eAAC+e,GAAU,CACPz5B,KAAM8+D,EACNrrC,eAAiBrd,IACbiC,KACkB,QAANjC,EAIRrnC,KAAKiqC,MAAM2sD,sBAAsB,EAAGtoE,GAFpCtuB,KAAKiqC,MAAM4sD,yBAAyB,EAAGvoE,EAG3C,EAEJ9Y,MAAQo6B,mBAAQj7B,GAAuB,KAAR,MAC/BoZ,KAAK,QACL8wB,UAAU,uBAKxBjP,mBAAQj7B,IAAgBA,EAAYuY,IAAIltB,KAAKy2F,iBAG3D,EAGJlB,GAAez5C,aAhkCgB5zC,IACpB,CACH0N,SAAU1N,EAAMqG,YAAYkC,SAASmF,SACrCrH,YAAarG,EAAMqG,YACnBkC,SAAUvI,EAAMqG,YAAYkC,SAASoF,aACrCjE,WAAY1J,EAAMqG,YAAYqD,WAAWiE,aACzC5E,cAAe/I,EAAMqG,YAAY0C,kBAIPy3B,IAAQ,CACtC2rD,eAAgBA,CAAC1lD,EAAOrgB,EAAKD,KACzBqa,EAAS0b,GAAmBzV,EAAMuN,OAAO1mC,MAAO8Y,EAAKD,GAAM,EAE/DuoE,sBAAuBA,CAACjoD,EAAOrgB,KAC3Boa,EvDz6CD,SAA+B1I,EAAG1R,GACrC,MAAO,CAAEP,KAAMnH,GAAoCoH,QAASgS,EAAG1R,IAAIA,EACvE,CuDu6CiB81B,CAA0BzV,EAAOrgB,GAAK,EAEnD8oE,yBAA0BA,CAACzoD,EAAO/6B,EAAO0a,KACrCoa,EvDt6CD,SAAkC90B,EAAO0a,GAC5C,MAAO,CAAEP,KAAMnH,GAAuCoH,QAAQpa,EAAO0a,IAAIA,EAC7E,CuDo6CiB81B,CAA6BxwC,EAAO0a,GAAK,EAEtDuoE,yBAA0BA,CAACloD,EAAOrgB,KAC9Boa,EvDt6CD,SAAkC1I,EAAG1R,GACxC,MAAO,CAAEP,KAAMnH,GAAuCoH,QAASgS,EAAG1R,IAAIA,EAC1E,CuDo6CiB81B,CAA6BzV,EAAOrgB,GAAK,EAEtD0pE,6BAA8BA,CAACrpD,EAAO/6B,EAAO0a,KACzCoa,EvDt6CD,SAAsC1I,EAAG5R,EAAGE,GAC/C,MAAO,CAAEP,KAAMnH,GAA4CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAIA,EACzF,CuDq6CY81B,CAAiCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAC/D,EAELwoE,8BAA+BA,CAACnoD,EAAO/6B,EAAO0a,KAC1Coa,EvDx6CD,SAAuC1I,EAAG5R,EAAIE,GACjD,MAAO,CAAEP,KAAMnH,GAA6CoH,QAASgS,EAAGpsB,MAAOwa,EAAIE,IAAIA,EAC3F,CuDs6CiB81B,CAAkCzV,EAAO/6B,EAAO0a,GAAK,EAElE6oE,oCAAqCA,CAACxoD,EAAO/6B,KvDt6C1C,IAA6CosB,EuDu6C5C0I,GvDv6C4C1I,EuDw6CA2O,EAAMuN,OAAO1mC,MvDv6CtD,CAAEuY,KAAMnH,GAAmDoH,QAASgS,EAAGpsB,MuDu6CVA,IAC/D,EAELojF,yBAA0BA,CAACxhF,EAAO6Y,EAAMza,KACpC80B,EvDz6CD,SAAkC1I,EAAG3R,EAAMD,GAC9C,MAAO,CAAEL,KAAMnH,GAAuCoH,QAASgS,EAAG3R,OAAMza,MAAOwa,EACnF,CuDu6CiBg2B,CAA6B5uC,EAAO6Y,EAAMza,GAAO,EAE9DikF,6BAA8BA,CAAClpD,EAAO/6B,EAAOya,KACzCqa,EvDv+CD,SAAsC1I,EAAG5R,EAAGC,GAC/C,MAAO,CAAEN,KAAMnH,GAA4CoH,QAASgS,EAAGpsB,MAAOwa,EAAGC,KAAMA,EAC3F,CuDs+CY+1B,CAAiCzV,EAAMuN,OAAO1mC,MAAO5B,EAAOya,GAC/D,EAELijC,uBAAwBA,KACpB5oB,EAAS0b,KAA6B,EAE1C2zC,wBAA0BnkF,IvDr+CvB,IAAoCwa,EuDs+CnCsa,EvDr+CG,CAAE3a,KAAMnH,GAA4CoH,QuDq+ClBpa,EvDr+C8BA,MAAOwa,GuDq+C9B,EAEhD0pE,qBAAsBA,KvD9+CnB,IAA8B93D,EuD++C7B0I,EvD9+CG,CAAE3a,KAAMnH,GAAyCoH,QAASgS,GuD8+CzB,EAExCu2D,gBAAiBA,KACb7tD,EvDx8BG,CAAE3a,KAAMnH,IuDw8BoB,EAEnC4vE,mBAAqB5iF,IACjB80B,EvDt8BD,SAA4B90B,GAC/B,MAAO,CAAEma,KAAMnH,GAAgChT,QACnD,CuDo8BiBwwC,CAAuBxwC,GAAO,EAE3Cy9C,kBAAmBA,KACf3oB,EAAS0b,KAAwB,EAErC0xC,mBAAoBA,CAACtgF,EAAO6Y,EAAMza,KAC9B80B,EvDt8BD,SAA4BlzB,EAAO6Y,EAAMza,GAC5C,MAAO,CAAEma,KAAMnH,GAAgCpR,QAAO6Y,OAAMza,QAChE,CuDo8BiBwwC,CAAuB5uC,EAAO6Y,EAAMza,GAAO,EAExDo3C,mBAAoBA,CAACrc,EAAOrgB,EAAKD,KAC7Bqa,EAAS0b,GAAuBzV,EAAOrgB,EAAKD,GAAM,EAEtDspE,0BAA2BA,CAAC/jF,EAAO0a,KAC/Boa,EvDvjDD,SAAmC1I,EAAG1R,GACzC,MAAO,CAAEP,KAAMnH,EAAuCoH,QAASgS,EAAG1R,IAAIA,EAC1E,CuDqjDiB81B,CAA8BxwC,EAAO0a,GAAK,EAEvDipE,uBAAwBA,CAAC5oD,EAAO/6B,EAAO0a,KACnCoa,EvDpjDD,SAAgC1I,EAAG5R,EAAGE,GACzC,MAAO,CAAEP,KAAMnH,EAAoCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAIA,EACjF,CuDkjDiB81B,CAA2BzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAAK,EAExEkpE,0BAA2BA,CAAC7oD,EAAO/6B,EAAO0a,KACtCoa,EvDpjDD,SAAmC1I,EAAG5R,EAAGE,GAC5C,MAAO,CAAEP,KAAMnH,EAAuCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACrF,CuDkjDiB81B,CAA8BzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAAK,EAE3EmpE,0BAA2BA,CAAC9oD,EAAO/6B,EAAO0a,KACtCoa,EvDpjDD,SAAmC1I,EAAG5R,EAAGE,GAC5C,MAAO,CAAEP,KAAMnH,EAAuCoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACrF,CuDkjDiB81B,CAA8BzV,EAAO/6B,EAAO0a,GAAK,EAE9DulE,uBAAwBA,CAACzlE,EAAGE,KACxBoa,EAAS0b,GAA2Bh2B,EAAGE,GAAK,EAEhDopE,8BAA+BA,CAAC/oD,EAAO/6B,EAAO0a,KAC1Coa,EvDpjDD,SAAuC1I,EAAG5R,EAAGE,GAChD,MAAO,CAAEP,KAAMnH,EAA2CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACzF,CuDmjDY81B,CAAkCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAChE,EAELgpE,8BAA+BA,CAAC3oD,EAAO/6B,EAAO0a,KAC1Coa,EvD5jDD,SAAuC1I,EAAG5R,EAAGE,GAChD,MAAO,CAAEP,KAAMnH,EAA2CoH,QAASgS,EAAGpsB,MAAOwa,EAAGE,IAAKA,EACzF,CuD2jDY81B,CAAkCzV,EAAMuN,OAAO1mC,MAAO5B,EAAO0a,GAChE,EAELwlE,0BAA2BA,CAAClgF,EAAO0a,KAC/Boa,EAAS0b,GAA8BxwC,EAAO0a,GAAK,KAk+Ba,KAAM,CAC1Eg9B,YAAY,GADDxP,CAEZy5C,I,6CC3oFH,MAAMt0C,WAAqBjX,YASvBjqC,YAAYkqC,GACRC,MAAMD,GAAM,KAmBhBguD,mBAAsB5wD,IACdrnC,KAAKk4F,eAAetuD,UAAY5pC,KAAKk4F,eAAetuD,QAAQuuD,SAAS9wD,EAAE6U,SAAW7U,EAAE6U,OAAOz7C,KAAOT,KAAKiqC,MAAMxpC,IAE7GT,KAAKypC,SAAS,CACV2uD,iBAAiB,GAEzB,EACH,KACDv7C,SAAWxV,IACP,MAAM,YAAEgxD,GAAgBr4F,KAAKiqC,MAEvBquD,EAAsBD,EAAY3qD,QACpC6qD,GACIA,EAAW9kE,cAAc+L,QAAQ6H,EAAE6U,OAAO1mC,MAAMie,gBAAkB,IAE1EzzB,KAAKypC,SAAS,CACV+uD,iBAAkB,EAClBF,sBACAF,iBAAiB,IAGrBp4F,KAAKiqC,MAAM4S,SAASxV,EAAE,EACxB,KAEFmF,QAAUnF,IAENrnC,KAAKypC,SAAS,CACV+uD,iBAAkB,EAClBF,oBAAqB,GACrBF,iBAAiB,IAGrBp4F,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAO6xB,EAAE8sB,cAAcskC,YAAc,EACvE,KACFC,aAAgBljF,IACZ7W,QAAQC,IAAI4W,EAAO,sBACnB,MAAM,YAAE6iF,GAAgBr4F,KAAKiqC,MAC7B,GAAa,IAATz0B,EAKA,OAJAxV,KAAKypC,SAAS,CACVlD,QAAS,UAEbvmC,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAO,MAI3CxV,KAAKypC,SAAS,CACVlD,QAAS8xD,EAAY3qD,QAAOyX,GAAMA,EAAI1xB,cAActG,SAAS3X,EAAMie,iBAAgBvG,KAAKygB,IAC7E,CACH+E,MAAO/E,EACPn4B,MAAOm4B,QAKnB3tC,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOA,IAAU,EACnD,KAEF0hF,SAAY1hF,IACR7W,QAAQC,IAAI,WAAY4W,GACxBxV,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAOA,IAAU,EACnD,KACF2rE,OAAS95C,IACC,EAMT,KACDsxD,QAAUtxD,IACNrnC,KAAKypC,SAAS,CACV2uD,iBAAiB,GACnB,EAEL,KACDQ,UAAYvxD,IACR,MAAM,iBAAEmxD,EAAgB,oBAAEF,GAAwBt4F,KAAKkI,MAEvD,GAAkB,KAAdm/B,EAAEwxD,QASF,OAPA74F,KAAKypC,SAAS,CACV+uD,iBAAkB,EAClBJ,iBAAiB,IAErBp4F,KAAKiqC,MAAM4S,SAAS,CAAEX,OAAQ,CAAE1mC,MAAO8iF,EAAoBE,MAC3DnxD,EAAEmO,iBACFnO,EAAEgtB,mBACK,EAEN,GAAkB,KAAdhtB,EAAEwxD,QAAgB,CACvB,GAAyB,IAArBL,EACA,OAEJx4F,KAAKypC,SAAS,CAAE+uD,iBAAkBA,EAAmB,GACzD,MACK,GAAkB,KAAdnxD,EAAEwxD,QAAgB,CACvB,GAAIL,EAAmB,IAAMF,EAAoB1qE,OAC7C,OAGJ5tB,KAAKypC,SAAS,CAAE+uD,iBAAkBA,EAAmB,GACzD,GAvHAx4F,KAAKk4F,eAAiBj5C,IAAMC,YAC5Bl/C,KAAKkI,MAAQ,CACTq+B,QAAS,GACTiyD,iBAAkB,EAClBF,oBAAqB,GACrBF,iBAAiB,EAGzB,CACA5sD,oBAGIzT,SAASoT,iBAAiB,QAASnrC,KAAKi4F,mBAC5C,CAEAxsD,uBACI1T,SAAS4c,oBAAoB,QAAS30C,KAAKi4F,mBAC/C,CAyGAvsD,SACI,MAAM,SACFmR,EAAQ,UACR+7C,EACA1wF,OAAO,iBACHswF,EAAgB,oBAChBF,EAAmB,gBACnBF,IAGJp4F,KAEJ,IAAI84F,EAmCJ,OAjCIV,GAAmBp4F,KAAKiqC,MAAMz0B,QAE1BsjF,EADAR,EAAoB1qE,OAEhB+d,eAAA,MAAIC,UAAU,cAAc+S,IAAK3+C,KAAKk4F,eAAersD,SAChDysD,EAAoBprE,KAAI,CAACqrE,EAAY3kF,KAClC,IAAIg4B,EAOJ,OAJIh4B,IAAU4kF,IACV5sD,EAAY,qBAIZD,eAAA,MACIC,UAAWA,EAEXY,QAASxsC,KAAKwsC,QACd0qD,SAAUl3F,KAAKwsC,QAAQX,SAEtB0sD,GAJIA,EAKJ,MAOjB5sD,eAAA,OAAKC,UAAU,oBAOvBD,eAAA4H,YAAA,CAAA1H,SAEIC,gBAACgU,KAAKwU,MAAK,CAACqhB,UAAW31E,KAAKiqC,MAAMvwB,KAAO,WAAYkyB,UAAU,YAAWC,SAAA,CACtEC,gBAACgU,KAAKyU,MAAK,CAACwkC,QAAS/4F,KAAKiqC,MAAMvwB,KAAKmyB,SAAA,CAAG7rC,KAAKiqC,MAAMyI,MAAM,OAmBzD/G,eAACqtD,KAAY,CACPl8C,YAAa98C,KAAKiqC,MAAM6S,YACxBtnC,MAAOxV,KAAKiqC,MAAMz0B,MACpByjF,aAAa,EACbjkD,MAAO,CAAEsF,MAAO,QAChB/T,QAASvmC,KAAKkI,MAAMq+B,QACpB2wD,SAAUl3F,KAAKk3F,SACfgC,SAAUl5F,KAAK04F,eAGnB/sD,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAA5oB,SAAG7rC,KAAKiqC,MAAMomD,QACpC1kD,eAACmU,KAAKwF,QAAQmP,SAAQ,CAAC1mC,KAAK,UAAS8d,SAChC7rC,KAAKiqC,MAAMkvD,cAMhC,EA7NEl4C,GAKKm4C,aAAe,CAClBf,YAAa,IA0NNp3C,UCy9BR,MAAOo4C,GAAO,CACrB,aACC,QACA,UACA,kCACA,cACA,2BACA,kCACA,0BACA,sBACA,0BACA,sBACA,qBACA,mCACA,QACA,wBACA,kCACA,sBACA,yBACA,uBACA,gCACA,sBACA,0BACA,sBACA,6BACA,4BACA,yBACA,qCACA,oBACA,8BACA,kBACA,gBACA,uBACA,mBACA,6BACA,mBACA,iBACA,wBACA,mBACA,iBACA,WACA,6BACA,iBACA,uBACA,iBACA,aACA,eACA,YACA,wBACA,wBACA,YACA,eACA,cACA,SACA,YACA,aACA,UACA,mBACA,uBACA,wBACA,YACA,uCACA,qDACA,cACA,UACA,SACA,kCACA,8CACA,6BACA,sBACA,sBACA,iBACA,UACA,QACA,UACA,SACA,YACA,0BACA,gCACA,UACA,kBACA,mBACA,6BACA,4BACA,aACA,wBACA,sBACA,eACA,UACA,4BACA,aACA,kBACA,cACA,aACA,6BACA,SACA,aACA,yBACA,yBACA,uBACA,kBACA,iBACA,qBACA,eACA,UACA,QACA,eACA,sBACA,iBACA,kBACA,kBACA,4BACA,cACA,YACA,mBACA,eACA,UACA,SACA,yBACA,+BACA,eACA,8BACA,YACA,UACA,OACA,oBACA,0BACA,UACA,oBACA,kBACA,sBACA,mBACA,eACA,gBACA,gBACA,iBACA,+BACA,kBACA,kBACA,sBACA,UACA,iCACA,mCACA,wBACA,iBACA,qBACA,gBACA,aACA,cACA,wBACA,mBACA,mBACA,0BACA,oCACA,yBACA,gCACA,4BACA,oCACA,qBACA,WACA,6BACA,6BACA,oBACA,sBACA,2BACA,8BACA,iCACA,2BACA,YACA,cACA,oBACA,+BACA,yBACA,sBACA,cACA,yBACA,uBACA,uBACA,sBACA,qCACA,qBACA,oBACA,OACA,6BACA,cACA,uBACA,oCACA,uBACA,gBACA,gBACA,iBACA,oBACA,0BACA,YACA,UACA,iBACA,eACA,iBACA,iBACA,iBACA,mBACA,wBACA,2BACA,iBACA,UACA,eACA,kCACA,SACA,2BACA,SACA,mBACA,yBACA,oBACA,2BACA,eACA,mBACA,mBACA,+BACA,UACA,mBACA,WACA,oBACA,YACA,iCACA,YACA,2BACA,sBACA,YACA,kBACA,WACA,aACA,aACA,4BACA,UACA,oBACA,gBACA,kBACA,0BACA,aACA,iBACA,iCACA,sBACA,oBACA,0BACA,gBACA,oBACA,YACA,SACA,0BACA,0BACA,iCACA,sBACA,iCACA,uBACA,kCACA,cACA,gCACA,4BACA,qBACA,oBACA,WACA,gCACA,+BACA,mBACA,WACA,sBACA,sBACA,2BACA,WACA,0BACA,yBACA,gCACA,0BACA,iBACA,SACA,SACA,gBACA,sBACA,qCACA,sBACA,mBACA,mBACA,oBACA,oBACA,gBACA,sBACA,aACA,SACA,sBACA,uBACA,mBACA,eACA,0BACA,wBACA,SACA,aACA,mBACA,iBACA,gBACA,wBACA,uBACA,aACA,2BACA,wBACA,oBACA,qBACA,oBACA,iCACA,cACA,8BACA,kBACA,iBACA,oBACA,cACA,uBACA,cACA,eACA,SACA,0BACA,kBACA,mBACA,iBACA,cACA,eACA,kBACA,kBACA,gCACA,0BACA,0BACA,iBACA,cACA,uBACA,oBACA,2BACA,6BACA,8BACA,wBACA,oCACA,gBACA,WACA,mBACA,yBACA,oBACA,gBACA,gBACA,sBACA,oBACA,mBACA,0BACA,mBACA,qBACA,qBACA,uBACA,qBACA,uBACA,gBACA,sBACA,iBACA,8BACA,iBACA,kBACA,iBACA,qBACA,+BACA,kBACA,uBACA,aACA,oBACA,sBACA,wBACA,eACA,UACA,6CACA,8BACA,mBACA,gBACA,wBACA,eACA,cACA,cACA,uBACA,eACA,gBACA,cACA,wBACA,aACA,qCACA,YACA,6BACA,kBACA,gCACA,0BACA,6BACA,2BACA,kBACA,iCACA,oBACA,mBACA,qBACA,6BACA,YACA,kBACA,2BACA,0BACA,yBACA,+BACA,mBACA,0BACA,OACA,UACA,UACA,mBACA,uBACA,4BACA,0BACA,0BACA,SACA,cACA,cACA,sBACA,sBACA,oCACA,gCACA,gCACA,4BACA,yCACA,oBACA,iCACA,+BACA,8BACA,YACA,4BACA,aACA,oBACA,yBACA,wBACA,wBACA,uBACA,oBACA,YACA,cACA,cACA,eACA,SACA,UACA,UACA,QACA,qBACA,kBACA,gBACA,uBACA,8BACA,sBACA,qBACA,eACA,iBACA,0BACA,cACA,SACA,gBACA,iBACA,kBACA,kBACA,aACA,YACA,oBACA,0BACA,qBACA,2BACA,4BACA,iBACA,YACA,qBACA,iBACA,mBACA,qBACA,2BACA,aACA,mBACA,eACA,kBACA,wBACA,YACA,sBACA,mBACA,kBACA,aACA,6BACA,cACA,iBACA,YACA,mBACA,aACA,OACA,aACA,wBACA,sBACA,sBACA,qBACA,gBACA,qBACA,aACA,kCACA,qBACA,gBACA,kBACA,eACA,0BACA,oBACA,uBACA,qBACA,oBACA,iBACA,qBACA,sBACA,+BACA,0BACA,gBACA,wBACA,WACA,cACA,cACA,eACA,2BACA,qBACA,sBACA,oCACA,WACA,+BACA,oBACA,6BACA,6BACA,gCACA,kCACA,6BACA,oBACA,oBACA,2BACA,2BACA,kBACA,0BACA,8BACA,wBACA,YACA,eACA,qBACA,0BACA,eACA,eACA,kCACA,gCACA,eACA,iBACA,wBACA,yBACA,aACA,gCACA,4BACA,kBACA,yBACA,0BACA,+BACA,wBACA,kCACA,wBACA,cACA,QACA,SACA,YACA,mBACA,+BACA,qBACA,qBACA,+BACA,sBACA,oBACA,oBACA,iBACA,gBACA,8BACA,WACA,2BACA,kBACA,gCACA,qBACA,cACA,2BACA,mBACA,gCACA,iCACA,qBACA,eACA,qBACA,kBACA,eACA,eACA,4CACA,4CACA,yBACA,4BACA,iCACA,YACA,eACA,0BACA,qBACA,qBACA,8BACA,mCACA,WACA,cACA,eACA,cACA,eACA,UACA,2BACA,eACA,YACA,mCACA,gBACA,6BACA,WACA,kBACA,6BACA,cACA,YACA,YACA,6BACA,wBACA,oBACA,4BACA,gBACA,eACA,aACA,qBACA,gBACA,6BACA,sBACA,uBACA,oBACA,oBACA,qBACA,mBACA,iCACA,8BACA,uBACA,aACA,gBACA,sBACA,qBACA,mBACA,eACA,8BACA,2CACA,0BACA,+BACA,qBACA,sBACA,YACA,YACA,kBACA,uBACA,aACA,YACA,2BACA,iBACA,iBACA,kBACA,YACA,uBACA,iBACA,UACA,aACA,oBACA,iBACA,0BACA,4BACA,sBACA,uBACA,8BACA,kDACA,gCACA,6BACA,aACA,wBACA,iBACA,kBACA,mBACA,oBACA,uBACA,sBACA,wBACA,gCACA,sBACA,oBACA,SACA,uBACA,0BACA,oBACA,oBACA,oBACA,WACA,mBACA,mBACA,wBACA,cACA,mBACA,cACA,iBACA,mBACA,yBACA,eACA,eACA,qBACA,2BACA,8BACA,gBACA,mBACA,qBACA,sBACA,kBACA,4BACA,iBACA,wBACA,0BACA,oBACA,6BACA,qBACA,uCACA,0BACA,qBACA,kBACA,UACA,wBACA,qBACA,sBACA,0BACA,kBACA,eACA,eACA,qBACA,oBACA,yBACA,0CACA,gCACA,UACA,gCACA,0BACA,yBACA,mBACA,mBACA,mBACA,2BACA,0BACA,2BACA,mBACA,gCACA,mBACA,eACA,gBACA,WACA,sBACA,oBACA,wBACA,iCACA,eACA,qBACA,gBACA,SACA,gBACA,yBACA,cACA,SACA,wBACA,aACA,gBACA,SACA,iBACA,gBACA,uBACA,UACA,0BACA,SACA,oBACA,sBACA,uBACA,eACA,WACA,8BACA,2BACA,YACA,yBACA,iBACA,4BACA,kBACA,oCACA,0BACA,uBACA,eACA,qBACA,0BACA,YACA,SACA,qBACA,2BACA,eACA,gBACA,cACA,WACA,iBACA,wBACA,cACA,mBACA,kBACA,kBACA,SACA,aACA,sBACA,cACA,yBACA,kBACA,oCACA,0BACA,mBACA,2BACA,yBACA,sBACA,gBACA,cACA,oBACA,qBACA,oBACA,iBACA,WACA,SACA,+BACA,kBACA,4BACA,8BACA,qBACA,qBACA,mBACA,sBACA,wBACA,eACA,cACA,cACA,cACA,aACA,gBACA,qBACA,yBACA,8BACA,0BACA,0BACA,eACA,4BACA,gCACA,kBACA,+BACA,UACA,wBACA,oBACA,uBACA,WACA,kBACA,uBACA,SACA,6BACA,kBACA,QACA,gBACA,eACA,eACA,cACA,oBACA,UACA,iBACA,mBACA,yCACA,eACA,qBACA,uBACA,SACA,oBACA,kBACA,SACA,6BACA,iCACA,kCACA,kBACA,iBACA,YACA,eACA,eACA,cACA,oBACA,0BACA,eACA,eACA,gBACA,mBACA,iBACA,iBACA,oCACA,aACA,eACA,aACA,iBACA,aACA,4BACA,iBACA,wBACA,mBACA,+BACA,gBACA,qBACA,mCACA,sCACA,iBACA,aACA,mCACA,2BACA,mCACA,wBACA,UACA,eACA,eACA,eACA,cACA,eACA,UACA,eACA,iBACA,QACA,gCACA,SACA,SACA,aACA,cACA,gBACA,QACA,kBACA,2BACA,eACA,uBACA,wBACA,uBACA,+BACA,SACA,WACA,iBACA,iCACA,yBACA,gBACA,UACA,SACA,kBACA,kBACA,qBACA,iBACA,oBACA,aACA,iBACA,SACA,aACA,aCtmED,MAAMC,WAAmBr6C,IAAMs6C,cAC3B7tD,SACI,MAAM,MACFl2B,EAAK,OACLuP,EAAS,SAAQ,SACjB83B,EAAQ,eACR28C,EAAc,YACd18C,EAAc,eAAc,SAC5ByI,GA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","file":"static/js/main.72603a16.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/gilroy-regular-3-webfont.0df18679.woff2\";","export default __webpack_public_path__ + \"static/media/gilroy-medium-2-webfont.3dc171db.woff2\";","export default __webpack_public_path__ + \"static/media/gilroy-bold-4-webfont.fc596ebe.woff2\";","\nexport const CHANGE_APPLICATION = \"CHANGE_APPLICATION\";\nexport const CHANGE_APPLICATION_BY_PATH = \"CHANGE_APPLICATION_BY_PATH\";\n\nexport const CHANGE_HAS_COBORROWER = \"CHANGE_HAS_COBORROWER\";\nexport const CHANGE_COHABITING = \"CHANGE_COHABITING\"\nexport const CHANGE_APPLICATION_ATTRIBUTE = \"CHANGE_APPLICATION_ATTRIBUTE\"\nexport const CHANGE_BORROWER_ATTRIBUTE = \"CHANGE_BORROWER_ATTRIBUTE\"\nexport const CHANGE_HARDMONEYLOAN_ATTRIBUTE = \"CHANGE_HARDMONEYLOAN_ATTRIBUTE\"\n\nexport const CHANGE_RENTOROWN_CURRENT_RESIDENCE = \"CHANGE_RENTOROWN_CURRENT_RESIDENCE\"\nexport const CHANGE_FINANCING_SAMEPROPERTY = \"CHANGE_FINANCING_SAMEPROPERTY\"\nexport const CHANGE_CHOSENLOAN_ATTRIBUTE = \"CHANGE_CHOSENLOAN_ATTRIBUTE\"\n\nexport const CHANGE_NONQM_INFO = \"CHANGE_NONQM_INFO\"\n\nexport const CHANGE_OCCUPATION_INFO = \"CHANGE_OCCUPATION_INFO\"\nexport const CHANGE_PAST_OCCUPATION_INFO = \"CHANGE_PAST_OCCUPATION_INFO\"\n\nexport const CHANGE_BORROWER_HASOCCUPATION = \"CHANGE_BORROWER_HASOCCUPATION\"\nexport const ADD_ADDITIONAL_OCCUPATION = \"ADD_BORROWER_ADDITIONAL_OCCUPATION\"\nexport const REMOVE_ADDITIONAL_OCCUPATION = \"REMOVE_BORROWER_ADDITIONAL_OCCUPATION\"\nexport const CLEAR_ADDITIONAL_OCCUPATIONS = \"CLEAR_BORROWER_ADDITIONAL_OCCUPATIONS\"\n\nexport const CHANGE_PREVIOUS_ADDRESS = \"CHANGE_PREVIOUS_ADDRESS\"\nexport const ADD_PREVIOUS_ADDRESS = \"ADD_PREVIOUS_ADDRESS\"\nexport const REMOVE_PREVIOUS_ADDRESS = \"REMOVE_PREVIOUS_ADDRESS\"\nexport const CLEAR_PREVIOUS_ADDRESS = \"CLEAR_PREVIOUS_ADDRESS\"\n\nexport const CHANGE_INCOME_MONTHLY = \"CHANGE_INCOME_MONTHLY\"\nexport const CHANGE_INCOME_ATTRIBUTE = \"CHANGE_INCOME_ATTRIBUTE\"\n\n\nexport const CLEAR_ADDITIONAL_INCOME = \"CLEAR_ADDITIONAL_INCOME\"\n\nexport const ADD_ADDITIONAL_INCOME = \"ADD_ADDITIONAL_INCOME\"\nexport const REMOVE_ADDITIONAL_INCOME = \"REMOVE_ADDITIONAL_INCOME\"\nexport const HAS_ADDITIONAL_INCOME = \"HAS_ADDITIONAL_INCOME\"\nexport const CHANGE_ADDITIONAL_INCOME = \"CHANGE_ADDITIONAL_INCOME\"\nexport const CHANGE_EXPENSES = \"CHANGE_EXPENSES\"\nexport const CHANGE_JOINTLY = \"CHANGE_JOINTLY\"\n\nexport const CHANGE_FINANCES = \"CHANGE_FINANCES\"\n\nexport const ADD_BORROWER_BANKACCOUNT = \"ADD_BORROWER_BANKACCOUNT\"\nexport const BULKADD_BORROWER_BANKACCOUNTS = \"BULKADD_BORROWER_BANKACCOUNTS\"\nexport const REMOVE_BORROWER_BANKACCOUNT = \"REMOVE_BORROWER_BANKACCOUNT\"\nexport const CHANGE_BORROWER_BANKNAME = \"CHANGE_BORROWER_BANKNAME\"\nexport const CHANGE_BORROWER_BANKACCOUNT = \"CHANGE_BORROWER_BANKACCOUNT\"\nexport const CHANGE_BORROWER_BANKBALANCE = \"CHANGE_BORROWER_BANKBALANCE\"\nexport const CHANGE_BORROWER_BANKATTRIBUTION = \"CHANGE_BORROWER_BANKATTRIBUTION\"\nexport const CHANGE_BORROWER_BANKACCOUNTTYPE = \"CHANGE_BORROWER_BANKACCOUNTTYPE\"\n\n\nexport const CLEAR_BORROWER_BANKACCOUNTS = \"CLEAR_BORROWER_BANKACCOUNTS\"\n\nexport const ADD_BORROWER_BROKERACCOUNT = \"ADD_BORROWER_BROKERACCOUNT\"\nexport const CLEAR_BORROWER_BROKERACCOUNTS = \"CLEAR_BORROWER_BROKERACCOUNTS\"\nexport const REMOVE_BORROWER_BROKERACCOUNT = \"REMOVE_BORROWER_BROKERACCOUNT\"\nexport const CHANGE_BORROWER_BROKERNAME = \"CHANGE_BORROWER_BROKERAGENAME\"\nexport const CHANGE_BORROWER_BROKERACCOUNT = \"CHANGE_BORROWER_BROKERACCOUNT\"\nexport const CHANGE_BORROWER_BROKERBALANCE = \"CHANGE_BORROWER_BROKERBALANCE\"\nexport const CHANGE_BORROWER_BROKERATTRIBUTION = \"CHANGE_BORROWER_BROKERATTRIBUTION\"\nexport const CHANGE_BORROWER_BROKERTAXSTATUS = \"CHANGE_BORROWER_BROKERTAXSTATUS\"\nexport const CHANGE_BORROWER_BROKERALLOCATION = \"CHANGE_BORROWER_BROKERALLOCATION\"\n\nexport const CHANGE_BROKER_INFO = \"CHANGE_BROKER_INFO\"\n\n\nexport const CHANGE_BORROWER_ADD_PAPER = \"CHANGE_BORROWER_ADD_PAPER\"\nexport const CHANGE_BORROWER_DELETE_PAPER = \"CHANGE_BORROWER_DELETE_PAPER\"\nexport const CHANGE_BORROWER_CLEAR_PAPERS = \"CHANGE_BORROWER_CLEAR_PAPERS\"\nexport const CHANGE_BORROWER_PAPER_DESCRIPTION = \"CHANGE_BORROWER_PAPER_DESCRIPTION\"\nexport const CHANGE_BORROWER_PAPER_AMOUNT = \"CHANGE_BORROWER_PAPER_AMOUNT\"\nexport const CHANGE_BORROWER_PAPER_VALUE = \"CHANGE_BORROWER_PAPER_VALUE\"\n\nexport const ADD_BORROWER_AUTO = \"ADD_BORROWER_AUTO\"\nexport const REMOVE_BORROWER_AUTO = \"REMOVE_BORROWER_AUTO\"\nexport const CLEAR_BORROWER_AUTOS = \"CLEAR_BORROWER_AUTOS\"\nexport const CHANGE_BORROWER_AUTO_MAKE = \"CHANGE_BORROWER_AUTO_MAKE\"\nexport const CHANGE_BORROWER_AUTO_YEAR = \"CHANGE_BORROWER_AUTO_YEAR\"\nexport const CHANGE_BORROWER_AUTO_VALUE = \"CHANGE_BORROWER_AUTO_VALUE\"\n\nexport const ADD_BORROWER_OTHER_ASSET = \"ADD_BORROWER_OTHER_ASSET\"\nexport const BULKADD_BORROWER_OTHER_ASSETS = \"BULKADD_BORROWER_OTHER_ASSETS\"\nexport const REMOVE_BORROWER_OTHER_ASSET = \"REMOVE_BORROWER_OTHER_ASSET\"\nexport const CLEAR_BORROWER_OTHER_ASSETS = \"CLEAR_BORROWER_OTHER_ASSETS\"\nexport const CHANGE_BORROWER_OTHER_ASSET_NAME = \"CHANGE_BORROWER_OTHER_ASSET_NAME\"\nexport const CHANGE_BORROWER_OTHER_ASSET_VALUE = \"CHANGE_BORROWER_OTHER_ASSET_VALUE\"\nexport const CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION = \"CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION\"\nexport const CHANGE_BORROWER_OTHER_ASSET = \"CHANGE_BORROWER_OTHER_ASSET\"\n\nexport const ADD_BORROWER_LOAN = \"ADD_BORROWER_LOAN\"\nexport const BULKADD_BORROWER_LOANS = \"BULKADD_BORROWER_LOANS\"\nexport const REMOVE_BORROWER_LOAN = \"REMOVE_BORROWER_LOAN\"\nexport const CLEAR_BORROWER_LOANS = \"CLEAR_BORROWER_LOANS\"\nexport const COPY_BORROWER_LOAN = \"COPY_BORROWER_LOAN\"\n\nexport const CHANGE_BORROWER_LOAN_COMPANY = \"CHANGE_BORROWER_LOAN_COMPANY\"\nexport const CHANGE_BORROWER_LOAN_ADDRESS = \"CHANGE_BORROWER_LOAN_ADDRESS\"\nexport const CHANGE_BORROWER_LOAN_ACCOUNT = \"CHANGE_BORROWER_LOAN_ACCOUNT\"\nexport const CHANGE_BORROWER_LOAN_MONTHLY = \"CHANGE_BORROWER_LOAN_MONTHLY\"\nexport const CHANGE_BORROWER_LOAN_REMAINING = \"CHANGE_BORROWER_LOAN_REMAINING\"\nexport const CHANGE_BORROWER_LOAN_SATISFIEDUPON = \"CHANGE_BORROWER_LOAN_SATISFIEDUPON\"\nexport const CHANGE_BORROWER_LOAN_FORSUBJECT = \"CHANGE_BORROWER_LOAN_FORSUBJECT\"\nexport const CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY = \"CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY\"\nexport const CHANGE_BORROWER_LOAN_RATE= \"CHANGE_BORROWER_LOAN_RATE\"\nexport const CHANGE_BORROWER_LOAN = \"CHANGE_BORROWER_LOAN\"\n\nexport const CHANGE_BORROWER_LOAN_CORRECTION = \"CHANGE_BORROWER_LOAN_CORRECTION\"\nexport const CHANGE_BORROWER_LOAN_EXPLANATION = \"CHANGE_BORROWER_LOAN_EXPLANATION\"\n\n\nexport const BULKADD_BORROWER_OWNED_PROPERTIES = \"BULKADD_BORROWER_OWNED_PROPERTIES\"\nexport const ADD_OWNED_PROPERTY = \"ADD_OWNED_PROPERTY\"\nexport const ADD_BORROWER_OWNED_PROPERTY = \"ADD_BORROWER_OWNED_PROPERTY\"\nexport const ADD_COBORROWER_OWNED_PROPERTY = \"ADD_COBORROWER_OWNED_PROPERTY\"\nexport const PREPEND_OWNED_PROPERTY = \"PREPEND_OWNED_PROPERTY\"\nexport const PREPEND_BORROWER_OWNED_PROPERTY = \"PREPEND_BORROWER_OWNED_PROPERTY\"\nexport const PREPEND_COBORROWER_OWNED_PROPERTY = \"PREPEND_COBORROWER_OWNED_PROPERTY\"\nexport const REMOVE_OWNED_PROPERTY = \"REMOVE_OWNED_PROPERTY\"\nexport const REMOVE_BORROWER_OWNED_PROPERTY = \"REMOVE_BORROWER_OWNED_PROPERTY\"\nexport const REMOVE_COBORROWER_OWNED_PROPERTY = \"REMOVE_COBORROWER_OWNED_PROPERTY\"\nexport const CLEAR_OWNED_PROPERTY = \"CLEAR_OWNED_PROPERTY\"\nexport const CLEAR_BORROWER_OWNED_PROPERTY = \"CLEAR_BORROWER_OWNED_PROPERTY\"\nexport const CLEAR_COBORROWER_OWNED_PROPERTY = \"CLEAR_COBORROWER_OWNED_PROPERTY\"\nexport const CHANGE_BORROWER_OWNED_PROPERTY = \"CHANGE_BORROWER_OWNED_PROPERTY\"\nexport const CHANGE_OWNED_PROPERTY = \"CHANGE_OWNED_PROPERTY\"\nexport const CHANGE_COBORROWER_OWNED_PROPERTY = \"CHANGE_COBORROWER_OWNED_PROPERTY\"\n\nexport const ADD_BORROWER_ADDITIONAL_PROPERTY = \"ADD_BORROWER_ADDITIONAL_PROPERTY\"\nexport const REMOVE_BORROWER_ADDITIONAL_PROPERTY = \"REMOVE_BORROWER_ADDITIONAL_PROPERTY\"\nexport const CLEAR_BORROWER_ADDITIONAL_PROPERTY = \"CLEAR_BORROWER_ADDITIONAL_PROPERTY\"\nexport const CHANGE_ADDITIONAL_PROPERTY = \"CHANGE_ADDITIONAL_PROPERTY\"\n\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION\"\nexport const CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE = \"CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE\"\n\nexport const ADD_BORROWER_ADDITIONAL_CREDITS = \"ADD_BORROWER_ADDITIONAL_CREDITS\"\nexport const REMOVE_BORROWER_ADDITIONAL_CREDITS = \"REMOVE_BORROWER_ADDITIONAL_CREDITS\"\nexport const CLEAR_BORROWER_ADDITIONAL_CREDITS = \"CLEAR_BORROWER_ADDITIONAL_CREDITS\"\nexport const CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME = \"CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME\"\nexport const CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR = \"CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR\"\nexport const CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT = \"CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT\"\n\nexport const CHANGE_BORROWER_FREEANDCLEAR = \"CHANGE_BORROWER_FREEANDCLEAR\"\nexport const CHANGE_REVIEWED_LOANS = \"CHANGE_REVIEWED_LOANS\"\n\nexport const CHANGE_SELECTION_FIELD = \"CHANGE_SELECTION_FIELD\"\n\nexport const CHANGE_SELECTEDLOAN_FIELD = \"CHANGE_SELECTEDLOAN_FIELD\"\nexport const CHANGE_SELECTEDLOAN_PRODUCT_FIELD = \"CHANGE_SELECTEDLOAN_PRODUCT_FIELD\"\n\n\nexport const ADD_SELECTEDLOAN_SERVICE = \"ADD_SELECTEDLOAN_SERVICE\"\nexport const REMOVE_SELECTEDLOAN_SERVICE = \"REMOVE_SELECTEDLOAN_SERVICE\"\nexport const ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS = \"ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS\"\n\nexport const ADD_SELECTEDLOAN_CHARGE = \"ADD_SELECTEDLOAN_CHARGE\"\nexport const REMOVE_SELECTEDLOAN_CHARGE = \"REMOVE_SELECTEDLOAN_CHARGE\"\n\nexport const CHANGE_PROPERTY_ADDRESS = \"CHANGE_PROPERTY_ADDRESS\"\nexport const CHANGE_PROPERTY_DESCRIPTION = \"CHANGE_PROPERTY_DESCRIPTION\"\nexport const CHANGE_PROPERTY_OCCUPANCY = \"CHANGE_PROPERTY_OCCUPANCY\"\nexport const CHANGE_PROPERTY_PURPOSE = \"CHANGE_PROPERTY_PURPOSE\"\nexport const CHANGE_PROPERTY_APPRAISAL = \"CHANGE_PROPERTY_APPRAISAL\"\nexport const CHANGE_PROPERTY_SALESPRICE = \"CHANGE_PROPERTY_SALESPRICE\"\nexport const CHANGE_PROPERTY_ATTRIBUTE = \"CHANGE_PROPERTY_ATTRIBUTE\"\n\n\nexport const CHANGE_PROPERTY_UNITS = \"CHANGE_PROPERTY_UNITS\"\nexport const CHANGE_PROPERTY_YEARBUILT = \"CHANGE_PROPERTY_YEARBUILT\"\nexport const CHANGE_PROPERTY_INWHATNAME = \"CHANGE_PROPERTY_INWHATNAME\"\nexport const CHANGE_PROPERTY_INWHATMANNER = \"CHANGE_PROPERTY_INWHATMANNER\"\nexport const CHANGE_PROPERTY_ESTATEHELDIN = \"CHANGE_PROPERTY_ESTATEHELDIN\"\nexport const CHANGE_PROPERTY_SOURCES = \"CHANGE_PROPERTY_SOURCES\"\nexport const CHANGE_PROPERTY_REFINANCE_YEARACQUIRED = \"CHANGE_PROPERTY_REFINANCE_YEARACQUIRED\"\nexport const CHANGE_PROPERTY_REFINANCE_ORIGINALCOST = \"CHANGE_PROPERTY_REFINANCE_ORIGINALCOST\"\nexport const CHANGE_PROPERTY_REFINANCE_PURPOSE = \"CHANGE_PROPERTY_REFINANCE_PURPOSE\"\nexport const CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC = \"CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC\"\nexport const CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS = \"CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS\"\nexport const CHANGE_PROPERTY_REFINANCE_COST = \"CHANGE_PROPERTY_REFINANCE_COST\"\nexport const CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER = \"CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER\"\nexport const CHANGE_PROPERTY_REFINANCE_ATTRIBUTE = \"CHANGE_PROPERTY_REFINANCE_ATTRIBUTE\"\n\nexport const CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED = \"CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED\"\nexport const CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST = \"CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST\"\nexport const CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS = \"CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS\"\nexport const CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS = \"CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS\"\nexport const CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE = \"CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE\"\nexport const CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS = \"CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS\"\n\nexport const CHANGE_DECLARATIONS = \"CHANGE_DECLARATIONS\"\nexport const CHANGE_BORROWER_INFO = \"CHANGE_BORROWER_INFO\"\nexport const CHANGE_MAINPROPERTY_EXPIRATION = \"CHANGE_MAINPROPERTY_EXPIRATION\"\nexport const CHANGE_EQUAL_OPPORTUNITY = \"CHANGE_EQUAL_OPPORTUNITY\"\nexport const CHANGE_EQUAL_OPPORTUNITY_SUB = \"CHANGE_EQUAL_OPPORTUNITY_SUB\"\nexport const CHANGE_MAINPROPERTY_PROPERTYTYPE = \"CHANGE_MAINPROPERTY_PROPERTYTYPE\"\nexport const CHANGE_MAINPROPERTY = \"CHANGE_MAINPROPERTY\"\nexport const CHANGE_MOBILE_HOME_INFO = \"CHANGE_MOBILE_HOME_INFO\"\n\n\nexport const ADD_BORROWER_ALIMONY = \"ADD_BORROWER_ALIMONY\"\nexport const BULKADD_BORROWER_ALIMONYS = \"BULKADD_BORROWER_ALIMONYS\"\nexport const REMOVE_BORROWER_ALIMONY = \"REMOVE_BORROWER_ALIMONY\"\nexport const CLEAR_BORROWER_ALIMONY = \"CLEAR_BORROWER_ALIMONY\"\nexport const CHANGE_BORROWER_ALIMONY_AMOUNT = \"CHANGE_BORROWER_ALIMONY_AMOUNT\"\nexport const CHANGE_BORROWER_ALIMONY_OWEDTO = \"CHANGE_BORROWER_ALIMONY_OWEDTO\"\nexport const CHANGE_BORROWER_ALIMONY_TYPE = \"CHANGE_BORROWER_ALIMONY_TYPE\"\nexport const CHANGE_BORROWER_ALIMONY = \"CHANGE_BORROWER_ALIMONY\"\n\nexport const CHANGE_BORROWER_CLEAR_INSURANCE = \"CHANGE_BORROWER_CLEAR_INSURANCE\"\nexport const CHANGE_BORROWER_DELETE_INSURANCE = \"CHANGE_BORROWER_DELETE_INSURANCE\"\nexport const CHANGE_BORROWER_ADD_INSURANCE = \"CHANGE_BORROWER_ADD_INSURANCE\"\nexport const CHANGE_BORROWER_CHANGE_INSURANCE = \"CHANGE_BORROWER_CHANGE_INSURANCE\"\n\nexport const ADD_REMOTE_COBORROWER = \"ADD_REMOTE_COBORROWER\"\nexport const REMOVE_REMOTE_COBORROWER = \"REMOVE_REMOTE_COBORROWER\"\nexport const CLEAR_REMOTE_COBORROWER = \"CLEAR_REMOTE_COBORROWER\"\nexport const CHANGE_REMOTE_COBORROWER_FIRSTNAME = \"CHANGE_REMOTE_COBORROWER_FIRSTNAME\"\nexport const CHANGE_REMOTE_COBORROWER_LASTNAME = \"CHANGE_REMOTE_COBORROWER_LASTNAME\"\nexport const CHANGE_REMOTE_COBORROWER_EMAIL = \"CHANGE_REMOTE_COBORROWER_EMAIL\"\nexport const CHANGE_REMOTE_COBORROWER_STATUS = \"CHANGE_REMOTE_COBORROWER_STATUS\"\nexport const CHANGE_REMOTE_COBORROWER_USE = \"CHANGE_REMOTE_COBORROWER_USE\"\n\nexport const CHANGE_SOLAR_PANELS = \"CHANGE_SOLAR_PANELS\"\n\nexport const ADD_BORROWER_OTHER_LIEN = \"ADD_BORROWER_OTHER_LIEN\"\nexport const REMOVE_BORROWER_OTHER_LIEN = \"REMOVE_BORROWER_OTHER_LIEN\"\nexport const CLEAR_BORROWER_OTHER_LIENS = \"CLEAR_BORROWER_OTHER_LIENS\"\nexport const CHANGE_BORROWER_OTHER_LIEN_VALUE = \"CHANGE_BORROWER_OTHER_LIEN_VALUE\"\n\nexport const ADD_BORROWER_OTHER_OCCUPATION = \"ADD_BORROWER_OTHER_OCCUPATION\"\nexport const REMOVE_BORROWER_OTHER_OCCUPATION = \"REMOVE_BORROWER_OTHER_OCCUPATION\"\nexport const CLEAR_BORROWER_OTHER_OCCUPATIONS = \"CLEAR_BORROWER_OTHER_OCCUPATIONS\"\nexport const CHANGE_BORROWER_OTHER_OCCUPATION_VALUE = \"CHANGE_BORROWER_OTHER_OCCUPATION_VALUE\"\nexport const CHANGE_BORROWER_OTHER_OCCUPATION_INCOME = \"CHANGE_BORROWER_OTHER_OCCUPATION_INCOME\"\n\n\nexport const ADD_BORROWER_PREVIOUS_OCCUPATION = \"ADD_BORROWER_PREVIOUS_OCCUPATION\"\nexport const REMOVE_BORROWER_PREVIOUS_OCCUPATION = \"REMOVE_BORROWER_PREVIOUS_OCCUPATION\"\nexport const CLEAR_BORROWER_PREVIOUS_OCCUPATIONS = \"CLEAR_BORROWER_PREVIOUS_OCCUPATIONS\"\nexport const CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE = \"CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE\"\nexport const CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME = \"CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME\"\n\n\nexport const UPDATE_FICO = \"UPDATE_FICO\"\nexport const UPDATE_CR_ERRORS = \"UPDATE_CR_ERRORS\"\nexport const CLEAR_CR_ERRORS = \"CLEAR_CR_ERRORS\"\n\nexport const UPDATE_CANNOTSHOPSERVICES = \"UPDATE_CANNOTSHOPSERVICES\"\nexport const UPDATE_CANSHOPSERVICES = \"UPDATE_CANSHOPSERVICES\"\nexport const UPDATE_FEES = \"UPDATE_FEES\"\nexport const UPDATE_ORIGINALCOSTS = \"UPDATE_ORIGINALCOSTS\"\nexport const UPDATE_OTHERCOSTS = \"UPDATE_OTHERCOSTS\"\n\n\nexport const UPDATE_PAYMENT_PERIOD = \"UPDATE_PAYMENT_PERIOD\"\nexport const UPDATE_PAYMENT_AMOUNT = \"UPDATE_PAYMENT_AMOUNT\"\nexport const UPDATE_PREPAID_DEFAULT = \"UPDATE_PREPAID_DEFAULT\"\n\nexport const UPDATE_PREPAID_INTEREST = \"UPDATE_PREPAID_INTEREST\"\n\nexport const ADD_SELECTEDLOAN_PREPAID = \"ADD_SELECTEDLOAN_PREPAID\"\nexport const REMOVE_SELECTEDLOAN_PREPAID = \"REMOVE_SELECTEDLOAN_PREPAID\"\n\nexport const ADD_BORROWER_GIFT = \"ADD_BORROWER_GIFT\"\nexport const BULKADD_BORROWER_GIFTS = \"ADD_BORROWER_GIFTS\"\nexport const REMOVE_BORROWER_GIFT = \"REMOVE_BORROWER_GIFT\"\nexport const CLEAR_BORROWER_GIFT = \"CLEAR_BORROWER_GIFT\"\nexport const CHANGE_BORROWER_GIFT = \"CHANGE_BORROWER_GIFT\"\n\nexport const ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT = \"ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT\"\nexport const ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES = \"ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES\"\n\nexport const BULKADD_NEW_MORTGAGE_LOAN = \"BULKADD_NEW_MORTGAGE_LOAN\"\nexport const ADD_NEW_MORTGAGE_LOAN = \"ADD_NEW_MORTGAGE_LOAN\"\nexport const REMOVE_NEW_MORTGAGE_LOAN = \"REMOVE_NEW_MORTGAGE_LOAN\"\nexport const CLEAR_NEW_MORTGAGE_LOANS = \"CLEAR_NEW_MORTGAGE_LOANS\"\nexport const UPDATE_NEW_MORTGAGE_ATTRIBUTE = \"UPDATE_NEW_MORTGAGE_ATTRIBUTE\"\n\nexport const UPDATE_ESCROW_INFO = \"UPDATE_ESCROW_INFO\"\nexport const UPDATE_APPRAISAL_INFO = \"UPDATE_APPRAISAL_INFO\"","export const CHANGE_PRODUCT = \"CHANGE_PRODUCT\";\nexport const CHANGE_TRANSACTION = \"CHANGE_TRANSACTION\";\n\n// probably this is not needed\nexport const CHANGE_LENDERNAME = \"CHANGE_LENDERNAME\";\nexport const CHANGE_PRODUCTNAME = \"CHANGE_PRODUCTNAME\";\nexport const CHANGE_MORTGAGEAPPLIED = \"CHANGE_MORTGAGEAPPLIED\";\nexport const CHANGE_OTHERMORTGGE = \"CHANGE_OTHERMORTGGE\";\nexport const CHANGE_AGENCYCASENUMBER = \"CHANGE_AGENCYCASENUMBER\";\nexport const CHANGE_LENDERCASENUMBER = \"CHANGE_LENDERCASENUMBER\";\nexport const CHANGE_INTERESTRATE = \"CHANGE_INTERESTRATE\";\nexport const CHANGE_MORTGAGETERM = \"CHANGE_MORTGAGETERM\";\nexport const CHANGE_MORTGAGETERMMONTHS = \"CHANGE_MORTGAGETERMMONTHS\";\nexport const CHANGE_AMORTIZATION = \"CHANGE_AMORTIZATION\";\nexport const CHANGE_OTHERAMORTIZATION = \"CHANGE_OTHERAMORTIZATION\";\n\n\nexport const CHANGE_ALTERATIONSIMPROVEMENTS = \"CHANGE_ALTERATIONSIMPROVEMENTS\";\nexport const CHANGE_LANDIFACQUIREDSEPARATELY = \"CHANGE_LANDIFACQUIREDSEPARATELY\";\nexport const CHANGE_REFINANCEINCLDEBTS = \"CHANGE_REFINANCEINCLDEBTS\";\nexport const CHANGE_ESTIMATEDPREPAIDITEMS = \"CHANGE_ESTIMATEDPREPAIDITEMS\";\nexport const CHANGE_ESTIMATEDCLOSINGCOSTS = \"CHANGE_ESTIMATEDCLOSINGCOSTS\";\nexport const CHANGE_PMIFUNDINGFEE = \"CHANGE_PMIFUNDINGFEE\";\nexport const CHANGE_DISCOUNTIFBORROWERPAYS = \"CHANGE_DISCOUNTIFBORROWERPAYS\";\nexport const CHANGE_TOTALCOSTS = \"CHANGE_TOTALCOSTS\";\nexport const CHANGE_SUBORDINATEFINANCING = \"CHANGE_SUBORDINATEFINANCING\";\n\nexport const CHANGE_BORROWERCLOSINGCOSTSPAIDBYSELLER = \"CHANGE_BORROWERCLOSINGCOSTSPAIDBYSELLER\";\nexport const CHANGE_OTHERCREDITS = \"CHANGE_OTHERCREDITS\";\nexport const CHANGE_OTHERCREDITSEXPLANATION = \"CHANGE_OTHERCREDITSEXPLANATION\";\n\nexport const CHANGE_LOANAMOUNTEXCLUDEFEES = \"CHANGE_LOANAMOUNTEXCLUDEFEES\";\nexport const CHANGE_PMIFUNDINGFEEFINANCED = \"CHANGE_PMIFUNDINGFEEFINANCED\";\n\nexport const CHANGE_LOANAMOOUNT = \"CHANGE_LOANAMOOUNT\";\nexport const CHANGE_CASHFROMTOBORROWER = \"CHANGE_CASHFROMTOBORROWER\";\n\n","// this file is automatically generated.\n// !!! DO NOT EDIT !!!\n\nimport _ from 'lodash'\n\n\n\nexport let dirtyFlag = false\nfunction doAlert(s) { console.log(s) }\n\n// enum AUSengine\nexport const AUS_DU = 'DU'\nexport const AUS_LPA = 'LPA'\nexport const AUS_Other = 'other'\n\n// enum AUSrecommondation\nexport const AUS_Approve_eligible = 'approve-eligible'\nexport const AUS_Approve_ineligible = 'approve-ineligible'\nexport const AUS_Referwithcaution = 'referwithcaution'\nexport const AUS_Outofscope = 'outofscope'\n\n// enum AccountType\nexport const AccountType_CheckingAccount = 'CheckingAccount'\nexport const AccountType_SavingsAccount = 'SavingsAccount'\nexport const AT_MoneyMarket = 'MoneyMarket'\nexport const AT_CertificateOfDeposit = 'CertificateOfDeposit'\nexport const AT_Retirement = 'Retirement'\nexport const AT_Bonds = 'Bonds'\nexport const AT_Stocks = 'Stocks'\nexport const AccountType_StockOptions = 'StockOptions'\nexport const AT_BridgeLoanProceeds = 'BridgeLoanProceeds'\nexport const AccountType_IndividualDevelopmentAccount = 'IndividualDevelopmentAccount'\nexport const AccountType_TrustAccount = 'TrustAccount'\nexport const AT_CashValueLifeInsurance = 'CashValueLifeInsurance'\nexport const AccountType_MutualFund = 'MutualFund'\n\n// enum AlimonyOrSupport\nexport const AOS_Alimony = 'alimony'\nexport const AOS_Childsupport = 'childsupport'\nexport const AOS_Maintenancepayments = 'maintenancepayments'\nexport const AOS_Jobrelatedexpenses = 'jobrelatedexpenses'\nexport const AOS_Other = 'other'\n\n// enum AlimonyStretch\nexport const AS_Lessthan10 = 'lessthan10'\nexport const AS_Morethan10 = 'morethan10'\nexport const AS_Notsure = 'notsure'\n\n// enum ApplicationStatus\nexport const AS_Loinitialized = 'loinitialized'\nexport const AS_Interviewstarted = 'interviewstarted'\nexport const AS_Productselected = 'productselected'\nexport const AS_Interviewfinished = 'interviewfinished'\nexport const AS_Documentationrequested = 'documentationrequested'\nexport const AS_Loansubmitted = 'loansubmitted'\nexport const AS_Conditionallyapproved = 'conditionallyapproved'\nexport const AS_Loanafinalapproved = 'loanafinalapproved'\nexport const AS_Submittedtoescrow = 'submittedtoescrow'\nexport const AS_Finaldocssigned = 'finaldocssigned'\nexport const AS_Fundsreleased = 'fundsreleased'\nexport const AS_Applicationwithdrawn = 'applicationwithdrawn'\nexport const AS_Applicationabandoned = 'applicationabandoned'\nexport const AS_Aplicationrejected = 'aplicationrejected'\nexport const AS_Borrowerwithdrew = 'borrowerwithdrew'\nexport const AS_Loancanceled = 'loancanceled'\nexport const AS_Loandenied = 'loandenied'\n\n// enum AssetType\nexport const AT_Bond = 'Bond'\nexport const AT_BridgeLoanNotDeposited = 'BridgeLoanNotDeposited'\nexport const AT_CashOnHand = 'CashOnHand'\nexport const AT_CertificateOfDepositTimeDeposit = 'CertificateOfDepositTimeDeposit'\nexport const AssetType_CheckingAccount = 'CheckingAccount'\nexport const AT_GiftOfCash = 'GiftOfCash'\nexport const AT_GiftOfPropertyEquity = 'GiftOfPropertyEquity'\nexport const AT_Grant = 'Grant'\nexport const AssetType_IndividualDevelopmentAccount = 'IndividualDevelopmentAccount'\nexport const AT_LifeInsurance = 'LifeInsurance'\nexport const AT_MoneyMarketFund = 'MoneyMarketFund'\nexport const AssetType_MutualFund = 'MutualFund'\nexport const AT_Other = 'Other'\nexport const AT_PendingNetSaleProceedsFromRealEstateAssets = 'PendingNetSaleProceedsFromRealEstateAssets'\nexport const AT_ProceedsFromSaleOfNonRealEstateAsset = 'ProceedsFromSaleOfNonRealEstateAsset'\nexport const AT_ProceedsFromSecuredLoan = 'ProceedsFromSecuredLoan'\nexport const AT_ProceedsFromUnsecuredLoan = 'ProceedsFromUnsecuredLoan'\nexport const AT_RetirementFund = 'RetirementFund'\nexport const AssetType_SavingsAccount = 'SavingsAccount'\nexport const AT_Stock = 'Stock'\nexport const AssetType_StockOptions = 'StockOptions'\nexport const AssetType_TrustAccount = 'TrustAccount'\n\n// enum Citizenship\nexport const C_Citizen = 'citizen'\nexport const C_Permanent = 'permanent'\nexport const C_Alien = 'alien'\n\n// enum Correction\nexport const C_None = 'none'\nexport const C_Wrongperson = 'wrongperson'\nexport const C_Alreadyclosed = 'alreadyclosed'\nexport const C_Paidbybusiness = 'paidbybusiness'\nexport const C_Duplicate = 'duplicate'\nexport const C_Other = 'other'\n\n// enum CreditAccountType\nexport const CAT_SoftPull = 'SoftPull'\nexport const CAT_HardPull = 'HardPull'\nexport const CAT_Universal = 'Universal'\n\n// enum CreditAccountVendor\nexport const CAV_KCB = 'KCB'\nexport const CAV_AdvantageCredit = 'AdvantageCredit'\n\n// enum CreditBureau\nexport const CB_Equifax = 'Equifax'\nexport const CB_Experian = 'Experian'\nexport const CB_TransUnion = 'TransUnion'\n\n// enum CreditLiabilityAccountOwnershipType\nexport const CLAOT_AuthorizedUser = 'AuthorizedUser'\nexport const CLAOT_Comaker = 'Comaker'\nexport const CLAOT_Deceased = 'Deceased'\nexport const CLAOT_Individual = 'Individual'\nexport const CLAOT_JointContractualLiability = 'JointContractualLiability'\nexport const CLAOT_JointParticipating = 'JointParticipating'\nexport const CLAOT_Maker = 'Maker'\nexport const CLAOT_OnBehalfOf = 'OnBehalfOf'\nexport const CLAOT_Terminated = 'Terminated'\nexport const CLAOT_Undesignated = 'Undesignated'\n\n// enum CreditLiabilityAccountStatusType\nexport const CLAST_Closed = 'Closed'\nexport const CLAST_Frozen = 'Frozen'\nexport const CLAST_Open = 'Open'\nexport const CLAST_Paid = 'Paid'\nexport const CLAST_Refinanced = 'Refinanced'\nexport const CLAST_Transferred = 'Transferred'\n\n// enum CreditLiabilityAccountType\nexport const CLAT_CreditLine = 'CreditLine'\nexport const CLAT_Installment = 'Installment'\nexport const CLAT_Mortgage = 'Mortgage'\nexport const CLAT_Open = 'Open'\nexport const CLAT_Revolving = 'Revolving'\nexport const CLAT_Unknown = 'Unknown'\n\n// enum CreditLiabilityHighestAdverseRating\nexport const CLHAR_AsAgreed = 'AsAgreed'\nexport const CLHAR_BankruptcyOrWageEarnerPlan = 'BankruptcyOrWageEarnerPlan'\nexport const CLHAR_ChargeOff = 'ChargeOff'\nexport const CLHAR_Collection = 'Collection'\nexport const CLHAR_CollectionOrChargeOff = 'CollectionOrChargeOff'\nexport const CLHAR_Foreclosure = 'Foreclosure'\nexport const CLHAR_ForeclosureOrRepossession = 'ForeclosureOrRepossession'\nexport const CLHAR_Late30Days = 'Late30Days'\nexport const CLHAR_Late60Days = 'Late60Days'\nexport const CLHAR_Late90Days = 'Late90Days'\nexport const CLHAR_LateOver120Days = 'LateOver120Days'\nexport const CLHAR_NoDataAvailable = 'NoDataAvailable'\nexport const CLHAR_Repossession = 'Repossession'\nexport const CLHAR_TooNew = 'TooNew'\nexport const CLHAR_WageEarnerPlan = 'WageEarnerPlan'\n\n// enum CreditLoanType\nexport const CLT_Agriculture = 'Agriculture'\nexport const CLT_Airplane = 'Airplane'\nexport const CLT_ApplianceOrFurniture = 'ApplianceOrFurniture'\nexport const CLT_AttorneyFees = 'AttorneyFees'\nexport const CLT_AutoLease = 'AutoLease'\nexport const CLT_AutoLoanEquityTransfer = 'AutoLoanEquityTransfer'\nexport const CLT_Automobile = 'Automobile'\nexport const CLT_AutoRefinance = 'AutoRefinance'\nexport const CLT_BiMonthlyMortgageTermsInYears = 'BiMonthlyMortgageTermsInYears'\nexport const CLT_Boat = 'Boat'\nexport const CLT_Business = 'Business'\nexport const CLT_BusinessCreditCard = 'BusinessCreditCard'\nexport const CLT_Camper = 'Camper'\nexport const CLT_ChargeAccount = 'ChargeAccount'\nexport const CLT_CheckCreditOrLineOfCredit = 'CheckCreditOrLineOfCredit'\nexport const CLT_ChildSupport = 'ChildSupport'\nexport const CLT_Collection = 'Collection'\nexport const CLT_CollectionAttorney = 'CollectionAttorney'\nexport const CLT_Comaker = 'Comaker'\nexport const CLT_CombinedCreditPlan = 'CombinedCreditPlan'\nexport const CLT_CommercialCreditObligation = 'CommercialCreditObligation'\nexport const CLT_CommercialLineOfCredit = 'CommercialLineOfCredit'\nexport const CLT_CommercialMortgage = 'CommercialMortgage'\nexport const CLT_ConditionalSalesContract = 'ConditionalSalesContract'\nexport const CLT_ConditionalSalesContractRefinance = 'ConditionalSalesContractRefinance'\nexport const CLT_Consolidation = 'Consolidation'\nexport const CLT_ConstructionLoan = 'ConstructionLoan'\nexport const CLT_ConventionalRealEstateMortgage = 'ConventionalRealEstateMortgage'\nexport const CLT_CreditCard = 'CreditCard'\nexport const CLT_CreditLineSecured = 'CreditLineSecured'\nexport const CLT_DebitCard = 'DebitCard'\nexport const CLT_DebtCounselingService = 'DebtCounselingService'\nexport const CLT_DeferredStudentLoan = 'DeferredStudentLoan'\nexport const CLT_DepositRelated = 'DepositRelated'\nexport const CLT_Educational = 'Educational'\nexport const CLT_Employment = 'Employment'\nexport const CLT_FactoringCompanyAccount = 'FactoringCompanyAccount'\nexport const CLT_FamilySupport = 'FamilySupport'\nexport const CLT_FarmersHomeAdministrationFHMA = 'FarmersHomeAdministrationFHMA'\nexport const CLT_FederalConsolidatedLoan = 'FederalConsolidatedLoan'\nexport const CLT_FHAComakerNotBorrower = 'FHAComakerNotBorrower'\nexport const CLT_FHAHomeImprovement = 'FHAHomeImprovement'\nexport const CLT_FHARealEstateMortgage = 'FHARealEstateMortgage'\nexport const CLT_FinanceStatement = 'FinanceStatement'\nexport const CLT_GovernmentBenefit = 'GovernmentBenefit'\nexport const CLT_GovernmentEmployeeAdvance = 'GovernmentEmployeeAdvance'\nexport const CLT_GovernmentFeeForService = 'GovernmentFeeForService'\nexport const CLT_GovernmentFine = 'GovernmentFine'\nexport const CLT_GovernmentGrant = 'GovernmentGrant'\nexport const CLT_GovernmentMiscellaneousDebt = 'GovernmentMiscellaneousDebt'\nexport const CLT_GovernmentOverpayment = 'GovernmentOverpayment'\nexport const CLT_GovernmentSecuredDirectLoan = 'GovernmentSecuredDirectLoan'\nexport const CLT_GovernmentSecuredGuaranteeLoan = 'GovernmentSecuredGuaranteeLoan'\nexport const CLT_GovernmentUnsecuredDirectLoan = 'GovernmentUnsecuredDirectLoan'\nexport const CLT_GovernmentUnsecuredGuaranteeLoan = 'GovernmentUnsecuredGuaranteeLoan'\nexport const CLT_HomeEquity = 'HomeEquity'\nexport const CLT_HomeEquityLineOfCredit = 'HomeEquityLineOfCredit'\nexport const CLT_HomeImprovement = 'HomeImprovement'\nexport const CLT_HouseholdGoods = 'HouseholdGoods'\nexport const CLT_HouseholdGoodsAndOtherCollateralAuto = 'HouseholdGoodsAndOtherCollateralAuto'\nexport const CLT_HouseholdGoodsSecured = 'HouseholdGoodsSecured'\nexport const CLT_InstallmentLoan = 'InstallmentLoan'\nexport const CLT_InstallmentSalesContract = 'InstallmentSalesContract'\nexport const CLT_InsuranceClaims = 'InsuranceClaims'\nexport const CLT_Lease = 'Lease'\nexport const CLT_LenderPlacedInsurance = 'LenderPlacedInsurance'\nexport const CLT_ManualMortgage = 'ManualMortgage'\nexport const CLT_ManufacturedHome = 'ManufacturedHome'\nexport const CLT_MedicalDebt = 'MedicalDebt'\nexport const CLT_MobileHome = 'MobileHome'\nexport const CLT_MobilePhone = 'MobilePhone'\nexport const CLT_Mortgage = 'Mortgage'\nexport const CLT_NoteLoan = 'NoteLoan'\nexport const CLT_NoteLoanWithComaker = 'NoteLoanWithComaker'\nexport const CLT_Other = 'Other'\nexport const CLT_PartiallySecured = 'PartiallySecured'\nexport const CLT_PersonalLoan = 'PersonalLoan'\nexport const CLT_RealEstateJuniorLiens = 'RealEstateJuniorLiens'\nexport const CLT_RealEstateLoanEquityTransfer = 'RealEstateLoanEquityTransfer'\nexport const CLT_RealEstateMortgageWithoutOtherCollateral = 'RealEstateMortgageWithoutOtherCollateral'\nexport const CLT_RealEstateSpecificTypeUnknown = 'RealEstateSpecificTypeUnknown'\nexport const CLT_Recreational = 'Recreational'\nexport const CLT_RecreationalVehicle = 'RecreationalVehicle'\nexport const CLT_Refinance = 'Refinance'\nexport const CLT_RefundAnticipationLoan = 'RefundAnticipationLoan'\nexport const CLT_RentalAgreement = 'RentalAgreement'\nexport const CLT_ResidentialLoan = 'ResidentialLoan'\nexport const CLT_ReturnedCheck = 'ReturnedCheck'\nexport const CLT_RevolvingBusinessLines = 'RevolvingBusinessLines'\nexport const CLT_SecondMortgage = 'SecondMortgage'\nexport const CLT_Secured = 'Secured'\nexport const CLT_SecuredByCosigner = 'SecuredByCosigner'\nexport const CLT_SecuredCreditCard = 'SecuredCreditCard'\nexport const CLT_SecuredHomeImprovement = 'SecuredHomeImprovement'\nexport const CLT_SemiMonthlyMortgagePayment = 'SemiMonthlyMortgagePayment'\nexport const CLT_SinglePaymentLoan = 'SinglePaymentLoan'\nexport const CLT_SpouseSupport = 'SpouseSupport'\nexport const CLT_SummaryOfAccountsWithSameStatus = 'SummaryOfAccountsWithSameStatus'\nexport const CLT_TimeSharedLoan = 'TimeSharedLoan'\nexport const CLT_Title1Loan = 'Title1Loan'\nexport const CLT_UnknownLoanType = 'UnknownLoanType'\nexport const CLT_Unsecured = 'Unsecured'\nexport const CLT_USDA_RD = 'USDA-RD'\nexport const CLT_UtilityCompany = 'UtilityCompany'\nexport const CLT_VeteransAdministrationLoan = 'VeteransAdministrationLoan'\nexport const CLT_VeteransAdministrationRealEstateMortgage = 'VeteransAdministrationRealEstateMortgage'\n\n// enum CurrentRatingType\nexport const CRT_NoDataAvailable = 'NoDataAvailable'\nexport const CRT_TooNew = 'TooNew'\nexport const CRT_AsAgreed = 'AsAgreed'\nexport const CRT_Late30Days = 'Late30Days'\nexport const CRT_Late60Days = 'Late60Days'\nexport const CRT_Late90Days = 'Late90Days'\nexport const CRT_LateOver120Days = 'LateOver120Days'\nexport const CRT_WageEarnerPlan = 'WageEarnerPlan'\nexport const CRT_BankruptcyOrWageEarnerPlan = 'BankruptcyOrWageEarnerPlan'\nexport const CRT_Foreclosure = 'Foreclosure'\nexport const CRT_Repossession = 'Repossession'\nexport const CRT_ForeclosureOrRepossession = 'ForeclosureOrRepossession'\nexport const CRT_Collection = 'Collection'\nexport const CRT_ChargeOff = 'ChargeOff'\nexport const CRT_CollectionOrChargeOff = 'CollectionOrChargeOff'\n\n// enum DetailCreditBusinessType\nexport const DCBT_AdvertisingAgencies = 'AdvertisingAgencies'\nexport const DCBT_AdvertisingMiscellaneous = 'AdvertisingMiscellaneous'\nexport const DCBT_AdvertisingNewsMedia = 'AdvertisingNewsMedia'\nexport const DCBT_AutomotiveAuctionsWholesale = 'AutomotiveAuctionsWholesale'\nexport const DCBT_AutomotiveDealersNew = 'AutomotiveDealersNew'\nexport const DCBT_AutomotiveDealersUsed = 'AutomotiveDealersUsed'\nexport const DCBT_AutomotiveFarmImplementDealers = 'AutomotiveFarmImplementDealers'\nexport const DCBT_AutomotiveLeasing = 'AutomotiveLeasing'\nexport const DCBT_AutomotiveMiscellaneous = 'AutomotiveMiscellaneous'\nexport const DCBT_AutomotiveParts = 'AutomotiveParts'\nexport const DCBT_AutomotiveRental = 'AutomotiveRental'\nexport const DCBT_AutomotiveRepairBodyShops = 'AutomotiveRepairBodyShops'\nexport const DCBT_AutomotiveServiceStations = 'AutomotiveServiceStations'\nexport const DCBT_AutomotiveTBAStoresTireDealers = 'AutomotiveTBAStoresTireDealers'\nexport const DCBT_AutomotiveTruckDealers = 'AutomotiveTruckDealers'\nexport const DCBT_BankingAllBanks = 'BankingAllBanks'\nexport const DCBT_BankingBankcard = 'BankingBankcard'\nexport const DCBT_BankingCommercialIndustrial = 'BankingCommercialIndustrial'\nexport const DCBT_BankingInstallmentLoansCreditLine = 'BankingInstallmentLoansCreditLine'\nexport const DCBT_BankingMiscellaneous = 'BankingMiscellaneous'\nexport const DCBT_BankingMortgageDepartment = 'BankingMortgageDepartment'\nexport const DCBT_BankingSavingsBanks = 'BankingSavingsBanks'\nexport const DCBT_ClothingGeneral = 'ClothingGeneral'\nexport const DCBT_ClothingMiscellaneous = 'ClothingMiscellaneous'\nexport const DCBT_ClothingSpecialtyShoeHatEtc = 'ClothingSpecialtyShoeHatEtc'\nexport const DCBT_CollectionServicesACBOfA = 'CollectionServicesACBOfA'\nexport const DCBT_CollectionServicesOther = 'CollectionServicesOther'\nexport const DCBT_ContractorsGeneral = 'ContractorsGeneral'\nexport const DCBT_ContractorsHomeImprovement = 'ContractorsHomeImprovement'\nexport const DCBT_ContractorsMiscellaneous = 'ContractorsMiscellaneous'\nexport const DCBT_ContractorsSubcontractors = 'ContractorsSubcontractors'\nexport const DCBT_DepartmentAndMailOrderCompleteDepartmentStores = 'DepartmentAndMailOrderCompleteDepartmentStores'\nexport const DCBT_DepartmentAndMailOrderMailOrderFirms = 'DepartmentAndMailOrderMailOrderFirms'\nexport const DCBT_DepartmentAndMailOrderMiscellaneous = 'DepartmentAndMailOrderMiscellaneous'\nexport const DCBT_DepartmentAndMailOrderVarietyStores = 'DepartmentAndMailOrderVarietyStores'\nexport const DCBT_EmploymentServices = 'EmploymentServices'\nexport const DCBT_FarmAndGardenSuppliesChemicalAndFertilizer = 'FarmAndGardenSuppliesChemicalAndFertilizer'\nexport const DCBT_FarmAndGardenSuppliesFeedAndSeed = 'FarmAndGardenSuppliesFeedAndSeed'\nexport const DCBT_FarmAndGardenSuppliesMiscellaneous = 'FarmAndGardenSuppliesMiscellaneous'\nexport const DCBT_FarmAndGardenSuppliesNurseryAndLandscaping = 'FarmAndGardenSuppliesNurseryAndLandscaping'\nexport const DCBT_FinanceAutomobile = 'FinanceAutomobile'\nexport const DCBT_FinanceBailBonds = 'FinanceBailBonds'\nexport const DCBT_FinanceBrokerageAndInvestmentFirms = 'FinanceBrokerageAndInvestmentFirms'\nexport const DCBT_FinanceBulkPurchase = 'FinanceBulkPurchase'\nexport const DCBT_FinanceCreditUnions = 'FinanceCreditUnions'\nexport const DCBT_FinanceEducation = 'FinanceEducation'\nexport const DCBT_FinanceFactoringCompanies = 'FinanceFactoringCompanies'\nexport const DCBT_FinanceMiscellaneous = 'FinanceMiscellaneous'\nexport const DCBT_FinanceMortgageBrokers = 'FinanceMortgageBrokers'\nexport const DCBT_FinanceMortgageCompanies = 'FinanceMortgageCompanies'\nexport const DCBT_FinanceMortgageReporters = 'FinanceMortgageReporters'\nexport const DCBT_FinancePersonalLoanCompanies = 'FinancePersonalLoanCompanies'\nexport const DCBT_FinanceSales = 'FinanceSales'\nexport const DCBT_FinanceSavingsAndLoanAssociations = 'FinanceSavingsAndLoanAssociations'\nexport const DCBT_GovernmentCityAndCounty = 'GovernmentCityAndCounty'\nexport const DCBT_GovernmentFederal = 'GovernmentFederal'\nexport const DCBT_GovernmentMiscellaneous = 'GovernmentMiscellaneous'\nexport const DCBT_GovernmentState = 'GovernmentState'\nexport const DCBT_GroceryDairies = 'GroceryDairies'\nexport const DCBT_GroceryMiscellaneous = 'GroceryMiscellaneous'\nexport const DCBT_GroceryNeighborhood = 'GroceryNeighborhood'\nexport const DCBT_GrocerySupermarkets = 'GrocerySupermarkets'\nexport const DCBT_HomeFurnishingApplianceSalesAndService = 'HomeFurnishingApplianceSalesAndService'\nexport const DCBT_HomeFurnishingCarpetAndFloorCoverings = 'HomeFurnishingCarpetAndFloorCoverings'\nexport const DCBT_HomeFurnishingElectronicsTelevisionAndRadio = 'HomeFurnishingElectronicsTelevisionAndRadio'\nexport const DCBT_HomeFurnishingFurniture = 'HomeFurnishingFurniture'\nexport const DCBT_HomeFurnishingFurnitureRental = 'HomeFurnishingFurnitureRental'\nexport const DCBT_HomeFurnishingInteriorDecoratorsDesign = 'HomeFurnishingInteriorDecoratorsDesign'\nexport const DCBT_HomeFurnishingMiscellaneous = 'HomeFurnishingMiscellaneous'\nexport const DCBT_HomeFurnishingMusicAndRecords = 'HomeFurnishingMusicAndRecords'\nexport const DCBT_InsuranceGeneral = 'InsuranceGeneral'\nexport const DCBT_InsuranceLife = 'InsuranceLife'\nexport const DCBT_InsuranceMiscellaneous = 'InsuranceMiscellaneous'\nexport const DCBT_JewelryAndCameraCameras = 'JewelryAndCameraCameras'\nexport const DCBT_JewelryAndCameraComputerSalesAndServices = 'JewelryAndCameraComputerSalesAndServices'\nexport const DCBT_JewelryAndCameraJewelry = 'JewelryAndCameraJewelry'\nexport const DCBT_JewelryAndCameraMiscellaneous = 'JewelryAndCameraMiscellaneous'\nexport const DCBT_JewelryAndCameraVideoTapeRentalAndSales = 'JewelryAndCameraVideoTapeRentalAndSales'\nexport const DCBT_LumberAndHardwareAirConditioningPlumbingElectrical = 'LumberAndHardwareAirConditioningPlumbingElectrical'\nexport const DCBT_LumberAndHardwareFixtureAndCabinet = 'LumberAndHardwareFixtureAndCabinet'\nexport const DCBT_LumberAndHardwareLumberYards = 'LumberAndHardwareLumberYards'\nexport const DCBT_LumberAndHardwareMiscellaneous = 'LumberAndHardwareMiscellaneous'\nexport const DCBT_LumberAndHardwarePaintGlassAndPaper = 'LumberAndHardwarePaintGlassAndPaper'\nexport const DCBT_LumberAndHardwareStores = 'LumberAndHardwareStores'\nexport const DCBT_MedicalAndHealthAnimalHospitals = 'MedicalAndHealthAnimalHospitals'\nexport const DCBT_MedicalAndHealthChiropractors = 'MedicalAndHealthChiropractors'\nexport const DCBT_MedicalAndHealthDentists = 'MedicalAndHealthDentists'\nexport const DCBT_MedicalAndHealthDoctorsAndClinics = 'MedicalAndHealthDoctorsAndClinics'\nexport const DCBT_MedicalAndHealthFuneralHomesAndCemeteries = 'MedicalAndHealthFuneralHomesAndCemeteries'\nexport const DCBT_MedicalAndHealthHospitals = 'MedicalAndHealthHospitals'\nexport const DCBT_MedicalAndHealthMedicalEquipment = 'MedicalAndHealthMedicalEquipment'\nexport const DCBT_MedicalAndHealthMiscellaneous = 'MedicalAndHealthMiscellaneous'\nexport const DCBT_MedicalAndHealthOptometristsAndOpticalStores = 'MedicalAndHealthOptometristsAndOpticalStores'\nexport const DCBT_MedicalAndHealthOsteopaths = 'MedicalAndHealthOsteopaths'\nexport const DCBT_MedicalAndHealthPharmaciesAndDrugs = 'MedicalAndHealthPharmaciesAndDrugs'\nexport const DCBT_MedicalAndHealthVeterinarians = 'MedicalAndHealthVeterinarians'\nexport const DCBT_MiscellaneousAuthenticationProducts = 'MiscellaneousAuthenticationProducts'\nexport const DCBT_MiscellaneousCreditBureaus = 'MiscellaneousCreditBureaus'\nexport const DCBT_MiscellaneousCreditReportBrokers = 'MiscellaneousCreditReportBrokers'\nexport const DCBT_MiscellaneousOther = 'MiscellaneousOther'\nexport const DCBT_MiscellaneousRetail = 'MiscellaneousRetail'\nexport const DCBT_MiscellaneousServices = 'MiscellaneousServices'\nexport const DCBT_MiscellaneousWholesale = 'MiscellaneousWholesale'\nexport const DCBT_OilAndNationalCreditCardsAirlineTravelCards = 'OilAndNationalCreditCardsAirlineTravelCards'\nexport const DCBT_OilAndNationalCreditCardsCreditCardCompanies = 'OilAndNationalCreditCardsCreditCardCompanies'\nexport const DCBT_OilAndNationalCreditCardsMiscellaneous = 'OilAndNationalCreditCardsMiscellaneous'\nexport const DCBT_OilAndNationalCreditCardsOilCompanies = 'OilAndNationalCreditCardsOilCompanies'\nexport const DCBT_PersonalServicesNotMedicalAccountants = 'PersonalServicesNotMedicalAccountants'\nexport const DCBT_PersonalServicesNotMedicalBarbersBeautyShops = 'PersonalServicesNotMedicalBarbersBeautyShops'\nexport const DCBT_PersonalServicesNotMedicalCountryClubsRestaurants = 'PersonalServicesNotMedicalCountryClubsRestaurants'\nexport const DCBT_PersonalServicesNotMedicalDetectiveInvestigativeServices = 'PersonalServicesNotMedicalDetectiveInvestigativeServices'\nexport const DCBT_PersonalServicesNotMedicalDryCleaningLaundry = 'PersonalServicesNotMedicalDryCleaningLaundry'\nexport const DCBT_PersonalServicesNotMedicalEngineering = 'PersonalServicesNotMedicalEngineering'\nexport const DCBT_PersonalServicesNotMedicalEquipmentLeasing = 'PersonalServicesNotMedicalEquipmentLeasing'\nexport const DCBT_PersonalServicesNotMedicalFlorists = 'PersonalServicesNotMedicalFlorists'\nexport const DCBT_PersonalServicesNotMedicalHealthAndFitnessClubs = 'PersonalServicesNotMedicalHealthAndFitnessClubs'\nexport const DCBT_PersonalServicesNotMedicalLegal = 'PersonalServicesNotMedicalLegal'\nexport const DCBT_PersonalServicesNotMedicalMiscellaneous = 'PersonalServicesNotMedicalMiscellaneous'\nexport const DCBT_PersonalServicesNotMedicalPestControl = 'PersonalServicesNotMedicalPestControl'\nexport const DCBT_PersonalServicesNotMedicalPhotographers = 'PersonalServicesNotMedicalPhotographers'\nexport const DCBT_RealEstateAndPublicAccommodationApartments = 'RealEstateAndPublicAccommodationApartments'\nexport const DCBT_RealEstateAndPublicAccommodationHotels = 'RealEstateAndPublicAccommodationHotels'\nexport const DCBT_RealEstateAndPublicAccommodationMiscellaneous = 'RealEstateAndPublicAccommodationMiscellaneous'\nexport const DCBT_RealEstateAndPublicAccommodationMobileHomes = 'RealEstateAndPublicAccommodationMobileHomes'\nexport const DCBT_RealEstateAndPublicAccommodationMotels = 'RealEstateAndPublicAccommodationMotels'\nexport const DCBT_RealEstateAndPublicAccommodationOfficeLeasing = 'RealEstateAndPublicAccommodationOfficeLeasing'\nexport const DCBT_RealEstateAndPublicAccommodationPropertyManagement = 'RealEstateAndPublicAccommodationPropertyManagement'\nexport const DCBT_RealEstateAndPublicAccommodationRealEstateSales = 'RealEstateAndPublicAccommodationRealEstateSales'\nexport const DCBT_SportingGoodsAircraftSalesAndService = 'SportingGoodsAircraftSalesAndService'\nexport const DCBT_SportingGoodsBoatAndMarinas = 'SportingGoodsBoatAndMarinas'\nexport const DCBT_SportingGoodsMiscellaneous = 'SportingGoodsMiscellaneous'\nexport const DCBT_SportingGoodsMotorcycleAndBicycle = 'SportingGoodsMotorcycleAndBicycle'\nexport const DCBT_SportingGoodsStores = 'SportingGoodsStores'\nexport const DCBT_UtilitiesAndFuelCableSatelliteCompanies = 'UtilitiesAndFuelCableSatelliteCompanies'\nexport const DCBT_UtilitiesAndFuelCoalAndWoodDealers = 'UtilitiesAndFuelCoalAndWoodDealers'\nexport const DCBT_UtilitiesAndFuelElectricalLightAndPower = 'UtilitiesAndFuelElectricalLightAndPower'\nexport const DCBT_UtilitiesAndFuelFuelOilDealers = 'UtilitiesAndFuelFuelOilDealers'\nexport const DCBT_UtilitiesAndFuelGarbageAndRubbishDisposals = 'UtilitiesAndFuelGarbageAndRubbishDisposals'\nexport const DCBT_UtilitiesAndFuelGasNaturalAndBottled = 'UtilitiesAndFuelGasNaturalAndBottled'\nexport const DCBT_UtilitiesAndFuelMiscellaneous = 'UtilitiesAndFuelMiscellaneous'\nexport const DCBT_UtilitiesAndFuelTelephoneCompanies = 'UtilitiesAndFuelTelephoneCompanies'\nexport const DCBT_UtilitiesAndFuelWaterCompanies = 'UtilitiesAndFuelWaterCompanies'\nexport const DCBT_WholesaleAutomotiveSupplies = 'WholesaleAutomotiveSupplies'\nexport const DCBT_WholesaleBuildingAndHardwareSupply = 'WholesaleBuildingAndHardwareSupply'\nexport const DCBT_WholesaleClothingAndDryGoods = 'WholesaleClothingAndDryGoods'\nexport const DCBT_WholesaleCreditCardProcessing = 'WholesaleCreditCardProcessing'\nexport const DCBT_WholesaleDrugsAndChemicals = 'WholesaleDrugsAndChemicals'\nexport const DCBT_WholesaleGroceries = 'WholesaleGroceries'\nexport const DCBT_WholesaleHomeFurnishings = 'WholesaleHomeFurnishings'\nexport const DCBT_WholesaleMachineryAndEquipment = 'WholesaleMachineryAndEquipment'\nexport const DCBT_WholesaleMiscellaneous = 'WholesaleMiscellaneous'\n\n// enum DocType\nexport const DT_Full = 'full'\nexport const DT_Partial = 'partial'\n\n// enum EmailServiceProviders\nexport const ESP_Gmail = 'Gmail'\nexport const ESP_Bluehost = 'Bluehost'\nexport const ESP_PersonalGmail = 'PersonalGmail'\nexport const ESP_Outlook = 'Outlook'\nexport const ESP_PersonalOutlook = 'PersonalOutlook'\n\n// enum EstateHeldIn\nexport const EHI_Feesimple = 'feesimple'\nexport const EHI_Leasehold = 'leasehold'\n\n// enum Ethnicity\nexport const E_Donttell = 'donttell'\nexport const E_Hispanic = 'hispanic'\nexport const E_Nonhispanic = 'nonhispanic'\n\n// enum FundsSourceType\nexport const FST_CommunityNonProfit = 'CommunityNonProfit'\nexport const FST_Employer = 'Employer'\nexport const FST_FederalAgency = 'FederalAgency'\nexport const FST_LocalAgency = 'LocalAgency'\nexport const FST_Relative = 'Relative'\nexport const FST_ReligiousNonProfit = 'ReligiousNonProfit'\nexport const FST_StateAgency = 'StateAgency'\nexport const FST_UnmarriedPartner = 'UnmarriedPartner'\nexport const FST_Lender = 'Lender'\nexport const FST_Other = 'Other'\n\n// enum HardMoneyLoanBorrowerType\nexport const HMLBT_LLC = 'LLC'\nexport const HMLBT_Individual = 'Individual'\nexport const HMLBT_Corporation = 'Corporation'\nexport const HMLBT_Partnership = 'Partnership'\nexport const HMLBT_Trust = 'Trust'\n\n// enum HardMoneyLoanExitStrategy\nexport const HMLES_Fixandflip = 'fixandflip'\nexport const HMLES_Fixandrent = 'fixandrent'\nexport const HMLES_Buildandflip = 'buildandflip'\nexport const HMLES_Buildandrent = 'buildandrent'\nexport const HMLES_Refitoconventional = 'refitoconventional'\nexport const HMLES_Refitobuild = 'refitobuild'\nexport const HMLES_Refitoflip = 'refitoflip'\nexport const HMLES_Refitorent = 'refitorent'\nexport const HMLES_Others = 'others'\n\n// enum HardMoneyLoanType\nexport const HMLT_Fixflip = 'fixflip'\nexport const HMLT_Fixrent = 'fixrent'\nexport const HMLT_Bridge = 'bridge'\nexport const HMLT_Groundup = 'groundup'\nexport const HMLT_Scrapebuild = 'scrapebuild'\nexport const HMLT_Rental = 'rental'\n\n// enum HasCoborrower\nexport const HC_Alone = 'alone'\nexport const HC_Withcoborrower = 'withcoborrower'\nexport const HC_Multiple = 'multiple'\nexport const HC_Remote = 'remote'\n\n// enum ImprovementsStatus\nexport const IS_Noimprovements = 'noimprovements'\nexport const IS_Made = 'made'\nexport const IS_Tobemade = 'tobemade'\n\n// enum IncomeDocumentationType\nexport const IDT_FullDoc = 'FullDoc'\nexport const IDT_FullDoc12Mo = 'FullDoc12Mo'\nexport const IDT_FullDocWithAssets = 'FullDocWithAssets'\nexport const IDT_VOE = 'VOE'\nexport const IDT_VOE24Mo = 'VOE24Mo'\nexport const IDT_PersonalBankStatement12Mo = 'PersonalBankStatement12Mo'\nexport const IDT_PersonalBankStatement24Mo = 'PersonalBankStatement24Mo'\nexport const IDT_BusinessBankStatement12Mo = 'BusinessBankStatement12Mo'\nexport const IDT_BusinessBankStatement24Mo = 'BusinessBankStatement24Mo'\nexport const IDT_Form109924Mo = 'Form109924Mo'\nexport const IDT_Form109912Mo = 'Form109912Mo'\nexport const IDT_PL24 = 'PL24'\nexport const IDT_PL12 = 'PL12'\nexport const IDT_PL = 'PL'\nexport const IDT_AssetDepletion = 'AssetDepletion'\nexport const IDT_AssetUtilization = 'AssetUtilization'\nexport const IDT_DebtServiceCoverageRatio = 'DebtServiceCoverageRatio'\nexport const IDT_NoRatio = 'NoRatio'\n\n// enum IncomeType\nexport const IT_AccessoryUnitIncome = 'AccessoryUnitIncome'\nexport const IT_Alimony = 'Alimony'\nexport const IT_AutomobileAllowance = 'AutomobileAllowance'\nexport const IT_Base = 'Base'\nexport const IT_BoarderIncome = 'BoarderIncome'\nexport const IT_Bonus = 'Bonus'\nexport const IT_CapitalGains = 'CapitalGains'\nexport const IT_ChildSupport = 'ChildSupport'\nexport const IT_Commissions = 'Commissions'\nexport const IT_ContractBasis = 'ContractBasis'\nexport const IT_DefinedContributionPlan = 'DefinedContributionPlan'\nexport const IT_Disability = 'Disability'\nexport const IT_DividendsInterest = 'DividendsInterest'\nexport const IT_EmploymentRelatedAccount = 'EmploymentRelatedAccount'\nexport const IT_FosterCare = 'FosterCare'\nexport const IT_HousingAllowance = 'HousingAllowance'\nexport const IT_HousingChoiceVoucherProgram = 'HousingChoiceVoucherProgram'\nexport const IT_MilitaryBasePay = 'MilitaryBasePay'\nexport const IT_MilitaryClothesAllowance = 'MilitaryClothesAllowance'\nexport const IT_MilitaryCombatPay = 'MilitaryCombatPay'\nexport const IT_MilitaryFlightPay = 'MilitaryFlightPay'\nexport const IT_MilitaryHazardPay = 'MilitaryHazardPay'\nexport const IT_MilitaryOverseasPay = 'MilitaryOverseasPay'\nexport const IT_MilitaryPropPay = 'MilitaryPropPay'\nexport const IT_MilitaryQuartersAllowance = 'MilitaryQuartersAllowance'\nexport const IT_MilitaryRationsAllowance = 'MilitaryRationsAllowance'\nexport const IT_MilitaryVariableHousingAllowance = 'MilitaryVariableHousingAllowance'\nexport const IT_MortgageCreditCertificate = 'MortgageCreditCertificate'\nexport const IT_MortgageDifferential = 'MortgageDifferential'\nexport const IT_NetRentalIncome = 'NetRentalIncome'\nexport const IT_NonBorrowerContribution = 'NonBorrowerContribution'\nexport const IT_NonBorrowerHouseholdIncome = 'NonBorrowerHouseholdIncome'\nexport const IT_NotesReceivableInstallment = 'NotesReceivableInstallment'\nexport const IT_Other = 'Other'\nexport const IT_Overtime = 'Overtime'\nexport const IT_Pension = 'Pension'\nexport const IT_ProposedGrossRentForSubjectProperty = 'ProposedGrossRentForSubjectProperty'\nexport const IT_PublicAssistance = 'PublicAssistance'\nexport const IT_RealEstateOwnedGrossRentalIncome = 'RealEstateOwnedGrossRentalIncome'\nexport const IT_Royalties = 'Royalties'\nexport const IT_SeparateMaintenance = 'SeparateMaintenance'\nexport const IT_SocialSecurity = 'SocialSecurity'\nexport const IT_TemporaryLeave = 'TemporaryLeave'\nexport const IT_TipIncome = 'TipIncome'\nexport const IT_Trust = 'Trust'\nexport const IT_Unemployment = 'Unemployment'\nexport const IT_VABenefitsNonEducational = 'VABenefitsNonEducational'\nexport const IT_VACompensation = 'VACompensation'\nexport const IT_Retirement = 'Retirement'\nexport const IT_HousingParsonage = 'HousingParsonage'\n\n// enum LoanOfficerBoardStage\nexport const LOBS_TODOs = 'TODOs'\nexport const LOBS_In_Progress = 'In_Progress'\nexport const LOBS_Done = 'Done'\n\n// enum LoanProgram\nexport const LP_Fixed = 'fixed'\nexport const LP_Arm = 'arm'\nexport const LP_Baloon = 'baloon'\nexport const LP_Heloc = 'heloc'\nexport const LP_Negativeamortization = 'negativeamortization'\nexport const LP_Interestonly = 'interestonly'\nexport const LP_Noloan = 'noloan'\n\n// enum LoanStage\nexport const LS_Application = 'Application'\nexport const LS_Processing = 'Processing'\nexport const LS_Closing = 'Closing'\nexport const LS_Archived = 'Archived'\n\n// enum LoanStatus\nexport const LS_ApplicationStarted = 'ApplicationStarted'\nexport const LS_ApplicationFinished = 'ApplicationFinished'\nexport const LS_PrequalSent = 'PrequalSent'\nexport const LS_InContract = 'InContract'\nexport const LS_OpenEscrow = 'OpenEscrow'\nexport const LS_ConditionsRequested = 'ConditionsRequested'\nexport const LS_ConditionsReviewed = 'ConditionsReviewed'\nexport const LS_OrderAppraisal = 'OrderAppraisal'\nexport const LS_TitleSearch = 'TitleSearch'\nexport const LS_PreApproved = 'PreApproved'\nexport const LS_SubmittedToUnderwriting = 'SubmittedToUnderwriting'\nexport const LS_ConditionalApproval = 'ConditionalApproval'\nexport const LS_ClearToClose = 'ClearToClose'\nexport const LS_DocsOut = 'DocsOut'\nexport const LS_DocsSigned = 'DocsSigned'\nexport const LS_LoanFunded = 'LoanFunded'\nexport const LS_ApplicationAbandoned = 'ApplicationAbandoned'\nexport const LS_ApplicationRejected = 'ApplicationRejected'\nexport const LS_PreApprovalDenied = 'PreApprovalDenied'\nexport const LS_FileClosedForIncompleteness = 'FileClosedForIncompleteness'\nexport const LS_ApplicationWithdrawn = 'ApplicationWithdrawn'\nexport const LS_ApplicationDenied = 'ApplicationDenied'\nexport const LS_ApprovedButNotAccepted = 'ApprovedButNotAccepted'\nexport const LS_Other = 'Other'\n\n// enum Lock\nexport const L_Days30 = 'days30'\nexport const L_Days15 = 'days15'\nexport const L_Days45 = 'days45'\n\n// enum LockStatus\nexport const LS_None = 'none'\nexport const LS_Requested = 'requested'\nexport const LS_Locked = 'locked'\nexport const LS_Expired = 'expired'\n\n// enum MannerOfPaymentCode\nexport const MOPC__ = '-'\nexport const MOPC_X = 'X'\nexport const MOPC_C = 'C'\nexport const MOPC_1 = '1'\nexport const MOPC_2 = '2'\nexport const MOPC_3 = '3'\nexport const MOPC_4 = '4'\nexport const MOPC_5 = '5'\nexport const MOPC_6 = '6'\nexport const MOPC_7 = '7'\nexport const MOPC_8 = '8'\nexport const MOPC_9 = '9'\n\n// enum MaritalStatus\nexport const MS_Married = 'married'\nexport const MS_Separated = 'separated'\nexport const MS_Unmarried = 'unmarried'\nexport const MS_Single = 'single'\n\n// enum MeridianLinkServiceType\nexport const MLST_CustomerSoftCreditReport = 'CustomerSoftCreditReport'\nexport const MLST_CustomerHardCreditReport = 'CustomerHardCreditReport'\n\n// enum MobileHomeDescription\nexport const MHD_New = 'New'\nexport const MHD_Used = 'Used'\nexport const MHD_Repo = 'Repo'\n\n// enum MobileHomeLocation\nexport const MHL_Park = 'Park'\nexport const MHL_LandorHome = 'LandorHome'\nexport const MHL_CoopPark = 'CoopPark'\nexport const MHL_SharedPark = 'SharedPark'\n\n// enum MobileHomeType\nexport const MHT_SingleWide = 'SingleWide'\nexport const MHT_DoubleWide = 'DoubleWide'\nexport const MHT_TripleWide = 'TripleWide'\n\n// enum MortgageAmortization\nexport const MA_Fixed = 'fixed'\nexport const MA_Fixed_biweekly = 'fixed-biweekly'\nexport const MA_Arm51 = 'arm51'\nexport const MA_Arm71 = 'arm71'\nexport const MA_Arm101 = 'arm101'\nexport const MA_Arm56 = 'arm56'\nexport const MA_Arm76 = 'arm76'\nexport const MA_Arm106 = 'arm106'\nexport const MA_Gpm = 'gpm'\nexport const MA_Interestonly = 'interestonly'\nexport const MA_Statedincome = 'statedincome'\nexport const MA_Baloon = 'baloon'\nexport const MA_Otheramortization = 'otheramortization'\nexport const MA_Buydown321 = 'buydown321'\nexport const MA_Buydown21 = 'buydown21'\nexport const MA_Buydown11 = 'buydown11'\n\n// enum MortgageTerm\nexport const MT_Year30 = 'year30'\nexport const MT_Year25 = 'year25'\nexport const MT_Year20 = 'year20'\nexport const MT_Year15 = 'year15'\nexport const MT_Year10 = 'year10'\nexport const MT_Year7 = 'year7'\nexport const MT_Year5 = 'year5'\nexport const MT_Other = 'other'\n\n// enum Occupancy\nexport const O_Principal = 'principal'\nexport const O_Secondhome = 'secondhome'\nexport const O_Investment = 'investment'\nexport const O_Fhasecond = 'fhasecond'\nexport const O_Other = 'other'\n\n// enum OtherAssetOrCredit\nexport const OAOC_ProceedsFromRealEstatePropertyToBeSold = 'ProceedsFromRealEstatePropertyToBeSold'\nexport const OAOC_ProceedsFromSaleOfNonRealEstateAsset = 'ProceedsFromSaleOfNonRealEstateAsset'\nexport const OAOC_SecuredBorrowedFunds = 'SecuredBorrowedFunds'\nexport const OAOC_UnsecuredBorrowedFunds = 'UnsecuredBorrowedFunds'\nexport const OAOC_Other = 'Other'\nexport const OAOC_EarnestMoney = 'EarnestMoney'\nexport const OAOC_EmployerAssistance = 'EmployerAssistance'\nexport const OAOC_LotEquity = 'LotEquity'\nexport const OAOC_RelocationFunds = 'RelocationFunds'\nexport const OAOC_RentCredit = 'RentCredit'\nexport const OAOC_SweatEquity = 'SweatEquity'\nexport const OAOC_TradeEquity = 'TradeEquity'\n\n// enum Ownership\nexport const O_Own = 'own'\nexport const O_Rent = 'rent'\nexport const O_Rentfree = 'rentfree'\n\n// enum Period\nexport const P_Monthly = 'monthly'\nexport const P_Yearly = 'yearly'\nexport const P_Daily = 'daily'\nexport const P_Hourly = 'hourly'\n\n// enum ProjectClassification\nexport const PC_Streamlinereview_freddiemac = 'streamlinereview-freddiemac'\nexport const PC_Establishedproject_freddiemac = 'establishedproject-freddiemac'\nexport const PC_Newproject_freddiemac = 'newproject-freddiemac'\nexport const PC_Detachedproject_freddiemac = 'detachedproject-freddiemac'\nexport const PC_Twotofourunit_freddiemac = 'twotofourunit-freddiemac'\nexport const PC_Reciprocalreview_freddiemac = 'reciprocalreview-freddiemac'\nexport const PC_Exemptfromreview_freddiemac = 'exemptfromreview-freddiemac'\nexport const PC_Plimitedreviewnewdetached_fanniemae = 'plimitedreviewnewdetached-fanniemae'\nexport const PC_Qlimitedreviewestablised_fanniemae = 'qlimitedreviewestablised-fanniemae'\nexport const PC_Rexpectedreviewnew_fanniemae = 'rexpectedreviewnew-fanniemae'\nexport const PC_Sexpectedreviewestablished_fanniemae = 'sexpectedreviewestablished-fanniemae'\nexport const PC_Tfanniemaereview_fanniemae = 'tfanniemaereview-fanniemae'\nexport const PC_Ufhaapproved_fanniemae = 'ufhaapproved-fanniemae'\nexport const PC_Vrefiplus_fanniemae = 'vrefiplus-fanniemae'\nexport const PC_Epud_fanniemae = 'epud-fanniemae'\nexport const PC_Fpud_fanniemae = 'fpud-fanniemae'\nexport const PC_Tpud_fanniemae = 'tpud-fanniemae'\nexport const PC_Onecoop_fanniemae = 'onecoop-fanniemae'\nexport const PC_Twocoop_fanniemae = 'twocoop-fanniemae'\nexport const PC_Tcoop_fanniemae = 'tcoop-fanniemae'\n\n// enum PropertyStatus\nexport const PS_Pending = 'pending'\nexport const PS_Sold = 'sold'\nexport const PS_Retained = 'retained'\n\n// enum PropertyType\nexport const PT_Singlefamilyattached = 'singlefamilyattached'\nexport const PT_Singlefamilydetached = 'singlefamilydetached'\nexport const PT_Condominium = 'condominium'\nexport const PT_Condominiumdetached = 'condominiumdetached'\nexport const PT_Pudattached = 'pudattached'\nexport const PT_Puddetached = 'puddetached'\nexport const PT_Twotofourfamily = 'twotofourfamily'\nexport const PT_Twofamily = 'twofamily'\nexport const PT_Threefamily = 'threefamily'\nexport const PT_Fourfamily = 'fourfamily'\nexport const PT_Multistory = 'multistory'\nexport const PT_Manufacturedhome = 'manufacturedhome'\nexport const PT_Land = 'land'\nexport const PT_Commercial = 'commercial'\nexport const PT_Townhouse = 'townhouse'\nexport const PT_Mixeduse = 'mixeduse'\nexport const PT_Mobilehome = 'mobilehome'\n\n// enum PublicRecordDispositionType\nexport const PRDT_Adjudicated = 'Adjudicated'\nexport const PRDT_Appealed = 'Appealed'\nexport const PRDT_Canceled = 'Canceled'\nexport const PRDT_Completed = 'Completed'\nexport const PRDT_Converted = 'Converted'\nexport const PRDT_Discharged = 'Discharged'\nexport const PRDT_Dismissed = 'Dismissed'\nexport const PRDT_Distributed = 'Distributed'\nexport const PRDT_Filed = 'Filed'\nexport const PRDT_Granted = 'Granted'\nexport const PRDT_InvoluntarilyDischarged = 'InvoluntarilyDischarged'\nexport const PRDT_Nonadjudicated = 'Nonadjudicated'\nexport const PRDT_Other = 'Other'\nexport const PRDT_Paid = 'Paid'\nexport const PRDT_PaidNotSatisfied = 'PaidNotSatisfied'\nexport const PRDT_Pending = 'Pending'\nexport const PRDT_RealEstateSold = 'RealEstateSold'\nexport const PRDT_Released = 'Released'\nexport const PRDT_Rescinded = 'Rescinded'\nexport const PRDT_Satisfied = 'Satisfied'\nexport const PRDT_Settled = 'Settled'\nexport const PRDT_Unknown = 'Unknown'\nexport const PRDT_Unreleased = 'Unreleased'\nexport const PRDT_Unsatisfied = 'Unsatisfied'\nexport const PRDT_Vacated = 'Vacated'\nexport const PRDT_VoluntarilyDischarged = 'VoluntarilyDischarged'\nexport const PRDT_Withdrawn = 'Withdrawn'\n\n// enum PublicRecordOwnershipType\nexport const PROT_Individual = 'Individual'\nexport const PROT_Joint = 'Joint'\nexport const PROT_Terminated = 'Terminated'\n\n// enum PublicRecordType\nexport const PRT_Annulment = 'Annulment'\nexport const PRT_Attachment = 'Attachment'\nexport const PRT_BankruptcyChapter11 = 'BankruptcyChapter11'\nexport const PRT_BankruptcyChapter12 = 'BankruptcyChapter12'\nexport const PRT_BankruptcyChapter13 = 'BankruptcyChapter13'\nexport const PRT_BankruptcyChapter7 = 'BankruptcyChapter7'\nexport const PRT_BankruptcyChapter7Involuntary = 'BankruptcyChapter7Involuntary'\nexport const PRT_BankruptcyChapter7Voluntary = 'BankruptcyChapter7Voluntary'\nexport const PRT_BankruptcyTypeUnknown = 'BankruptcyTypeUnknown'\nexport const PRT_ChildSupport = 'ChildSupport'\nexport const PRT_Collection = 'Collection'\nexport const PRT_CustodyAgreement = 'CustodyAgreement'\nexport const PRT_DivorceDecree = 'DivorceDecree'\nexport const PRT_FamilySupport = 'FamilySupport'\nexport const PRT_FictitiousName = 'FictitiousName'\nexport const PRT_FinancialCounseling = 'FinancialCounseling'\nexport const PRT_FinancingStatement = 'FinancingStatement'\nexport const PRT_ForcibleDetainer = 'ForcibleDetainer'\nexport const PRT_Foreclosure = 'Foreclosure'\nexport const PRT_Garnishment = 'Garnishment'\nexport const PRT_Judgment = 'Judgment'\nexport const PRT_LawSuit = 'LawSuit'\nexport const PRT_Lien = 'Lien'\nexport const PRT_MechanicsLien = 'MechanicsLien'\nexport const PRT_MedicalLien = 'MedicalLien'\nexport const PRT_NonResponsibility = 'NonResponsibility'\nexport const PRT_NoticeOfDefault = 'NoticeOfDefault'\nexport const PRT_Other = 'Other'\nexport const PRT_PublicSale = 'PublicSale'\nexport const PRT_RealEstateRecording = 'RealEstateRecording'\nexport const PRT_Repossession = 'Repossession'\nexport const PRT_SpouseSupport = 'SpouseSupport'\nexport const PRT_SupportDebt = 'SupportDebt'\nexport const PRT_TaxLienCity = 'TaxLienCity'\nexport const PRT_TaxLienCounty = 'TaxLienCounty'\nexport const PRT_TaxLienFederal = 'TaxLienFederal'\nexport const PRT_TaxLienOther = 'TaxLienOther'\nexport const PRT_TaxLienState = 'TaxLienState'\nexport const PRT_Trusteeship = 'Trusteeship'\nexport const PRT_Unknown = 'Unknown'\nexport const PRT_UnlawfulDetainer = 'UnlawfulDetainer'\n\n// enum PurposeOfHardMoneyLoan\nexport const POHML_Purchase = 'purchase'\nexport const POHML_Refinance = 'refinance'\nexport const POHML_Consolidation = 'consolidation'\n\n// enum PurposeOfLoan\nexport const POL_Refinance = 'refinance'\nexport const POL_Purchase = 'purchase'\nexport const POL_Purchaserehab = 'purchaserehab'\nexport const POL_Construction = 'construction'\nexport const POL_Construction_permanent = 'construction-permanent'\nexport const POL_Improvement = 'improvement'\nexport const POL_Cashoutrefinance = 'cashoutrefinance'\n\n// enum PurposeOfRefinance\nexport const POR_Debtconsolidation = 'debtconsolidation'\nexport const POR_Homeimprovement = 'homeimprovement'\nexport const POR_Paytorelatives = 'paytorelatives'\nexport const POR_Cashforreserves = 'cashforreserves'\nexport const POR_Paidcashforsubjectproperty = 'paidcashforsubjectproperty'\nexport const POR_Payingoffheloc = 'payingoffheloc'\nexport const POR_Payingotherproperties = 'payingotherproperties'\nexport const POR_Payingstudentloans = 'payingstudentloans'\nexport const POR_Other = 'other'\n\n// enum ReminderFrequency\nexport const RF_Daily = 'daily'\nexport const RF_Every2Days = 'every2Days'\nexport const RF_Every3Days = 'every3Days'\nexport const RF_Weekly = 'weekly'\nexport const RF_BiWeekly = 'biWeekly'\n\n// enum RentalPropertyType\nexport const RPT_Singlefamily = 'singlefamily'\nexport const RPT_Condominium = 'condominium'\nexport const RPT_Townhouse = 'townhouse'\nexport const RPT_Twotofour = 'twotofour'\nexport const RPT_Mobilehome = 'mobilehome'\nexport const RPT_Commercial = 'commercial'\nexport const RPT_Homeandbusinesscombined = 'homeandbusinesscombined'\nexport const RPT_Mixeduse = 'mixeduse'\nexport const RPT_Farm = 'farm'\nexport const RPT_Land = 'land'\n\n// enum SMSKeys\nexport const SMSK_RateLock = 'RateLock'\nexport const SMSK_CustomerTaskNotification = 'CustomerTaskNotification'\n\n// enum SMSServiceProviders\nexport const SMSSP_AmazonSNS10DLC = 'AmazonSNS10DLC'\n\n// enum SelectionSort\nexport const SS_Selectbyrate = 'selectbyrate'\nexport const SS_Selectbyapr = 'selectbyapr'\nexport const SS_Selectbyinterestterm = 'selectbyinterestterm'\nexport const SS_Selectbyinteresttotal = 'selectbyinteresttotal'\nexport const SS_Selectbymonthlypayment = 'selectbymonthlypayment'\nexport const SS_Selectbyclosingcosts = 'selectbyclosingcosts'\nexport const SS_Selectbyadvanced = 'selectbyadvanced'\n\n// enum Sex\nexport const S_Donttell = 'donttell'\nexport const S_Male = 'male'\nexport const S_Female = 'female'\nexport const S_Other = 'other'\n\n// enum TaskCategory\nexport const TC_Identification = 'identification'\nexport const TC_Income = 'income'\nexport const TC_Assets = 'assets'\nexport const TC_Credit = 'credit'\nexport const TC_Property = 'property'\nexport const TC_Miscellaneous = 'miscellaneous'\nexport const TC_InternalDocuments = 'internalDocuments'\n\n// enum TaskTimeRange\nexport const TTR_Recent30Days = 'recent30Days'\nexport const TTR_Recent2Months = 'recent2Months'\nexport const TTR_Recent3Months = 'recent3Months'\nexport const TTR_Recent6Months = 'recent6Months'\nexport const TTR_Recent1Year = 'recent1Year'\nexport const TTR_Recent2Years = 'recent2Years'\n\n// enum TitleHeld\nexport const TH_Yourself = 'yourself'\nexport const TH_Jointwithspouse = 'jointwithspouse'\nexport const TH_Jointwithother = 'jointwithother'\n\n// enum TypeOfMortgage\nexport const TOM_Conventional = 'conventional'\nexport const TOM_Va = 'va'\nexport const TOM_Fha = 'fha'\nexport const TOM_Usda = 'usda'\nexport const TOM_Nonconventional = 'nonconventional'\nexport const TOM_Nonqm = 'nonqm'\nexport const TOM_Landloan = 'landloan'\nexport const TOM_Constructionloan = 'constructionloan'\nexport const TOM_Heloc = 'heloc'\nexport const TOM_Hardmoneyloan = 'hardmoneyloan'\nexport const TOM_Other = 'other'\n\n// enum UserRoles\nexport const UR_LoanOfficer = 'LoanOfficer'\nexport const UR_LoanOfficerManager = 'LoanOfficerManager'\nexport const UR_Owner = 'Owner'\nexport const UR_RealEstateAgent = 'RealEstateAgent'\nexport const UR_LoanProcessor = 'LoanProcessor'\nexport const UR_PriceEngineUser = 'PriceEngineUser'\nexport const UR_Underwriter = 'Underwriter'\nexport const UR_Closer = 'Closer'\n\n// enum VisaType\nexport const VT_A_1 = 'A-1'\nexport const VT_A_2 = 'A-2'\nexport const VT_A_3 = 'A-3'\nexport const VT_B_1 = 'B-1'\nexport const VT_B_2 = 'B-2'\nexport const VT_B_3 = 'B-3'\nexport const VT_C_1 = 'C-1'\nexport const VT_C_2 = 'C-2'\nexport const VT_C_3 = 'C-3'\nexport const VT_C_4 = 'C-4'\nexport const VT_C_1D = 'C-1D'\nexport const VT_CP = 'CP'\nexport const VT_D_1 = 'D-1'\nexport const VT_D_2 = 'D-2'\nexport const VT_E_1 = 'E-1'\nexport const VT_E_2 = 'E-2'\nexport const VT_E_3 = 'E-3'\nexport const VT_F_1 = 'F-1'\nexport const VT_F_2 = 'F-2'\nexport const VT_F_3 = 'F-3'\nexport const VT_G_1 = 'G-1'\nexport const VT_G_2 = 'G-2'\nexport const VT_G_3 = 'G-3'\nexport const VT_G_4 = 'G-4'\nexport const VT_G_5 = 'G-5'\nexport const VT_H_1A = 'H-1A'\nexport const VT_H_1B = 'H-1B'\nexport const VT_H_1B1 = 'H-1B1'\nexport const VT_H_2 = 'H-2'\nexport const VT_H_2A = 'H-2A'\nexport const VT_H_2B = 'H-2B'\nexport const VT_H_3 = 'H-3'\nexport const VT_H_4 = 'H-4'\nexport const VT_I = 'I'\nexport const VT_OR_1 = 'OR-1'\nexport const VT_J_1 = 'J-1'\nexport const VT_J_2 = 'J-2'\nexport const VT_K_1 = 'K-1'\nexport const VT_K_2 = 'K-2'\nexport const VT_K_3 = 'K-3'\nexport const VT_K_4 = 'K-4'\nexport const VT_L_1 = 'L-1'\nexport const VT_L_2 = 'L-2'\nexport const VT_M_1 = 'M-1'\nexport const VT_M_2 = 'M-2'\nexport const VT_M_3 = 'M-3'\nexport const VT_N_8 = 'N-8'\nexport const VT_N_9 = 'N-9'\nexport const VT_NACARA = 'NACARA'\nexport const VT_NATO_1_5 = 'NATO-1-5'\nexport const VT_NATO_7 = 'NATO-7'\nexport const VT_O_1 = 'O-1'\nexport const VT_O_2 = 'O-2'\nexport const VT_O_3 = 'O-3'\nexport const VT_P_1 = 'P-1'\nexport const VT_P_2 = 'P-2'\nexport const VT_P_3 = 'P-3'\nexport const VT_P_4 = 'P-4'\nexport const VT_Q_1 = 'Q-1'\nexport const VT_Q_2 = 'Q-2'\nexport const VT_Q_3 = 'Q-3'\nexport const VT_R_1 = 'R-1'\nexport const VT_R_2 = 'R-2'\nexport const VT_S_5 = 'S-5'\nexport const VT_S_6 = 'S-6'\nexport const VT_S_7 = 'S-7'\nexport const VT_T_1 = 'T-1'\nexport const VT_T_2 = 'T-2'\nexport const VT_T_3 = 'T-3'\nexport const VT_T_4 = 'T-4'\nexport const VT_TD = 'TD'\nexport const VT_TN = 'TN'\nexport const VT_U_1 = 'U-1'\nexport const VT_U_2 = 'U-2'\nexport const VT_U_3 = 'U-3'\nexport const VT_U_4 = 'U-4'\nexport const VT_V_1 = 'V-1'\nexport const VT_V_2 = 'V-2'\nexport const VT_V_3 = 'V-3'\n\n// enum WaiverYesNo\nexport const WYN_Waiverno = 'waiverno'\nexport const WYN_Waiveryes = 'waiveryes'\n\n// enum YesNo\nexport const YN_No = 'no'\nexport const YN_Yes = 'yes'\n\n// enum armindex\nexport const A_LIBOR = 'LIBOR'\nexport const A_PrimeRate = 'PrimeRate'\nexport const A_COSI = 'COSI'\nexport const A_COFI = 'COFI'\nexport const A_MTA = 'MTA'\nexport const A_TBill = 'TBill'\nexport const A_CMT = 'CMT'\nexport const A_CMT5YR = 'CMT5YR'\nexport const A_CMT10YR = 'CMT10YR'\nexport const A_SOFR = 'SOFR'\n\n// enum coborrowerstatus\nexport const C_Created = 'created'\nexport const C_Invited = 'invited'\nexport const C_Accepted = 'accepted'\nexport const C_Prequalified = 'prequalified'\nexport const C_Fullyfilled = 'fullyfilled'\nexport const C_Documentsdone = 'documentsdone'\n\n// enum company\nexport const C_Fanniemae = 'fanniemae'\nexport const C_Freddiemac = 'freddiemac'\n\n// enum constructiontype\nexport const C_ADU = 'ADU'\n\n// enum howloansatisfied\nexport const H_Not = 'not'\nexport const H_Withproceeds = 'withproceeds'\nexport const H_Withownfunds = 'withownfunds'\n\n// enum incomedoc\nexport const I_Schedulec = 'schedulec'\nexport const I_Schedulef = 'schedulef'\nexport const I_F1065 = 'f1065'\nexport const I_F1120S = 'f1120S'\nexport const I_F1120 = 'f1120'\nexport const I_W2paystub = 'w2paystub'\nexport const I_Schedulek1 = 'schedulek1'\n\n// enum levelofpropertyreview\nexport const L_Exterioraandintertior = 'exterioraandintertior'\nexport const L_Exterioronly = 'exterioronly'\nexport const L_Noappraisal = 'noappraisal'\n\n// enum lientype\nexport const L_Firstlien = 'firstlien'\nexport const L_Subordinatelien = 'subordinatelien'\n\n// enum occupationtype\nexport const O_Unemployed = 'unemployed'\nexport const O_Retired = 'retired'\nexport const O_Employed = 'employed'\n\nexport class AUSreport {\n constructor() {\n this['_recommendation'] = 'approve-eligible'\n this['_AUSengine'] = 'DU'\n this['_id'] = ''\n this['_lpadocclass'] = ''\n this['_requireddfundtoclose'] = ''\n this['_verifiedassets'] = ''\n this['_sourceoffunds'] = ''\n this['_nomonthsofreserves'] = 0\n }\n get recommendation() { return this['_recommendation'] }\n set recommendation(__a__) {\n let __v__ = enumReader(['approve-eligible','approve-ineligible','referwithcaution','outofscope'],'approve-eligible')(__a__)\n if(!_.isEqual(__v__,this['_recommendation'])) {\n setDirtyFlag()\n this['_recommendation'] = __v__\n }\n }\n get AUSengine() { return this['_AUSengine'] }\n set AUSengine(__a__) {\n let __v__ = enumReader(['DU','LPA','other'],'DU')(__a__)\n if(!_.isEqual(__v__,this['_AUSengine'])) {\n setDirtyFlag()\n this['_AUSengine'] = __v__\n }\n }\n get id() { return this['_id'] }\n set id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_id'])) {\n setDirtyFlag()\n this['_id'] = __v__\n }\n }\n get lpadocclass() { return this['_lpadocclass'] }\n set lpadocclass(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lpadocclass'])) {\n setDirtyFlag()\n this['_lpadocclass'] = __v__\n }\n }\n get requireddfundtoclose() { return this['_requireddfundtoclose'] }\n set requireddfundtoclose(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_requireddfundtoclose'])) {\n setDirtyFlag()\n this['_requireddfundtoclose'] = __v__\n }\n }\n get verifiedassets() { return this['_verifiedassets'] }\n set verifiedassets(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_verifiedassets'])) {\n setDirtyFlag()\n this['_verifiedassets'] = __v__\n }\n }\n get sourceoffunds() { return this['_sourceoffunds'] }\n set sourceoffunds(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_sourceoffunds'])) {\n setDirtyFlag()\n this['_sourceoffunds'] = __v__\n }\n }\n get nomonthsofreserves() { return this['_nomonthsofreserves'] }\n set nomonthsofreserves(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_nomonthsofreserves'])) {\n setDirtyFlag()\n this['_nomonthsofreserves'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new AUSreport()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.recommendation = __a__['recommendation']\n cls.AUSengine = __a__['AUSengine']\n cls.id = __a__['id']\n cls.lpadocclass = __a__['lpadocclass']\n cls.requireddfundtoclose = __a__['requireddfundtoclose']\n cls.verifiedassets = __a__['verifiedassets']\n cls.sourceoffunds = __a__['sourceoffunds']\n cls.nomonthsofreserves = __a__['nomonthsofreserves']\n } else {\n doAlert(`AUSreport: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Asian {\n constructor() {\n this['_asianindian'] = false\n this['_chinese'] = false\n this['_filipino'] = false\n this['_japanese'] = false\n this['_korean'] = false\n this['_vietnamese'] = false\n this['_otherasian'] = false\n this['_otherdesctiption'] = ''\n }\n get asianindian() { return this['_asianindian'] }\n set asianindian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_asianindian'])) {\n setDirtyFlag()\n this['_asianindian'] = __v__\n }\n }\n get chinese() { return this['_chinese'] }\n set chinese(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_chinese'])) {\n setDirtyFlag()\n this['_chinese'] = __v__\n }\n }\n get filipino() { return this['_filipino'] }\n set filipino(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_filipino'])) {\n setDirtyFlag()\n this['_filipino'] = __v__\n }\n }\n get japanese() { return this['_japanese'] }\n set japanese(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_japanese'])) {\n setDirtyFlag()\n this['_japanese'] = __v__\n }\n }\n get korean() { return this['_korean'] }\n set korean(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_korean'])) {\n setDirtyFlag()\n this['_korean'] = __v__\n }\n }\n get vietnamese() { return this['_vietnamese'] }\n set vietnamese(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_vietnamese'])) {\n setDirtyFlag()\n this['_vietnamese'] = __v__\n }\n }\n get otherasian() { return this['_otherasian'] }\n set otherasian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_otherasian'])) {\n setDirtyFlag()\n this['_otherasian'] = __v__\n }\n }\n get otherdesctiption() { return this['_otherdesctiption'] }\n set otherdesctiption(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_otherdesctiption'])) {\n setDirtyFlag()\n this['_otherdesctiption'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Asian()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.asianindian = __a__['asianindian']\n cls.chinese = __a__['chinese']\n cls.filipino = __a__['filipino']\n cls.japanese = __a__['japanese']\n cls.korean = __a__['korean']\n cls.vietnamese = __a__['vietnamese']\n cls.otherasian = __a__['otherasian']\n cls.otherdesctiption = __a__['otherdesctiption']\n } else {\n doAlert(`Asian: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Buydown {\n constructor() {\n this['_isbuydown'] = false\n this['_buydownterm'] = 0\n this['_buydownrate'] = 0.0\n }\n get isbuydown() { return this['_isbuydown'] }\n set isbuydown(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isbuydown'])) {\n setDirtyFlag()\n this['_isbuydown'] = __v__\n }\n }\n get buydownterm() { return this['_buydownterm'] }\n set buydownterm(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_buydownterm'])) {\n setDirtyFlag()\n this['_buydownterm'] = __v__\n }\n }\n get buydownrate() { return this['_buydownrate'] }\n set buydownrate(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_buydownrate'])) {\n setDirtyFlag()\n this['_buydownrate'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Buydown()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.isbuydown = __a__['isbuydown']\n cls.buydownterm = __a__['buydownterm']\n cls.buydownrate = __a__['buydownrate']\n } else {\n doAlert(`Buydown: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class CategorizedLoans {\n constructor() {\n this['_Mortgage'] = null\n this['_CreditLine'] = null\n this['_Open'] = null\n this['_Installment'] = null\n this['_Revolving'] = null\n this['_Unknown'] = null\n }\n get Mortgage() { return this['_Mortgage'] }\n set Mortgage(__a__) {\n setDirtyFlag()\n this['_Mortgage'] = __a__\n }\n get CreditLine() { return this['_CreditLine'] }\n set CreditLine(__a__) {\n setDirtyFlag()\n this['_CreditLine'] = __a__\n }\n get Open() { return this['_Open'] }\n set Open(__a__) {\n setDirtyFlag()\n this['_Open'] = __a__\n }\n get Installment() { return this['_Installment'] }\n set Installment(__a__) {\n setDirtyFlag()\n this['_Installment'] = __a__\n }\n get Revolving() { return this['_Revolving'] }\n set Revolving(__a__) {\n setDirtyFlag()\n this['_Revolving'] = __a__\n }\n get Unknown() { return this['_Unknown'] }\n set Unknown(__a__) {\n setDirtyFlag()\n this['_Unknown'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new CategorizedLoans()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.Mortgage = __a__['Mortgage'] == null ? null : array1Reader(stringReader(''))(__a__['Mortgage'])\n cls.CreditLine = __a__['CreditLine'] == null ? null : array1Reader(stringReader(''))(__a__['CreditLine'])\n cls.Open = __a__['Open'] == null ? null : array1Reader(stringReader(''))(__a__['Open'])\n cls.Installment = __a__['Installment'] == null ? null : array1Reader(stringReader(''))(__a__['Installment'])\n cls.Revolving = __a__['Revolving'] == null ? null : array1Reader(stringReader(''))(__a__['Revolving'])\n cls.Unknown = __a__['Unknown'] == null ? null : array1Reader(stringReader(''))(__a__['Unknown'])\n } else {\n doAlert(`CategorizedLoans: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class ChosenLoan {\n constructor() {\n this['_hash'] = ''\n this['_APR'] = 0.0\n this['_Arm'] = null\n this['_amortization'] = 'fixed'\n this['_Mtype'] = ''\n this['_Term'] = 0\n this['_base_rate'] = 0.0\n this['_closing_cost'] = 0.0\n this['_features'] = new productfeatures()\n this['_high_cost_mortgage'] = false\n this['_lender_credit'] = 0.0\n this['_lender_fee'] = 0.0\n this['_lockDay'] = 0\n this['_min_months_reserves'] = 0\n this['_monthly_payment'] = 0.0\n this['_prepaid_interest'] = 0.0\n this['_points'] = 0.0\n this['_loansize'] = 0\n this['_downpayment'] = 0\n this['_paydown'] = 0\n this['_cashout'] = 0\n this['_pmi'] = 0.0\n this['_FHAMIP'] = null\n this['_matchingproducts'] = []\n this['_lockstatus'] = 'none'\n this['_lockdate'] = ''\n this['_purpose'] = 'refinance'\n this['_estimatedclosingcosts'] = null\n this['_ourfee'] = null\n this['_prepaiddays'] = null\n this['_productname'] = null\n this['_DTI'] = null\n this['_maxcashout'] = null\n this['_payout'] = null\n }\n get hash() { return this['_hash'] }\n set hash(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_hash'])) {\n setDirtyFlag()\n this['_hash'] = __v__\n }\n }\n get APR() { return this['_APR'] }\n set APR(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_APR'])) {\n setDirtyFlag()\n this['_APR'] = __v__\n }\n }\n get Arm() { return this['_Arm'] }\n set Arm(__a__) {\n if(__a__ == null) {\n if(this['_Arm'] == null) { return }\n setDirtyFlag()\n this['_Arm'] = null\n return\n } else {\n setDirtyFlag()\n this['_Arm'] = __a__\n }\n }\n get amortization() { return this['_amortization'] }\n set amortization(__a__) {\n let __v__ = enumReader(['fixed','fixed-biweekly','arm51','arm71','arm101','arm56','arm76','arm106','gpm','interestonly','statedincome','baloon','otheramortization','buydown321','buydown21','buydown11'],'fixed')(__a__)\n if(!_.isEqual(__v__,this['_amortization'])) {\n setDirtyFlag()\n this['_amortization'] = __v__\n }\n }\n get Mtype() { return this['_Mtype'] }\n set Mtype(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Mtype'])) {\n setDirtyFlag()\n this['_Mtype'] = __v__\n }\n }\n get Term() { return this['_Term'] }\n set Term(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_Term'])) {\n setDirtyFlag()\n this['_Term'] = __v__\n }\n }\n get base_rate() { return this['_base_rate'] }\n set base_rate(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_base_rate'])) {\n setDirtyFlag()\n this['_base_rate'] = __v__\n }\n }\n get closing_cost() { return this['_closing_cost'] }\n set closing_cost(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_closing_cost'])) {\n setDirtyFlag()\n this['_closing_cost'] = __v__\n }\n }\n get features() { return this['_features'] }\n set features(__a__) {\n setDirtyFlag()\n this['_features'] = __a__\n }\n get high_cost_mortgage() { return this['_high_cost_mortgage'] }\n set high_cost_mortgage(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_high_cost_mortgage'])) {\n setDirtyFlag()\n this['_high_cost_mortgage'] = __v__\n }\n }\n get lender_credit() { return this['_lender_credit'] }\n set lender_credit(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_lender_credit'])) {\n setDirtyFlag()\n this['_lender_credit'] = __v__\n }\n }\n get lender_fee() { return this['_lender_fee'] }\n set lender_fee(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_lender_fee'])) {\n setDirtyFlag()\n this['_lender_fee'] = __v__\n }\n }\n get lockDay() { return this['_lockDay'] }\n set lockDay(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_lockDay'])) {\n setDirtyFlag()\n this['_lockDay'] = __v__\n }\n }\n get min_months_reserves() { return this['_min_months_reserves'] }\n set min_months_reserves(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_min_months_reserves'])) {\n setDirtyFlag()\n this['_min_months_reserves'] = __v__\n }\n }\n get monthly_payment() { return this['_monthly_payment'] }\n set monthly_payment(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_monthly_payment'])) {\n setDirtyFlag()\n this['_monthly_payment'] = __v__\n }\n }\n get prepaid_interest() { return this['_prepaid_interest'] }\n set prepaid_interest(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_prepaid_interest'])) {\n setDirtyFlag()\n this['_prepaid_interest'] = __v__\n }\n }\n get points() { return this['_points'] }\n set points(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_points'])) {\n setDirtyFlag()\n this['_points'] = __v__\n }\n }\n get loansize() { return this['_loansize'] }\n set loansize(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_loansize'])) {\n setDirtyFlag()\n this['_loansize'] = __v__\n }\n }\n get downpayment() { return this['_downpayment'] }\n set downpayment(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_downpayment'])) {\n setDirtyFlag()\n this['_downpayment'] = __v__\n }\n }\n get paydown() { return this['_paydown'] }\n set paydown(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_paydown'])) {\n setDirtyFlag()\n this['_paydown'] = __v__\n }\n }\n get cashout() { return this['_cashout'] }\n set cashout(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_cashout'])) {\n setDirtyFlag()\n this['_cashout'] = __v__\n }\n }\n get pmi() { return this['_pmi'] }\n set pmi(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_pmi'])) {\n setDirtyFlag()\n this['_pmi'] = __v__\n }\n }\n get FHAMIP() { return this['_FHAMIP'] }\n set FHAMIP(__a__) {\n if(__a__ == null) {\n if(this['_FHAMIP'] == null) { return }\n setDirtyFlag()\n this['_FHAMIP'] = null\n return\n } else {\n setDirtyFlag()\n this['_FHAMIP'] = __a__\n }\n }\n get matchingproducts() { return this['_matchingproducts'] }\n set matchingproducts(__a__) {\n setDirtyFlag()\n this['_matchingproducts'] = __a__\n }\n get lockstatus() { return this['_lockstatus'] }\n set lockstatus(__a__) {\n let __v__ = enumReader(['none','requested','locked','expired'],'none')(__a__)\n if(!_.isEqual(__v__,this['_lockstatus'])) {\n setDirtyFlag()\n this['_lockstatus'] = __v__\n }\n }\n get lockdate() { return this['_lockdate'] }\n set lockdate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_lockdate'])) {\n setDirtyFlag()\n this['_lockdate'] = __v__\n }\n }\n get purpose() { return this['_purpose'] }\n set purpose(__a__) {\n let __v__ = enumReader(['refinance','purchase','purchaserehab','construction','construction-permanent','improvement','cashoutrefinance'],'refinance')(__a__)\n if(!_.isEqual(__v__,this['_purpose'])) {\n setDirtyFlag()\n this['_purpose'] = __v__\n }\n }\n get estimatedclosingcosts() { return this['_estimatedclosingcosts'] }\n set estimatedclosingcosts(__a__) {\n if(__a__ == null) {\n if(this['_estimatedclosingcosts'] == null) { return }\n setDirtyFlag()\n this['_estimatedclosingcosts'] = null\n return\n } else {\n setDirtyFlag()\n this['_estimatedclosingcosts'] = __a__\n }\n }\n get ourfee() { return this['_ourfee'] }\n set ourfee(__a__) {\n if(__a__ == null) {\n if(this['_ourfee'] == null) { return }\n setDirtyFlag()\n this['_ourfee'] = null\n return\n } else {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_ourfee'])) {\n setDirtyFlag()\n this['_ourfee'] = __v__\n }\n }\n }\n get prepaiddays() { return this['_prepaiddays'] }\n set prepaiddays(__a__) {\n if(__a__ == null) {\n if(this['_prepaiddays'] == null) { return }\n setDirtyFlag()\n this['_prepaiddays'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_prepaiddays'])) {\n setDirtyFlag()\n this['_prepaiddays'] = __v__\n }\n }\n }\n get productname() { return this['_productname'] }\n set productname(__a__) {\n if(__a__ == null) {\n if(this['_productname'] == null) { return }\n setDirtyFlag()\n this['_productname'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_productname'])) {\n setDirtyFlag()\n this['_productname'] = __v__\n }\n }\n }\n get DTI() { return this['_DTI'] }\n set DTI(__a__) {\n if(__a__ == null) {\n if(this['_DTI'] == null) { return }\n setDirtyFlag()\n this['_DTI'] = null\n return\n } else {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_DTI'])) {\n setDirtyFlag()\n this['_DTI'] = __v__\n }\n }\n }\n get maxcashout() { return this['_maxcashout'] }\n set maxcashout(__a__) {\n if(__a__ == null) {\n if(this['_maxcashout'] == null) { return }\n setDirtyFlag()\n this['_maxcashout'] = null\n return\n } else {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_maxcashout'])) {\n setDirtyFlag()\n this['_maxcashout'] = __v__\n }\n }\n }\n get payout() { return this['_payout'] }\n set payout(__a__) {\n if(__a__ == null) {\n if(this['_payout'] == null) { return }\n setDirtyFlag()\n this['_payout'] = null\n return\n } else {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_payout'])) {\n setDirtyFlag()\n this['_payout'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new ChosenLoan()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hash = __a__['hash']\n cls.APR = __a__['APR']\n cls.Arm = __a__['Arm'] == null ? null : armterms.fromJson(__a__['Arm'])\n cls.amortization = __a__['amortization']\n cls.Mtype = __a__['Mtype']\n cls.Term = __a__['Term']\n cls.base_rate = __a__['base_rate']\n cls.closing_cost = __a__['closing_cost']\n cls.features = productfeatures.fromJson(__a__['features'])\n cls.high_cost_mortgage = __a__['high_cost_mortgage']\n cls.lender_credit = __a__['lender_credit']\n cls.lender_fee = __a__['lender_fee']\n cls.lockDay = __a__['lockDay']\n cls.min_months_reserves = __a__['min_months_reserves']\n cls.monthly_payment = __a__['monthly_payment']\n cls.prepaid_interest = __a__['prepaid_interest']\n cls.points = __a__['points']\n cls.loansize = __a__['loansize']\n cls.downpayment = __a__['downpayment']\n cls.paydown = __a__['paydown']\n cls.cashout = __a__['cashout']\n cls.pmi = __a__['pmi']\n cls.FHAMIP = __a__['FHAMIP'] == null ? null : FHAMIP.fromJson(__a__['FHAMIP'])\n cls.matchingproducts = array1Reader(LoanProduct.fromJson)(__a__['matchingproducts'])\n cls.lockstatus = __a__['lockstatus']\n cls.lockdate = __a__['lockdate']\n cls.purpose = __a__['purpose']\n cls.estimatedclosingcosts = __a__['estimatedclosingcosts'] == null ? null : fees.fromJson(__a__['estimatedclosingcosts'])\n cls.ourfee = __a__['ourfee'] == null ? null : __a__['ourfee']\n cls.prepaiddays = __a__['prepaiddays'] == null ? null : __a__['prepaiddays']\n cls.productname = __a__['productname'] == null ? null : __a__['productname']\n cls.DTI = __a__['DTI'] == null ? null : __a__['DTI']\n cls.maxcashout = __a__['maxcashout'] == null ? null : __a__['maxcashout']\n cls.payout = __a__['payout'] == null ? null : __a__['payout']\n } else {\n doAlert(`ChosenLoan: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class CostFilter {\n constructor() {\n this['_lowvalue'] = 0\n this['_highvalue'] = -1\n }\n get lowvalue() { return this['_lowvalue'] }\n set lowvalue(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_lowvalue'])) {\n setDirtyFlag()\n this['_lowvalue'] = __v__\n }\n }\n get highvalue() { return this['_highvalue'] }\n set highvalue(__a__) {\n let __v__ = intReader(-1)(__a__)\n if(!_.isEqual(__v__,this['_highvalue'])) {\n setDirtyFlag()\n this['_highvalue'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new CostFilter()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.lowvalue = __a__['lowvalue']\n cls.highvalue = __a__['highvalue']\n } else {\n doAlert(`CostFilter: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class CreditAccount {\n constructor() {\n this['_Vendor'] = ''\n this['_Username'] = ''\n this['_Password'] = ''\n this['_UseExperian'] = false\n this['_UseEquifax'] = false\n this['_UseTransUnion'] = false\n this['_AutomatedSoftCreditPull'] = false\n this['_Type'] = 'SoftPull'\n this['_IsDefault'] = false\n }\n get Vendor() { return this['_Vendor'] }\n set Vendor(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Vendor'])) {\n setDirtyFlag()\n this['_Vendor'] = __v__\n }\n }\n get Username() { return this['_Username'] }\n set Username(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Username'])) {\n setDirtyFlag()\n this['_Username'] = __v__\n }\n }\n get Password() { return this['_Password'] }\n set Password(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Password'])) {\n setDirtyFlag()\n this['_Password'] = __v__\n }\n }\n get UseExperian() { return this['_UseExperian'] }\n set UseExperian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_UseExperian'])) {\n setDirtyFlag()\n this['_UseExperian'] = __v__\n }\n }\n get UseEquifax() { return this['_UseEquifax'] }\n set UseEquifax(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_UseEquifax'])) {\n setDirtyFlag()\n this['_UseEquifax'] = __v__\n }\n }\n get UseTransUnion() { return this['_UseTransUnion'] }\n set UseTransUnion(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_UseTransUnion'])) {\n setDirtyFlag()\n this['_UseTransUnion'] = __v__\n }\n }\n get AutomatedSoftCreditPull() { return this['_AutomatedSoftCreditPull'] }\n set AutomatedSoftCreditPull(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_AutomatedSoftCreditPull'])) {\n setDirtyFlag()\n this['_AutomatedSoftCreditPull'] = __v__\n }\n }\n get Type() { return this['_Type'] }\n set Type(__a__) {\n let __v__ = enumReader(['SoftPull','HardPull','Universal'],'SoftPull')(__a__)\n if(!_.isEqual(__v__,this['_Type'])) {\n setDirtyFlag()\n this['_Type'] = __v__\n }\n }\n get IsDefault() { return this['_IsDefault'] }\n set IsDefault(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_IsDefault'])) {\n setDirtyFlag()\n this['_IsDefault'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new CreditAccount()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.Vendor = __a__['Vendor']\n cls.Username = __a__['Username']\n cls.Password = __a__['Password']\n cls.UseExperian = __a__['UseExperian']\n cls.UseEquifax = __a__['UseEquifax']\n cls.UseTransUnion = __a__['UseTransUnion']\n cls.AutomatedSoftCreditPull = __a__['AutomatedSoftCreditPull']\n cls.Type = __a__['Type']\n cls.IsDefault = __a__['IsDefault']\n } else {\n doAlert(`CreditAccount: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class CreditAccountConfiguration {\n constructor() {\n this['_Accounts'] = []\n }\n get Accounts() { return this['_Accounts'] }\n set Accounts(__a__) {\n setDirtyFlag()\n this['_Accounts'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new CreditAccountConfiguration()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.Accounts = array1Reader(CreditAccount.fromJson)(__a__['Accounts'])\n } else {\n doAlert(`CreditAccountConfiguration: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class CustomerConfigurations {\n constructor() {\n this['_isBetaCustomer'] = false\n this['_isNonQMCustomer'] = false\n this['_isMobileHomeOnly'] = false\n this['_loanEstimatedClosingFee'] = null\n }\n get isBetaCustomer() { return this['_isBetaCustomer'] }\n set isBetaCustomer(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isBetaCustomer'])) {\n setDirtyFlag()\n this['_isBetaCustomer'] = __v__\n }\n }\n get isNonQMCustomer() { return this['_isNonQMCustomer'] }\n set isNonQMCustomer(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isNonQMCustomer'])) {\n setDirtyFlag()\n this['_isNonQMCustomer'] = __v__\n }\n }\n get isMobileHomeOnly() { return this['_isMobileHomeOnly'] }\n set isMobileHomeOnly(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isMobileHomeOnly'])) {\n setDirtyFlag()\n this['_isMobileHomeOnly'] = __v__\n }\n }\n get loanEstimatedClosingFee() { return this['_loanEstimatedClosingFee'] }\n set loanEstimatedClosingFee(__a__) {\n if(__a__ == null) {\n if(this['_loanEstimatedClosingFee'] == null) { return }\n setDirtyFlag()\n this['_loanEstimatedClosingFee'] = null\n return\n } else {\n setDirtyFlag()\n this['_loanEstimatedClosingFee'] = __a__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new CustomerConfigurations()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.isBetaCustomer = __a__['isBetaCustomer']\n cls.isNonQMCustomer = __a__['isNonQMCustomer']\n cls.isMobileHomeOnly = __a__['isMobileHomeOnly']\n cls.loanEstimatedClosingFee = __a__['loanEstimatedClosingFee'] == null ? null : EstimatedClosingCosts.fromJson(__a__['loanEstimatedClosingFee'])\n } else {\n doAlert(`CustomerConfigurations: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class DocumentsAutoReminderConfiguration {\n constructor() {\n this['_TurnedOn'] = false\n this['_ReminderFrequency'] = 'every2Days'\n this['_EndWhen'] = new DocumentsAutoReminderEndWhen()\n }\n get TurnedOn() { return this['_TurnedOn'] }\n set TurnedOn(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_TurnedOn'])) {\n setDirtyFlag()\n this['_TurnedOn'] = __v__\n }\n }\n get ReminderFrequency() { return this['_ReminderFrequency'] }\n set ReminderFrequency(__a__) {\n let __v__ = enumReader(['daily','every2Days','every3Days','weekly','biWeekly'],'every2Days')(__a__)\n if(!_.isEqual(__v__,this['_ReminderFrequency'])) {\n setDirtyFlag()\n this['_ReminderFrequency'] = __v__\n }\n }\n get EndWhen() { return this['_EndWhen'] }\n set EndWhen(__a__) {\n setDirtyFlag()\n this['_EndWhen'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new DocumentsAutoReminderConfiguration()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.TurnedOn = __a__['TurnedOn']\n cls.ReminderFrequency = __a__['ReminderFrequency']\n cls.EndWhen = DocumentsAutoReminderEndWhen.fromJson(__a__['EndWhen'])\n } else {\n doAlert(`DocumentsAutoReminderConfiguration: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class DocumentsAutoReminderEndWhen {\n constructor() {\n this['_WhenLoanFunded'] = null\n this['_AfterNumberOfDays'] = null\n this['_WhenDate'] = null\n }\n get WhenLoanFunded() { return this['_WhenLoanFunded'] }\n set WhenLoanFunded(__a__) {\n if(__a__ == null) {\n if(this['_WhenLoanFunded'] == null) { return }\n setDirtyFlag()\n this['_WhenLoanFunded'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_WhenLoanFunded'])) {\n setDirtyFlag()\n this['_WhenLoanFunded'] = __v__\n }\n }\n }\n get AfterNumberOfDays() { return this['_AfterNumberOfDays'] }\n set AfterNumberOfDays(__a__) {\n if(__a__ == null) {\n if(this['_AfterNumberOfDays'] == null) { return }\n setDirtyFlag()\n this['_AfterNumberOfDays'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_AfterNumberOfDays'])) {\n setDirtyFlag()\n this['_AfterNumberOfDays'] = __v__\n }\n }\n }\n get WhenDate() { return this['_WhenDate'] }\n set WhenDate(__a__) {\n if(__a__ == null) {\n if(this['_WhenDate'] == null) { return }\n setDirtyFlag()\n this['_WhenDate'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_WhenDate'])) {\n setDirtyFlag()\n this['_WhenDate'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new DocumentsAutoReminderEndWhen()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.WhenLoanFunded = __a__['WhenLoanFunded'] == null ? null : __a__['WhenLoanFunded']\n cls.AfterNumberOfDays = __a__['AfterNumberOfDays'] == null ? null : __a__['AfterNumberOfDays']\n cls.WhenDate = __a__['WhenDate'] == null ? null : __a__['WhenDate']\n } else {\n doAlert(`DocumentsAutoReminderEndWhen: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class EstimatedClosingCosts {\n constructor() {\n this['_cannotshopservices'] = []\n this['_canshopservices'] = []\n }\n get cannotshopservices() { return this['_cannotshopservices'] }\n set cannotshopservices(__a__) {\n setDirtyFlag()\n this['_cannotshopservices'] = __a__\n }\n get canshopservices() { return this['_canshopservices'] }\n set canshopservices(__a__) {\n setDirtyFlag()\n this['_canshopservices'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new EstimatedClosingCosts()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.cannotshopservices = array1Reader(service.fromJson)(__a__['cannotshopservices'])\n cls.canshopservices = array1Reader(service.fromJson)(__a__['canshopservices'])\n } else {\n doAlert(`EstimatedClosingCosts: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class FHAMIP {\n constructor() {\n this['_upfrontMIP'] = 0.0\n this['_monthlyMIP'] = 0.0\n }\n get upfrontMIP() { return this['_upfrontMIP'] }\n set upfrontMIP(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_upfrontMIP'])) {\n setDirtyFlag()\n this['_upfrontMIP'] = __v__\n }\n }\n get monthlyMIP() { return this['_monthlyMIP'] }\n set monthlyMIP(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_monthlyMIP'])) {\n setDirtyFlag()\n this['_monthlyMIP'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new FHAMIP()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.upfrontMIP = __a__['upfrontMIP']\n cls.monthlyMIP = __a__['monthlyMIP']\n } else {\n doAlert(`FHAMIP: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class FutureExpenses {\n constructor() {\n this['_otherfinancing'] = ''\n this['_otherfinancingperiod'] = 'monthly'\n this['_homeownersinsurance'] = ''\n this['_homeownersinsuranceperiod'] = 'monthly'\n this['_realestatetaxes'] = ''\n this['_realestatetaxesperiod'] = 'monthly'\n this['_hoa'] = ''\n this['_hoaperiod'] = 'monthly'\n this['_floodinsurance'] = ''\n this['_floodinsuranceperiod'] = 'monthly'\n this['_estimatedmonthlytotal'] = ''\n }\n get otherfinancing() { return this['_otherfinancing'] }\n set otherfinancing(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_otherfinancing'])) {\n setDirtyFlag()\n this['_otherfinancing'] = __v__\n }\n }\n get otherfinancingperiod() { return this['_otherfinancingperiod'] }\n set otherfinancingperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_otherfinancingperiod'])) {\n setDirtyFlag()\n this['_otherfinancingperiod'] = __v__\n }\n }\n get homeownersinsurance() { return this['_homeownersinsurance'] }\n set homeownersinsurance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_homeownersinsurance'])) {\n setDirtyFlag()\n this['_homeownersinsurance'] = __v__\n }\n }\n get homeownersinsuranceperiod() { return this['_homeownersinsuranceperiod'] }\n set homeownersinsuranceperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_homeownersinsuranceperiod'])) {\n setDirtyFlag()\n this['_homeownersinsuranceperiod'] = __v__\n }\n }\n get realestatetaxes() { return this['_realestatetaxes'] }\n set realestatetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_realestatetaxes'])) {\n setDirtyFlag()\n this['_realestatetaxes'] = __v__\n }\n }\n get realestatetaxesperiod() { return this['_realestatetaxesperiod'] }\n set realestatetaxesperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_realestatetaxesperiod'])) {\n setDirtyFlag()\n this['_realestatetaxesperiod'] = __v__\n }\n }\n get hoa() { return this['_hoa'] }\n set hoa(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_hoa'])) {\n setDirtyFlag()\n this['_hoa'] = __v__\n }\n }\n get hoaperiod() { return this['_hoaperiod'] }\n set hoaperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_hoaperiod'])) {\n setDirtyFlag()\n this['_hoaperiod'] = __v__\n }\n }\n get floodinsurance() { return this['_floodinsurance'] }\n set floodinsurance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_floodinsurance'])) {\n setDirtyFlag()\n this['_floodinsurance'] = __v__\n }\n }\n get floodinsuranceperiod() { return this['_floodinsuranceperiod'] }\n set floodinsuranceperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_floodinsuranceperiod'])) {\n setDirtyFlag()\n this['_floodinsuranceperiod'] = __v__\n }\n }\n get estimatedmonthlytotal() { return this['_estimatedmonthlytotal'] }\n set estimatedmonthlytotal(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_estimatedmonthlytotal'])) {\n setDirtyFlag()\n this['_estimatedmonthlytotal'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new FutureExpenses()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.otherfinancing = __a__['otherfinancing']\n cls.otherfinancingperiod = __a__['otherfinancingperiod']\n cls.homeownersinsurance = __a__['homeownersinsurance']\n cls.homeownersinsuranceperiod = __a__['homeownersinsuranceperiod']\n cls.realestatetaxes = __a__['realestatetaxes']\n cls.realestatetaxesperiod = __a__['realestatetaxesperiod']\n cls.hoa = __a__['hoa']\n cls.hoaperiod = __a__['hoaperiod']\n cls.floodinsurance = __a__['floodinsurance']\n cls.floodinsuranceperiod = __a__['floodinsuranceperiod']\n cls.estimatedmonthlytotal = __a__['estimatedmonthlytotal']\n } else {\n doAlert(`FutureExpenses: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class HardMoneyLoan {\n constructor() {\n this['_serialnumber'] = ''\n this['_estimatedfico'] = 0\n this['_coborrowerestimatedfico'] = 0\n this['_targetclosingdate'] = ''\n this['_initialloanamount'] = ''\n this['_mortgagetermmonths'] = 0\n this['_rehabloan'] = false\n this['_rehabloanamount'] = ''\n this['_timesofflippingaproperty'] = 0\n this['_timesofpurchasingarentalproperty'] = 0\n this['_refinanceloanamount'] = ''\n this['_constructiontype'] = null\n this['_constructionbudget'] = ''\n this['_projectedafterrepairvalue'] = ''\n this['_constructionloanamount'] = ''\n this['_borrowertype'] = 'LLC'\n this['_entityinfo'] = null\n this['_loantype'] = 'fixflip'\n this['_propertyflippingexperiences'] = []\n this['_rentalpropertyexperiences'] = []\n this['_initialadvancerequested'] = ''\n this['_assignmentfee'] = false\n this['_liquidity'] = ''\n this['_exitstrategy'] = null\n this['_rehabdetails'] = new rehabdetails()\n this['_refinancedetails'] = new refinancedetails()\n }\n get serialnumber() { return this['_serialnumber'] }\n set serialnumber(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_serialnumber'])) {\n setDirtyFlag()\n this['_serialnumber'] = __v__\n }\n }\n get estimatedfico() { return this['_estimatedfico'] }\n set estimatedfico(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_estimatedfico'])) {\n setDirtyFlag()\n this['_estimatedfico'] = __v__\n }\n }\n get coborrowerestimatedfico() { return this['_coborrowerestimatedfico'] }\n set coborrowerestimatedfico(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_coborrowerestimatedfico'])) {\n setDirtyFlag()\n this['_coborrowerestimatedfico'] = __v__\n }\n }\n get targetclosingdate() { return this['_targetclosingdate'] }\n set targetclosingdate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_targetclosingdate'])) {\n setDirtyFlag()\n this['_targetclosingdate'] = __v__\n }\n }\n get initialloanamount() { return this['_initialloanamount'] }\n set initialloanamount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_initialloanamount'])) {\n setDirtyFlag()\n this['_initialloanamount'] = __v__\n }\n }\n get mortgagetermmonths() { return this['_mortgagetermmonths'] }\n set mortgagetermmonths(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_mortgagetermmonths'])) {\n setDirtyFlag()\n this['_mortgagetermmonths'] = __v__\n }\n }\n get rehabloan() { return this['_rehabloan'] }\n set rehabloan(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_rehabloan'])) {\n setDirtyFlag()\n this['_rehabloan'] = __v__\n }\n }\n get rehabloanamount() { return this['_rehabloanamount'] }\n set rehabloanamount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rehabloanamount'])) {\n setDirtyFlag()\n this['_rehabloanamount'] = __v__\n }\n }\n get timesofflippingaproperty() { return this['_timesofflippingaproperty'] }\n set timesofflippingaproperty(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_timesofflippingaproperty'])) {\n setDirtyFlag()\n this['_timesofflippingaproperty'] = __v__\n }\n }\n get timesofpurchasingarentalproperty() { return this['_timesofpurchasingarentalproperty'] }\n set timesofpurchasingarentalproperty(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_timesofpurchasingarentalproperty'])) {\n setDirtyFlag()\n this['_timesofpurchasingarentalproperty'] = __v__\n }\n }\n get refinanceloanamount() { return this['_refinanceloanamount'] }\n set refinanceloanamount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_refinanceloanamount'])) {\n setDirtyFlag()\n this['_refinanceloanamount'] = __v__\n }\n }\n get constructiontype() { return this['_constructiontype'] }\n set constructiontype(__a__) {\n if(__a__ == null) {\n if(this['_constructiontype'] == null) { return }\n setDirtyFlag()\n this['_constructiontype'] = null\n return\n } else {\n let __v__ = enumReader(['ADU'],'ADU')(__a__)\n if(!_.isEqual(__v__,this['_constructiontype'])) {\n setDirtyFlag()\n this['_constructiontype'] = __v__\n }\n }\n }\n get constructionbudget() { return this['_constructionbudget'] }\n set constructionbudget(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_constructionbudget'])) {\n setDirtyFlag()\n this['_constructionbudget'] = __v__\n }\n }\n get projectedafterrepairvalue() { return this['_projectedafterrepairvalue'] }\n set projectedafterrepairvalue(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_projectedafterrepairvalue'])) {\n setDirtyFlag()\n this['_projectedafterrepairvalue'] = __v__\n }\n }\n get constructionloanamount() { return this['_constructionloanamount'] }\n set constructionloanamount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_constructionloanamount'])) {\n setDirtyFlag()\n this['_constructionloanamount'] = __v__\n }\n }\n get borrowertype() { return this['_borrowertype'] }\n set borrowertype(__a__) {\n let __v__ = enumReader(['LLC','Individual','Corporation','Partnership','Trust'],'LLC')(__a__)\n if(!_.isEqual(__v__,this['_borrowertype'])) {\n setDirtyFlag()\n this['_borrowertype'] = __v__\n }\n }\n get entityinfo() { return this['_entityinfo'] }\n set entityinfo(__a__) {\n if(__a__ == null) {\n if(this['_entityinfo'] == null) { return }\n setDirtyFlag()\n this['_entityinfo'] = null\n return\n } else {\n setDirtyFlag()\n this['_entityinfo'] = __a__\n }\n }\n get loantype() { return this['_loantype'] }\n set loantype(__a__) {\n let __v__ = enumReader(['fixflip','fixrent','bridge','groundup','scrapebuild','rental'],'fixflip')(__a__)\n if(!_.isEqual(__v__,this['_loantype'])) {\n setDirtyFlag()\n this['_loantype'] = __v__\n }\n }\n get propertyflippingexperiences() { return this['_propertyflippingexperiences'] }\n set propertyflippingexperiences(__a__) {\n setDirtyFlag()\n this['_propertyflippingexperiences'] = __a__\n }\n get rentalpropertyexperiences() { return this['_rentalpropertyexperiences'] }\n set rentalpropertyexperiences(__a__) {\n setDirtyFlag()\n this['_rentalpropertyexperiences'] = __a__\n }\n get initialadvancerequested() { return this['_initialadvancerequested'] }\n set initialadvancerequested(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_initialadvancerequested'])) {\n setDirtyFlag()\n this['_initialadvancerequested'] = __v__\n }\n }\n get assignmentfee() { return this['_assignmentfee'] }\n set assignmentfee(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_assignmentfee'])) {\n setDirtyFlag()\n this['_assignmentfee'] = __v__\n }\n }\n get liquidity() { return this['_liquidity'] }\n set liquidity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_liquidity'])) {\n setDirtyFlag()\n this['_liquidity'] = __v__\n }\n }\n get exitstrategy() { return this['_exitstrategy'] }\n set exitstrategy(__a__) {\n if(__a__ == null) {\n if(this['_exitstrategy'] == null) { return }\n setDirtyFlag()\n this['_exitstrategy'] = null\n return\n } else {\n let __v__ = enumReader(['fixandflip','fixandrent','buildandflip','buildandrent','refitoconventional','refitobuild','refitoflip','refitorent','others'],'fixandflip')(__a__)\n if(!_.isEqual(__v__,this['_exitstrategy'])) {\n setDirtyFlag()\n this['_exitstrategy'] = __v__\n }\n }\n }\n get rehabdetails() { return this['_rehabdetails'] }\n set rehabdetails(__a__) {\n setDirtyFlag()\n this['_rehabdetails'] = __a__\n }\n get refinancedetails() { return this['_refinancedetails'] }\n set refinancedetails(__a__) {\n setDirtyFlag()\n this['_refinancedetails'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new HardMoneyLoan()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.serialnumber = __a__['serialnumber']\n cls.estimatedfico = __a__['estimatedfico']\n cls.coborrowerestimatedfico = __a__['coborrowerestimatedfico']\n cls.targetclosingdate = __a__['targetclosingdate']\n cls.initialloanamount = __a__['initialloanamount']\n cls.mortgagetermmonths = __a__['mortgagetermmonths']\n cls.rehabloan = __a__['rehabloan']\n cls.rehabloanamount = __a__['rehabloanamount']\n cls.timesofflippingaproperty = __a__['timesofflippingaproperty']\n cls.timesofpurchasingarentalproperty = __a__['timesofpurchasingarentalproperty']\n cls.refinanceloanamount = __a__['refinanceloanamount']\n cls.constructiontype = __a__['constructiontype'] == null ? null : __a__['constructiontype']\n cls.constructionbudget = __a__['constructionbudget']\n cls.projectedafterrepairvalue = __a__['projectedafterrepairvalue']\n cls.constructionloanamount = __a__['constructionloanamount']\n cls.borrowertype = __a__['borrowertype']\n cls.entityinfo = __a__['entityinfo'] == null ? null : HardMoneyLoanEntityInfo.fromJson(__a__['entityinfo'])\n cls.loantype = __a__['loantype']\n cls.propertyflippingexperiences = array1Reader(propertyflippingexperience.fromJson)(__a__['propertyflippingexperiences'])\n cls.rentalpropertyexperiences = array1Reader(rentalpropertyexperience.fromJson)(__a__['rentalpropertyexperiences'])\n cls.initialadvancerequested = __a__['initialadvancerequested']\n cls.assignmentfee = __a__['assignmentfee']\n cls.liquidity = __a__['liquidity']\n cls.exitstrategy = __a__['exitstrategy'] == null ? null : __a__['exitstrategy']\n cls.rehabdetails = rehabdetails.fromJson(__a__['rehabdetails'])\n cls.refinancedetails = refinancedetails.fromJson(__a__['refinancedetails'])\n } else {\n doAlert(`HardMoneyLoan: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class HardMoneyLoanEntityInfo {\n constructor() {\n this['_entityname'] = ''\n this['_tin'] = ''\n this['_percentageown'] = 0\n this['_streetline1'] = ''\n this['_streetline2'] = ''\n this['_city'] = ''\n this['_state'] = ''\n this['_zip'] = ''\n this['_phone'] = ''\n this['_email'] = ''\n this['_contactfirstname'] = ''\n this['_contactlastname'] = ''\n this['_contactposition'] = ''\n }\n get entityname() { return this['_entityname'] }\n set entityname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_entityname'])) {\n setDirtyFlag()\n this['_entityname'] = __v__\n }\n }\n get tin() { return this['_tin'] }\n set tin(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_tin'])) {\n setDirtyFlag()\n this['_tin'] = __v__\n }\n }\n get percentageown() { return this['_percentageown'] }\n set percentageown(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_percentageown'])) {\n setDirtyFlag()\n this['_percentageown'] = __v__\n }\n }\n get streetline1() { return this['_streetline1'] }\n set streetline1(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline1'])) {\n setDirtyFlag()\n this['_streetline1'] = __v__\n }\n }\n get streetline2() { return this['_streetline2'] }\n set streetline2(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline2'])) {\n setDirtyFlag()\n this['_streetline2'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get zip() { return this['_zip'] }\n set zip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zip'])) {\n setDirtyFlag()\n this['_zip'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get contactfirstname() { return this['_contactfirstname'] }\n set contactfirstname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_contactfirstname'])) {\n setDirtyFlag()\n this['_contactfirstname'] = __v__\n }\n }\n get contactlastname() { return this['_contactlastname'] }\n set contactlastname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_contactlastname'])) {\n setDirtyFlag()\n this['_contactlastname'] = __v__\n }\n }\n get contactposition() { return this['_contactposition'] }\n set contactposition(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_contactposition'])) {\n setDirtyFlag()\n this['_contactposition'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new HardMoneyLoanEntityInfo()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.entityname = __a__['entityname']\n cls.tin = __a__['tin']\n cls.percentageown = __a__['percentageown']\n cls.streetline1 = __a__['streetline1']\n cls.streetline2 = __a__['streetline2']\n cls.city = __a__['city']\n cls.state = __a__['state']\n cls.zip = __a__['zip']\n cls.phone = __a__['phone']\n cls.email = __a__['email']\n cls.contactfirstname = __a__['contactfirstname']\n cls.contactlastname = __a__['contactlastname']\n cls.contactposition = __a__['contactposition']\n } else {\n doAlert(`HardMoneyLoanEntityInfo: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Hispanic {\n constructor() {\n this['_mexican'] = false\n this['_puertorican'] = false\n this['_cuban'] = false\n this['_other'] = false\n this['_otherdesctiption'] = ''\n }\n get mexican() { return this['_mexican'] }\n set mexican(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_mexican'])) {\n setDirtyFlag()\n this['_mexican'] = __v__\n }\n }\n get puertorican() { return this['_puertorican'] }\n set puertorican(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_puertorican'])) {\n setDirtyFlag()\n this['_puertorican'] = __v__\n }\n }\n get cuban() { return this['_cuban'] }\n set cuban(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_cuban'])) {\n setDirtyFlag()\n this['_cuban'] = __v__\n }\n }\n get other() { return this['_other'] }\n set other(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_other'])) {\n setDirtyFlag()\n this['_other'] = __v__\n }\n }\n get otherdesctiption() { return this['_otherdesctiption'] }\n set otherdesctiption(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_otherdesctiption'])) {\n setDirtyFlag()\n this['_otherdesctiption'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Hispanic()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.mexican = __a__['mexican']\n cls.puertorican = __a__['puertorican']\n cls.cuban = __a__['cuban']\n cls.other = __a__['other']\n cls.otherdesctiption = __a__['otherdesctiption']\n } else {\n doAlert(`Hispanic: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class LienPosition {\n constructor() {\n this['_firstlien'] = 0.0\n this['_firstlienowner'] = 'fanniemae'\n this['_issecondlien'] = false\n }\n get firstlien() { return this['_firstlien'] }\n set firstlien(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_firstlien'])) {\n setDirtyFlag()\n this['_firstlien'] = __v__\n }\n }\n get firstlienowner() { return this['_firstlienowner'] }\n set firstlienowner(__a__) {\n let __v__ = enumReader(['fanniemae','freddiemac'],'fanniemae')(__a__)\n if(!_.isEqual(__v__,this['_firstlienowner'])) {\n setDirtyFlag()\n this['_firstlienowner'] = __v__\n }\n }\n get issecondlien() { return this['_issecondlien'] }\n set issecondlien(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_issecondlien'])) {\n setDirtyFlag()\n this['_issecondlien'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new LienPosition()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.firstlien = __a__['firstlien']\n cls.firstlienowner = __a__['firstlienowner']\n cls.issecondlien = __a__['issecondlien']\n } else {\n doAlert(`LienPosition: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class LoState {\n constructor() {\n this['_application'] = new application()\n this['_progress'] = new progress()\n this['_borrower'] = new borrowerinternal()\n this['_notifications'] = new notifications()\n this['_locreditreportadditions'] = new locreditreportadditions()\n }\n get application() { return this['_application'] }\n set application(__a__) {\n setDirtyFlag()\n this['_application'] = __a__\n }\n get progress() { return this['_progress'] }\n set progress(__a__) {\n setDirtyFlag()\n this['_progress'] = __a__\n }\n get borrower() { return this['_borrower'] }\n set borrower(__a__) {\n setDirtyFlag()\n this['_borrower'] = __a__\n }\n get notifications() { return this['_notifications'] }\n set notifications(__a__) {\n setDirtyFlag()\n this['_notifications'] = __a__\n }\n get locreditreportadditions() { return this['_locreditreportadditions'] }\n set locreditreportadditions(__a__) {\n setDirtyFlag()\n this['_locreditreportadditions'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new LoState()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.application = application.fromJson(__a__['application'])\n cls.progress = progress.fromJson(__a__['progress'])\n cls.borrower = borrowerinternal.fromJson(__a__['borrower'])\n cls.notifications = notifications.fromJson(__a__['notifications'])\n cls.locreditreportadditions = locreditreportadditions.fromJson(__a__['locreditreportadditions'])\n } else {\n doAlert(`LoState: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class LoanOfficerConfigurations {\n constructor() {\n this['_AutomatedCreditPull'] = false\n this['_AutomatedPreQualLetter'] = false\n this['_DocumentsTransitionVisited'] = false\n this['_DocumentsAutoReminder'] = new DocumentsAutoReminderConfiguration()\n this['_OnMarketplace'] = false\n this['_CreditAccounts'] = []\n }\n get AutomatedCreditPull() { return this['_AutomatedCreditPull'] }\n set AutomatedCreditPull(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_AutomatedCreditPull'])) {\n setDirtyFlag()\n this['_AutomatedCreditPull'] = __v__\n }\n }\n get AutomatedPreQualLetter() { return this['_AutomatedPreQualLetter'] }\n set AutomatedPreQualLetter(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_AutomatedPreQualLetter'])) {\n setDirtyFlag()\n this['_AutomatedPreQualLetter'] = __v__\n }\n }\n get DocumentsTransitionVisited() { return this['_DocumentsTransitionVisited'] }\n set DocumentsTransitionVisited(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_DocumentsTransitionVisited'])) {\n setDirtyFlag()\n this['_DocumentsTransitionVisited'] = __v__\n }\n }\n get DocumentsAutoReminder() { return this['_DocumentsAutoReminder'] }\n set DocumentsAutoReminder(__a__) {\n setDirtyFlag()\n this['_DocumentsAutoReminder'] = __a__\n }\n get OnMarketplace() { return this['_OnMarketplace'] }\n set OnMarketplace(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_OnMarketplace'])) {\n setDirtyFlag()\n this['_OnMarketplace'] = __v__\n }\n }\n get CreditAccounts() { return this['_CreditAccounts'] }\n set CreditAccounts(__a__) {\n setDirtyFlag()\n this['_CreditAccounts'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new LoanOfficerConfigurations()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.AutomatedCreditPull = __a__['AutomatedCreditPull']\n cls.AutomatedPreQualLetter = __a__['AutomatedPreQualLetter']\n cls.DocumentsTransitionVisited = __a__['DocumentsTransitionVisited']\n cls.DocumentsAutoReminder = DocumentsAutoReminderConfiguration.fromJson(__a__['DocumentsAutoReminder'])\n cls.OnMarketplace = __a__['OnMarketplace']\n cls.CreditAccounts = array1Reader(CreditAccount.fromJson)(__a__['CreditAccounts'])\n } else {\n doAlert(`LoanOfficerConfigurations: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class LoanProduct {\n constructor() {\n this['_hash'] = ''\n this['_Lender'] = ''\n this['_Name'] = ''\n this['_lenderinfo'] = null\n this['_aus'] = []\n }\n get hash() { return this['_hash'] }\n set hash(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_hash'])) {\n setDirtyFlag()\n this['_hash'] = __v__\n }\n }\n get Lender() { return this['_Lender'] }\n set Lender(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Lender'])) {\n setDirtyFlag()\n this['_Lender'] = __v__\n }\n }\n get Name() { return this['_Name'] }\n set Name(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_Name'])) {\n setDirtyFlag()\n this['_Name'] = __v__\n }\n }\n get lenderinfo() { return this['_lenderinfo'] }\n set lenderinfo(__a__) {\n if(__a__ == null) {\n if(this['_lenderinfo'] == null) { return }\n setDirtyFlag()\n this['_lenderinfo'] = null\n return\n } else {\n setDirtyFlag()\n this['_lenderinfo'] = __a__\n }\n }\n get aus() { return this['_aus'] }\n set aus(__a__) {\n setDirtyFlag()\n this['_aus'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new LoanProduct()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hash = __a__['hash']\n cls.Lender = __a__['Lender']\n cls.Name = __a__['Name']\n cls.lenderinfo = __a__['lenderinfo'] == null ? null : lender.fromJson(__a__['lenderinfo'])\n cls.aus = array1Reader(stringReader(''))(__a__['aus'])\n } else {\n doAlert(`LoanProduct: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class MilitaryService {\n constructor() {\n this['_currentlyserving'] = false\n this['_projectedexpirationdate'] = ''\n this['_currentlyretired'] = false\n this['_nonactive'] = false\n this['_survivingspouse'] = false\n }\n get currentlyserving() { return this['_currentlyserving'] }\n set currentlyserving(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_currentlyserving'])) {\n setDirtyFlag()\n this['_currentlyserving'] = __v__\n }\n }\n get projectedexpirationdate() { return this['_projectedexpirationdate'] }\n set projectedexpirationdate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_projectedexpirationdate'])) {\n setDirtyFlag()\n this['_projectedexpirationdate'] = __v__\n }\n }\n get currentlyretired() { return this['_currentlyretired'] }\n set currentlyretired(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_currentlyretired'])) {\n setDirtyFlag()\n this['_currentlyretired'] = __v__\n }\n }\n get nonactive() { return this['_nonactive'] }\n set nonactive(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_nonactive'])) {\n setDirtyFlag()\n this['_nonactive'] = __v__\n }\n }\n get survivingspouse() { return this['_survivingspouse'] }\n set survivingspouse(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_survivingspouse'])) {\n setDirtyFlag()\n this['_survivingspouse'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new MilitaryService()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.currentlyserving = __a__['currentlyserving']\n cls.projectedexpirationdate = __a__['projectedexpirationdate']\n cls.currentlyretired = __a__['currentlyretired']\n cls.nonactive = __a__['nonactive']\n cls.survivingspouse = __a__['survivingspouse']\n } else {\n doAlert(`MilitaryService: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class MobileHomeDebtToBePaid {\n constructor() {\n this['_amount'] = ''\n this['_description'] = ''\n }\n get amount() { return this['_amount'] }\n set amount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_amount'])) {\n setDirtyFlag()\n this['_amount'] = __v__\n }\n }\n get description() { return this['_description'] }\n set description(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_description'])) {\n setDirtyFlag()\n this['_description'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new MobileHomeDebtToBePaid()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.amount = __a__['amount']\n cls.description = __a__['description']\n } else {\n doAlert(`MobileHomeDebtToBePaid: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class MobileHomeInfo {\n constructor() {\n this['_mobilehomeparkfullname'] = ''\n this['_leasedSpaceRentAmount'] = ''\n this['_year'] = ''\n this['_lengthft'] = ''\n this['_lengthinch'] = ''\n this['_widthft'] = ''\n this['_widthinch'] = ''\n this['_space'] = ''\n this['_mobilehometype'] = 'SingleWide'\n this['_mobilehomedescription'] = 'New'\n this['_mobilehomelocation'] = 'Park'\n this['_originalpurchaseprice'] = ''\n this['_debtsToBePaid'] = []\n this['_cashOutRequested'] = ''\n this['_parkAddress'] = ''\n this['_manufacturerMake'] = ''\n this['_manufacturerModel'] = ''\n }\n get mobilehomeparkfullname() { return this['_mobilehomeparkfullname'] }\n set mobilehomeparkfullname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mobilehomeparkfullname'])) {\n setDirtyFlag()\n this['_mobilehomeparkfullname'] = __v__\n }\n }\n get leasedSpaceRentAmount() { return this['_leasedSpaceRentAmount'] }\n set leasedSpaceRentAmount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_leasedSpaceRentAmount'])) {\n setDirtyFlag()\n this['_leasedSpaceRentAmount'] = __v__\n }\n }\n get year() { return this['_year'] }\n set year(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_year'])) {\n setDirtyFlag()\n this['_year'] = __v__\n }\n }\n get lengthft() { return this['_lengthft'] }\n set lengthft(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lengthft'])) {\n setDirtyFlag()\n this['_lengthft'] = __v__\n }\n }\n get lengthinch() { return this['_lengthinch'] }\n set lengthinch(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lengthinch'])) {\n setDirtyFlag()\n this['_lengthinch'] = __v__\n }\n }\n get widthft() { return this['_widthft'] }\n set widthft(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_widthft'])) {\n setDirtyFlag()\n this['_widthft'] = __v__\n }\n }\n get widthinch() { return this['_widthinch'] }\n set widthinch(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_widthinch'])) {\n setDirtyFlag()\n this['_widthinch'] = __v__\n }\n }\n get space() { return this['_space'] }\n set space(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_space'])) {\n setDirtyFlag()\n this['_space'] = __v__\n }\n }\n get mobilehometype() { return this['_mobilehometype'] }\n set mobilehometype(__a__) {\n let __v__ = enumReader(['SingleWide','DoubleWide','TripleWide'],'SingleWide')(__a__)\n if(!_.isEqual(__v__,this['_mobilehometype'])) {\n setDirtyFlag()\n this['_mobilehometype'] = __v__\n }\n }\n get mobilehomedescription() { return this['_mobilehomedescription'] }\n set mobilehomedescription(__a__) {\n let __v__ = enumReader(['New','Used','Repo'],'New')(__a__)\n if(!_.isEqual(__v__,this['_mobilehomedescription'])) {\n setDirtyFlag()\n this['_mobilehomedescription'] = __v__\n }\n }\n get mobilehomelocation() { return this['_mobilehomelocation'] }\n set mobilehomelocation(__a__) {\n let __v__ = enumReader(['Park','LandorHome','CoopPark','SharedPark'],'Park')(__a__)\n if(!_.isEqual(__v__,this['_mobilehomelocation'])) {\n setDirtyFlag()\n this['_mobilehomelocation'] = __v__\n }\n }\n get originalpurchaseprice() { return this['_originalpurchaseprice'] }\n set originalpurchaseprice(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_originalpurchaseprice'])) {\n setDirtyFlag()\n this['_originalpurchaseprice'] = __v__\n }\n }\n get debtsToBePaid() { return this['_debtsToBePaid'] }\n set debtsToBePaid(__a__) {\n setDirtyFlag()\n this['_debtsToBePaid'] = __a__\n }\n get cashOutRequested() { return this['_cashOutRequested'] }\n set cashOutRequested(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_cashOutRequested'])) {\n setDirtyFlag()\n this['_cashOutRequested'] = __v__\n }\n }\n get parkAddress() { return this['_parkAddress'] }\n set parkAddress(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_parkAddress'])) {\n setDirtyFlag()\n this['_parkAddress'] = __v__\n }\n }\n get manufacturerMake() { return this['_manufacturerMake'] }\n set manufacturerMake(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_manufacturerMake'])) {\n setDirtyFlag()\n this['_manufacturerMake'] = __v__\n }\n }\n get manufacturerModel() { return this['_manufacturerModel'] }\n set manufacturerModel(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_manufacturerModel'])) {\n setDirtyFlag()\n this['_manufacturerModel'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new MobileHomeInfo()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.mobilehomeparkfullname = __a__['mobilehomeparkfullname']\n cls.leasedSpaceRentAmount = __a__['leasedSpaceRentAmount']\n cls.year = __a__['year']\n cls.lengthft = __a__['lengthft']\n cls.lengthinch = __a__['lengthinch']\n cls.widthft = __a__['widthft']\n cls.widthinch = __a__['widthinch']\n cls.space = __a__['space']\n cls.mobilehometype = __a__['mobilehometype']\n cls.mobilehomedescription = __a__['mobilehomedescription']\n cls.mobilehomelocation = __a__['mobilehomelocation']\n cls.originalpurchaseprice = __a__['originalpurchaseprice']\n cls.debtsToBePaid = array1Reader(MobileHomeDebtToBePaid.fromJson)(__a__['debtsToBePaid'])\n cls.cashOutRequested = __a__['cashOutRequested']\n cls.parkAddress = __a__['parkAddress']\n cls.manufacturerMake = __a__['manufacturerMake']\n cls.manufacturerModel = __a__['manufacturerModel']\n } else {\n doAlert(`MobileHomeInfo: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class OwnedProperty {\n constructor() {\n this['_address'] = ''\n this['_unit'] = ''\n this['_state'] = ''\n this['_county'] = ''\n this['_city'] = ''\n this['_zipcode'] = ''\n this['_ownedfreeandclear'] = null\n this['_loans'] = []\n this['_status'] = 'pending'\n this['_occupancy'] = 'principal'\n this['_propertytype'] = null\n this['_marketvalue'] = ''\n this['_liens'] = ''\n this['_grossrentalincome'] = ''\n this['_insurancemaintenancetaxes'] = ''\n this['_netrentalincome'] = ''\n this['_attribution'] = null\n this['_key'] = ''\n }\n get address() { return this['_address'] }\n set address(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_address'])) {\n setDirtyFlag()\n this['_address'] = __v__\n }\n }\n get unit() { return this['_unit'] }\n set unit(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_unit'])) {\n setDirtyFlag()\n this['_unit'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get county() { return this['_county'] }\n set county(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_county'])) {\n setDirtyFlag()\n this['_county'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get zipcode() { return this['_zipcode'] }\n set zipcode(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zipcode'])) {\n setDirtyFlag()\n this['_zipcode'] = __v__\n }\n }\n get ownedfreeandclear() { return this['_ownedfreeandclear'] }\n set ownedfreeandclear(__a__) {\n if(__a__ == null) {\n if(this['_ownedfreeandclear'] == null) { return }\n setDirtyFlag()\n this['_ownedfreeandclear'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_ownedfreeandclear'])) {\n setDirtyFlag()\n this['_ownedfreeandclear'] = __v__\n }\n }\n }\n get loans() { return this['_loans'] }\n set loans(__a__) {\n setDirtyFlag()\n this['_loans'] = __a__\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['pending','sold','retained'],'pending')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get occupancy() { return this['_occupancy'] }\n set occupancy(__a__) {\n let __v__ = enumReader(['principal','secondhome','investment','fhasecond','other'],'principal')(__a__)\n if(!_.isEqual(__v__,this['_occupancy'])) {\n setDirtyFlag()\n this['_occupancy'] = __v__\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n if(__a__ == null) {\n if(this['_propertytype'] == null) { return }\n setDirtyFlag()\n this['_propertytype'] = null\n return\n } else {\n let __v__ = enumReader(['singlefamily','condominium','townhouse','twotofour','mobilehome','commercial','homeandbusinesscombined','mixeduse','farm','land'],'singlefamily')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n }\n get marketvalue() { return this['_marketvalue'] }\n set marketvalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_marketvalue'])) {\n setDirtyFlag()\n this['_marketvalue'] = __v__\n }\n }\n get liens() { return this['_liens'] }\n set liens(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_liens'])) {\n setDirtyFlag()\n this['_liens'] = __v__\n }\n }\n get grossrentalincome() { return this['_grossrentalincome'] }\n set grossrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_grossrentalincome'])) {\n setDirtyFlag()\n this['_grossrentalincome'] = __v__\n }\n }\n get insurancemaintenancetaxes() { return this['_insurancemaintenancetaxes'] }\n set insurancemaintenancetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_insurancemaintenancetaxes'])) {\n setDirtyFlag()\n this['_insurancemaintenancetaxes'] = __v__\n }\n }\n get netrentalincome() { return this['_netrentalincome'] }\n set netrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_netrentalincome'])) {\n setDirtyFlag()\n this['_netrentalincome'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new OwnedProperty()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.address = __a__['address']\n cls.unit = __a__['unit']\n cls.state = __a__['state']\n cls.county = __a__['county']\n cls.city = __a__['city']\n cls.zipcode = __a__['zipcode']\n cls.ownedfreeandclear = __a__['ownedfreeandclear'] == null ? null : __a__['ownedfreeandclear']\n cls.loans = array1Reader(loan.fromJson)(__a__['loans'])\n cls.status = __a__['status']\n cls.occupancy = __a__['occupancy']\n cls.propertytype = __a__['propertytype'] == null ? null : __a__['propertytype']\n cls.marketvalue = __a__['marketvalue']\n cls.liens = __a__['liens']\n cls.grossrentalincome = __a__['grossrentalincome']\n cls.insurancemaintenancetaxes = __a__['insurancemaintenancetaxes']\n cls.netrentalincome = __a__['netrentalincome']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.key = __a__['key']\n } else {\n doAlert(`OwnedProperty: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Pacific {\n constructor() {\n this['_hawaian'] = false\n this['_guamanian'] = false\n this['_samoan'] = false\n this['_other'] = false\n this['_otherdetails'] = ''\n }\n get hawaian() { return this['_hawaian'] }\n set hawaian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hawaian'])) {\n setDirtyFlag()\n this['_hawaian'] = __v__\n }\n }\n get guamanian() { return this['_guamanian'] }\n set guamanian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_guamanian'])) {\n setDirtyFlag()\n this['_guamanian'] = __v__\n }\n }\n get samoan() { return this['_samoan'] }\n set samoan(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_samoan'])) {\n setDirtyFlag()\n this['_samoan'] = __v__\n }\n }\n get other() { return this['_other'] }\n set other(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_other'])) {\n setDirtyFlag()\n this['_other'] = __v__\n }\n }\n get otherdetails() { return this['_otherdetails'] }\n set otherdetails(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_otherdetails'])) {\n setDirtyFlag()\n this['_otherdetails'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Pacific()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hawaian = __a__['hawaian']\n cls.guamanian = __a__['guamanian']\n cls.samoan = __a__['samoan']\n cls.other = __a__['other']\n cls.otherdetails = __a__['otherdetails']\n } else {\n doAlert(`Pacific: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class ProjectReview {\n constructor() {\n this['_projectclassification'] = 'streamlinereview-freddiemac'\n this['_projectname'] = ''\n this['_cpmprojectid'] = 0\n }\n get projectclassification() { return this['_projectclassification'] }\n set projectclassification(__a__) {\n let __v__ = enumReader(['streamlinereview-freddiemac','establishedproject-freddiemac','newproject-freddiemac','detachedproject-freddiemac','twotofourunit-freddiemac','reciprocalreview-freddiemac','exemptfromreview-freddiemac','plimitedreviewnewdetached-fanniemae','qlimitedreviewestablised-fanniemae','rexpectedreviewnew-fanniemae','sexpectedreviewestablished-fanniemae','tfanniemaereview-fanniemae','ufhaapproved-fanniemae','vrefiplus-fanniemae','epud-fanniemae','fpud-fanniemae','tpud-fanniemae','onecoop-fanniemae','twocoop-fanniemae','tcoop-fanniemae'],'streamlinereview-freddiemac')(__a__)\n if(!_.isEqual(__v__,this['_projectclassification'])) {\n setDirtyFlag()\n this['_projectclassification'] = __v__\n }\n }\n get projectname() { return this['_projectname'] }\n set projectname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_projectname'])) {\n setDirtyFlag()\n this['_projectname'] = __v__\n }\n }\n get cpmprojectid() { return this['_cpmprojectid'] }\n set cpmprojectid(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_cpmprojectid'])) {\n setDirtyFlag()\n this['_cpmprojectid'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new ProjectReview()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.projectclassification = __a__['projectclassification']\n cls.projectname = __a__['projectname']\n cls.cpmprojectid = __a__['cpmprojectid']\n } else {\n doAlert(`ProjectReview: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Race {\n constructor() {\n this['_notfurnished'] = false\n this['_asian'] = false\n this['_asiandetails'] = new Asian()\n this['_pacific'] = false\n this['_pacificdetails'] = new Pacific()\n this['_black'] = false\n this['_americanindian'] = false\n this['_indiantribe'] = ''\n this['_white'] = false\n }\n get notfurnished() { return this['_notfurnished'] }\n set notfurnished(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_notfurnished'])) {\n setDirtyFlag()\n this['_notfurnished'] = __v__\n }\n }\n get asian() { return this['_asian'] }\n set asian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_asian'])) {\n setDirtyFlag()\n this['_asian'] = __v__\n }\n }\n get asiandetails() { return this['_asiandetails'] }\n set asiandetails(__a__) {\n setDirtyFlag()\n this['_asiandetails'] = __a__\n }\n get pacific() { return this['_pacific'] }\n set pacific(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_pacific'])) {\n setDirtyFlag()\n this['_pacific'] = __v__\n }\n }\n get pacificdetails() { return this['_pacificdetails'] }\n set pacificdetails(__a__) {\n setDirtyFlag()\n this['_pacificdetails'] = __a__\n }\n get black() { return this['_black'] }\n set black(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_black'])) {\n setDirtyFlag()\n this['_black'] = __v__\n }\n }\n get americanindian() { return this['_americanindian'] }\n set americanindian(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_americanindian'])) {\n setDirtyFlag()\n this['_americanindian'] = __v__\n }\n }\n get indiantribe() { return this['_indiantribe'] }\n set indiantribe(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_indiantribe'])) {\n setDirtyFlag()\n this['_indiantribe'] = __v__\n }\n }\n get white() { return this['_white'] }\n set white(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_white'])) {\n setDirtyFlag()\n this['_white'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Race()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.notfurnished = __a__['notfurnished']\n cls.asian = __a__['asian']\n cls.asiandetails = Asian.fromJson(__a__['asiandetails'])\n cls.pacific = __a__['pacific']\n cls.pacificdetails = Pacific.fromJson(__a__['pacificdetails'])\n cls.black = __a__['black']\n cls.americanindian = __a__['americanindian']\n cls.indiantribe = __a__['indiantribe']\n cls.white = __a__['white']\n } else {\n doAlert(`Race: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Selection {\n constructor() {\n this['_downpayment'] = 0\n this['_paydown'] = 0\n this['_cashout'] = 0\n this['_mincashout'] = 0\n this['_loansize'] = ''\n this['_financeClosingCosts'] = false\n this['_sortby'] = 'selectbyrate'\n this['_loanamortizations'] = []\n this['_loanterms'] = []\n this['_maxupfrontcost'] = null\n this['_selectedloan'] = new ChosenLoan()\n this['_loSelectedLoans'] = []\n this['_estimatedclosingcosts'] = null\n this['_ourfee'] = null\n this['_prepaiddays'] = null\n }\n get downpayment() { return this['_downpayment'] }\n set downpayment(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_downpayment'])) {\n setDirtyFlag()\n this['_downpayment'] = __v__\n }\n }\n get paydown() { return this['_paydown'] }\n set paydown(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_paydown'])) {\n setDirtyFlag()\n this['_paydown'] = __v__\n }\n }\n get cashout() { return this['_cashout'] }\n set cashout(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_cashout'])) {\n setDirtyFlag()\n this['_cashout'] = __v__\n }\n }\n get mincashout() { return this['_mincashout'] }\n set mincashout(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_mincashout'])) {\n setDirtyFlag()\n this['_mincashout'] = __v__\n }\n }\n get loansize() { return this['_loansize'] }\n set loansize(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_loansize'])) {\n setDirtyFlag()\n this['_loansize'] = __v__\n }\n }\n get financeClosingCosts() { return this['_financeClosingCosts'] }\n set financeClosingCosts(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_financeClosingCosts'])) {\n setDirtyFlag()\n this['_financeClosingCosts'] = __v__\n }\n }\n get sortby() { return this['_sortby'] }\n set sortby(__a__) {\n let __v__ = enumReader(['selectbyrate','selectbyapr','selectbyinterestterm','selectbyinteresttotal','selectbymonthlypayment','selectbyclosingcosts','selectbyadvanced'],'selectbyrate')(__a__)\n if(!_.isEqual(__v__,this['_sortby'])) {\n setDirtyFlag()\n this['_sortby'] = __v__\n }\n }\n get loanamortizations() { return this['_loanamortizations'] }\n set loanamortizations(__a__) {\n setDirtyFlag()\n this['_loanamortizations'] = __a__\n }\n get loanterms() { return this['_loanterms'] }\n set loanterms(__a__) {\n setDirtyFlag()\n this['_loanterms'] = __a__\n }\n get maxupfrontcost() { return this['_maxupfrontcost'] }\n set maxupfrontcost(__a__) {\n if(__a__ == null) {\n if(this['_maxupfrontcost'] == null) { return }\n setDirtyFlag()\n this['_maxupfrontcost'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_maxupfrontcost'])) {\n setDirtyFlag()\n this['_maxupfrontcost'] = __v__\n }\n }\n }\n get selectedloan() { return this['_selectedloan'] }\n set selectedloan(__a__) {\n setDirtyFlag()\n this['_selectedloan'] = __a__\n }\n get loSelectedLoans() { return this['_loSelectedLoans'] }\n set loSelectedLoans(__a__) {\n setDirtyFlag()\n this['_loSelectedLoans'] = __a__\n }\n get estimatedclosingcosts() { return this['_estimatedclosingcosts'] }\n set estimatedclosingcosts(__a__) {\n if(__a__ == null) {\n if(this['_estimatedclosingcosts'] == null) { return }\n setDirtyFlag()\n this['_estimatedclosingcosts'] = null\n return\n } else {\n setDirtyFlag()\n this['_estimatedclosingcosts'] = __a__\n }\n }\n get ourfee() { return this['_ourfee'] }\n set ourfee(__a__) {\n if(__a__ == null) {\n if(this['_ourfee'] == null) { return }\n setDirtyFlag()\n this['_ourfee'] = null\n return\n } else {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_ourfee'])) {\n setDirtyFlag()\n this['_ourfee'] = __v__\n }\n }\n }\n get prepaiddays() { return this['_prepaiddays'] }\n set prepaiddays(__a__) {\n if(__a__ == null) {\n if(this['_prepaiddays'] == null) { return }\n setDirtyFlag()\n this['_prepaiddays'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_prepaiddays'])) {\n setDirtyFlag()\n this['_prepaiddays'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Selection()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.downpayment = __a__['downpayment']\n cls.paydown = __a__['paydown']\n cls.cashout = __a__['cashout']\n cls.mincashout = __a__['mincashout']\n cls.loansize = __a__['loansize']\n cls.financeClosingCosts = __a__['financeClosingCosts']\n cls.sortby = __a__['sortby']\n cls.loanamortizations = array1Reader(enumReader(['fixed','fixed-biweekly','arm51','arm71','arm101','arm56','arm76','arm106','gpm','interestonly','statedincome','baloon','otheramortization','buydown321','buydown21','buydown11'],'fixed'))(__a__['loanamortizations'])\n cls.loanterms = array1Reader(enumReader(['year30','year25','year20','year15','year10','year7','year5','other'],'year30'))(__a__['loanterms'])\n cls.maxupfrontcost = __a__['maxupfrontcost'] == null ? null : __a__['maxupfrontcost']\n cls.selectedloan = ChosenLoan.fromJson(__a__['selectedloan'])\n cls.loSelectedLoans = array1Reader(ChosenLoan.fromJson)(__a__['loSelectedLoans'])\n cls.estimatedclosingcosts = __a__['estimatedclosingcosts'] == null ? null : fees.fromJson(__a__['estimatedclosingcosts'])\n cls.ourfee = __a__['ourfee'] == null ? null : __a__['ourfee']\n cls.prepaiddays = __a__['prepaiddays'] == null ? null : __a__['prepaiddays']\n } else {\n doAlert(`Selection: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class SolarPanels {\n constructor() {\n this['_havesolarpanels'] = null\n this['_remainonproperty'] = false\n this['_takeoverthelease'] = false\n this['_monthlypayment'] = ''\n this['_areleased'] = null\n }\n get havesolarpanels() { return this['_havesolarpanels'] }\n set havesolarpanels(__a__) {\n if(__a__ == null) {\n if(this['_havesolarpanels'] == null) { return }\n setDirtyFlag()\n this['_havesolarpanels'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_havesolarpanels'])) {\n setDirtyFlag()\n this['_havesolarpanels'] = __v__\n }\n }\n }\n get remainonproperty() { return this['_remainonproperty'] }\n set remainonproperty(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_remainonproperty'])) {\n setDirtyFlag()\n this['_remainonproperty'] = __v__\n }\n }\n get takeoverthelease() { return this['_takeoverthelease'] }\n set takeoverthelease(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_takeoverthelease'])) {\n setDirtyFlag()\n this['_takeoverthelease'] = __v__\n }\n }\n get monthlypayment() { return this['_monthlypayment'] }\n set monthlypayment(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthlypayment'])) {\n setDirtyFlag()\n this['_monthlypayment'] = __v__\n }\n }\n get areleased() { return this['_areleased'] }\n set areleased(__a__) {\n if(__a__ == null) {\n if(this['_areleased'] == null) { return }\n setDirtyFlag()\n this['_areleased'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_areleased'])) {\n setDirtyFlag()\n this['_areleased'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new SolarPanels()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.havesolarpanels = __a__['havesolarpanels'] == null ? null : __a__['havesolarpanels']\n cls.remainonproperty = __a__['remainonproperty']\n cls.takeoverthelease = __a__['takeoverthelease']\n cls.monthlypayment = __a__['monthlypayment']\n cls.areleased = __a__['areleased'] == null ? null : __a__['areleased']\n } else {\n doAlert(`SolarPanels: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class State {\n constructor() {\n this['_application'] = new application()\n this['_progress'] = new progress()\n }\n get application() { return this['_application'] }\n set application(__a__) {\n setDirtyFlag()\n this['_application'] = __a__\n }\n get progress() { return this['_progress'] }\n set progress(__a__) {\n setDirtyFlag()\n this['_progress'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new State()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.application = application.fromJson(__a__['application'])\n cls.progress = progress.fromJson(__a__['progress'])\n } else {\n doAlert(`State: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class Underwriting {\n constructor() {\n this['_company'] = 'fanniemae'\n this['_underwritername'] = ''\n this['_appraisername'] = ''\n this['_appraiserlicense'] = ''\n this['_appraisalcompanyname'] = ''\n this['_levelofpropertyreview'] = 'exterioraandintertior'\n this['_appraisalformnumber'] = ''\n this['_ismannualunderwriting'] = false\n this['_underwritercomments'] = ''\n }\n get company() { return this['_company'] }\n set company(__a__) {\n let __v__ = enumReader(['fanniemae','freddiemac'],'fanniemae')(__a__)\n if(!_.isEqual(__v__,this['_company'])) {\n setDirtyFlag()\n this['_company'] = __v__\n }\n }\n get underwritername() { return this['_underwritername'] }\n set underwritername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_underwritername'])) {\n setDirtyFlag()\n this['_underwritername'] = __v__\n }\n }\n get appraisername() { return this['_appraisername'] }\n set appraisername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisername'])) {\n setDirtyFlag()\n this['_appraisername'] = __v__\n }\n }\n get appraiserlicense() { return this['_appraiserlicense'] }\n set appraiserlicense(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraiserlicense'])) {\n setDirtyFlag()\n this['_appraiserlicense'] = __v__\n }\n }\n get appraisalcompanyname() { return this['_appraisalcompanyname'] }\n set appraisalcompanyname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisalcompanyname'])) {\n setDirtyFlag()\n this['_appraisalcompanyname'] = __v__\n }\n }\n get levelofpropertyreview() { return this['_levelofpropertyreview'] }\n set levelofpropertyreview(__a__) {\n let __v__ = enumReader(['exterioraandintertior','exterioronly','noappraisal'],'exterioraandintertior')(__a__)\n if(!_.isEqual(__v__,this['_levelofpropertyreview'])) {\n setDirtyFlag()\n this['_levelofpropertyreview'] = __v__\n }\n }\n get appraisalformnumber() { return this['_appraisalformnumber'] }\n set appraisalformnumber(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisalformnumber'])) {\n setDirtyFlag()\n this['_appraisalformnumber'] = __v__\n }\n }\n get ismannualunderwriting() { return this['_ismannualunderwriting'] }\n set ismannualunderwriting(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_ismannualunderwriting'])) {\n setDirtyFlag()\n this['_ismannualunderwriting'] = __v__\n }\n }\n get underwritercomments() { return this['_underwritercomments'] }\n set underwritercomments(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_underwritercomments'])) {\n setDirtyFlag()\n this['_underwritercomments'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new Underwriting()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.company = __a__['company']\n cls.underwritername = __a__['underwritername']\n cls.appraisername = __a__['appraisername']\n cls.appraiserlicense = __a__['appraiserlicense']\n cls.appraisalcompanyname = __a__['appraisalcompanyname']\n cls.levelofpropertyreview = __a__['levelofpropertyreview']\n cls.appraisalformnumber = __a__['appraisalformnumber']\n cls.ismannualunderwriting = __a__['ismannualunderwriting']\n cls.underwritercomments = __a__['underwritercomments']\n } else {\n doAlert(`Underwriting: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class account {\n constructor() {\n this['_key'] = ''\n this['_bankname'] = ''\n this['_account'] = ''\n this['_accounttype'] = 'CheckingAccount'\n this['_balance'] = ''\n this['_attribution'] = null\n this['_isretirement'] = false\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get bankname() { return this['_bankname'] }\n set bankname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_bankname'])) {\n setDirtyFlag()\n this['_bankname'] = __v__\n }\n }\n get account() { return this['_account'] }\n set account(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_account'])) {\n setDirtyFlag()\n this['_account'] = __v__\n }\n }\n get accounttype() { return this['_accounttype'] }\n set accounttype(__a__) {\n let __v__ = enumReader(['CheckingAccount','SavingsAccount','MoneyMarket','CertificateOfDeposit','Retirement','Bonds','Stocks','StockOptions','BridgeLoanProceeds','IndividualDevelopmentAccount','TrustAccount','CashValueLifeInsurance','MutualFund'],'CheckingAccount')(__a__)\n if(!_.isEqual(__v__,this['_accounttype'])) {\n setDirtyFlag()\n this['_accounttype'] = __v__\n }\n }\n get balance() { return this['_balance'] }\n set balance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_balance'])) {\n setDirtyFlag()\n this['_balance'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get isretirement() { return this['_isretirement'] }\n set isretirement(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isretirement'])) {\n setDirtyFlag()\n this['_isretirement'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new account()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.key = __a__['key']\n cls.bankname = __a__['bankname']\n cls.account = __a__['account']\n cls.accounttype = __a__['accounttype']\n cls.balance = __a__['balance']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.isretirement = __a__['isretirement']\n } else {\n doAlert(`account: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class address {\n constructor() {\n this['_street'] = ''\n this['_unit'] = null\n this['_city'] = ''\n this['_state'] = ''\n this['_zip'] = ''\n this['_years'] = ''\n this['_months'] = ''\n this['_ownership'] = null\n this['_rent'] = ''\n this['_rentperiod'] = 'monthly'\n }\n get street() { return this['_street'] }\n set street(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_street'])) {\n setDirtyFlag()\n this['_street'] = __v__\n }\n }\n get unit() { return this['_unit'] }\n set unit(__a__) {\n if(__a__ == null) {\n if(this['_unit'] == null) { return }\n setDirtyFlag()\n this['_unit'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_unit'])) {\n setDirtyFlag()\n this['_unit'] = __v__\n }\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get zip() { return this['_zip'] }\n set zip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zip'])) {\n setDirtyFlag()\n this['_zip'] = __v__\n }\n }\n get years() { return this['_years'] }\n set years(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_years'])) {\n setDirtyFlag()\n this['_years'] = __v__\n }\n }\n get months() { return this['_months'] }\n set months(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_months'])) {\n setDirtyFlag()\n this['_months'] = __v__\n }\n }\n get ownership() { return this['_ownership'] }\n set ownership(__a__) {\n if(__a__ == null) {\n if(this['_ownership'] == null) { return }\n setDirtyFlag()\n this['_ownership'] = null\n return\n } else {\n let __v__ = enumReader(['own','rent','rentfree'],'own')(__a__)\n if(!_.isEqual(__v__,this['_ownership'])) {\n setDirtyFlag()\n this['_ownership'] = __v__\n }\n }\n }\n get rent() { return this['_rent'] }\n set rent(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_rent'])) {\n setDirtyFlag()\n this['_rent'] = __v__\n }\n }\n get rentperiod() { return this['_rentperiod'] }\n set rentperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_rentperiod'])) {\n setDirtyFlag()\n this['_rentperiod'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new address()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.street = __a__['street']\n cls.unit = __a__['unit'] == null ? null : __a__['unit']\n cls.city = __a__['city']\n cls.state = __a__['state']\n cls.zip = __a__['zip']\n cls.years = __a__['years']\n cls.months = __a__['months']\n cls.ownership = __a__['ownership'] == null ? null : __a__['ownership']\n cls.rent = __a__['rent']\n cls.rentperiod = __a__['rentperiod']\n } else {\n doAlert(`address: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class alimony {\n constructor() {\n this['_amount'] = ''\n this['_owedto'] = ''\n this['_alimonyorsupport'] = 'alimony'\n this['_lessthan10'] = null\n this['_monthstopay'] = null\n this['_key'] = ''\n }\n get amount() { return this['_amount'] }\n set amount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_amount'])) {\n setDirtyFlag()\n this['_amount'] = __v__\n }\n }\n get owedto() { return this['_owedto'] }\n set owedto(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_owedto'])) {\n setDirtyFlag()\n this['_owedto'] = __v__\n }\n }\n get alimonyorsupport() { return this['_alimonyorsupport'] }\n set alimonyorsupport(__a__) {\n let __v__ = enumReader(['alimony','childsupport','maintenancepayments','jobrelatedexpenses','other'],'alimony')(__a__)\n if(!_.isEqual(__v__,this['_alimonyorsupport'])) {\n setDirtyFlag()\n this['_alimonyorsupport'] = __v__\n }\n }\n get lessthan10() { return this['_lessthan10'] }\n set lessthan10(__a__) {\n if(__a__ == null) {\n if(this['_lessthan10'] == null) { return }\n setDirtyFlag()\n this['_lessthan10'] = null\n return\n } else {\n let __v__ = enumReader(['lessthan10','morethan10','notsure'],'lessthan10')(__a__)\n if(!_.isEqual(__v__,this['_lessthan10'])) {\n setDirtyFlag()\n this['_lessthan10'] = __v__\n }\n }\n }\n get monthstopay() { return this['_monthstopay'] }\n set monthstopay(__a__) {\n if(__a__ == null) {\n if(this['_monthstopay'] == null) { return }\n setDirtyFlag()\n this['_monthstopay'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_monthstopay'])) {\n setDirtyFlag()\n this['_monthstopay'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new alimony()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.amount = __a__['amount']\n cls.owedto = __a__['owedto']\n cls.alimonyorsupport = __a__['alimonyorsupport']\n cls.lessthan10 = __a__['lessthan10'] == null ? null : __a__['lessthan10']\n cls.monthstopay = __a__['monthstopay'] == null ? null : __a__['monthstopay']\n cls.key = __a__['key']\n } else {\n doAlert(`alimony: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class allocation {\n constructor() {\n this['_stocks'] = 0.0\n this['_bonds'] = 0.0\n this['_cash'] = 0.0\n }\n get stocks() { return this['_stocks'] }\n set stocks(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_stocks'])) {\n setDirtyFlag()\n this['_stocks'] = __v__\n }\n }\n get bonds() { return this['_bonds'] }\n set bonds(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_bonds'])) {\n setDirtyFlag()\n this['_bonds'] = __v__\n }\n }\n get cash() { return this['_cash'] }\n set cash(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_cash'])) {\n setDirtyFlag()\n this['_cash'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new allocation()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.stocks = __a__['stocks']\n cls.bonds = __a__['bonds']\n cls.cash = __a__['cash']\n } else {\n doAlert(`allocation: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class application {\n constructor() {\n this['_status'] = 'loinitialized'\n this['_currentStage'] = 'Application'\n this['_currentStatus'] = 'ApplicationStarted'\n this['_visitedMenus'] = []\n this['_hascoborrower'] = null\n this['_cohabiting'] = null\n this['_married'] = null\n this['_firsttimebuyer'] = null\n this['_qualifiesforassistance'] = null\n this['_askedforassistance'] = null\n this['_loanbalance'] = ''\n this['_keepinghousefor'] = null\n this['_financingsameproperty'] = null\n this['_hascreditfreeze'] = null\n this['_assetsandliabilities'] = new assetsandliabilities()\n this['_otherliens'] = null\n this['_borrower'] = new borrower()\n this['_coborrower'] = new borrower()\n this['_remotecoborrowers'] = []\n this['_scre'] = 0\n this['_property'] = new subjectproperty()\n this['_product'] = new product()\n this['_transaction'] = new transaction()\n this['_assetsofotherpersonused'] = false\n this['_liabilitiesofotherpersonrequired'] = false\n this['_selection'] = new Selection()\n this['_lienposition'] = new LienPosition()\n this['_underwriting'] = new Underwriting()\n this['_escrowti'] = false\n this['_issueddate'] = ''\n this['_closingdate'] = ''\n this['_isAHI'] = false\n this['_isCommunityLending'] = false\n this['_AUSreport'] = new AUSreport()\n this['_IPCs'] = ''\n this['_deposit'] = 0\n this['_brokerinfo'] = new broker()\n this['_aloneMarriedWantsFHA'] = null\n this['_loanid'] = null\n this['_hardmoneyloan'] = new HardMoneyLoan()\n this['_escrowInfo'] = null\n this['_appraisalInfo'] = null\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['loinitialized','interviewstarted','productselected','interviewfinished','documentationrequested','loansubmitted','conditionallyapproved','loanafinalapproved','submittedtoescrow','finaldocssigned','fundsreleased','applicationwithdrawn','applicationabandoned','aplicationrejected','borrowerwithdrew','loancanceled','loandenied'],'loinitialized')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get currentStage() { return this['_currentStage'] }\n set currentStage(__a__) {\n let __v__ = enumReader(['Application','Processing','Closing','Archived'],'Application')(__a__)\n if(!_.isEqual(__v__,this['_currentStage'])) {\n setDirtyFlag()\n this['_currentStage'] = __v__\n }\n }\n get currentStatus() { return this['_currentStatus'] }\n set currentStatus(__a__) {\n let __v__ = enumReader(['ApplicationStarted','ApplicationFinished','PrequalSent','InContract','OpenEscrow','ConditionsRequested','ConditionsReviewed','OrderAppraisal','TitleSearch','PreApproved','SubmittedToUnderwriting','ConditionalApproval','ClearToClose','DocsOut','DocsSigned','LoanFunded','ApplicationAbandoned','ApplicationRejected','PreApprovalDenied','FileClosedForIncompleteness','ApplicationWithdrawn','ApplicationDenied','ApprovedButNotAccepted','Other'],'ApplicationStarted')(__a__)\n if(!_.isEqual(__v__,this['_currentStatus'])) {\n setDirtyFlag()\n this['_currentStatus'] = __v__\n }\n }\n get visitedMenus() { return this['_visitedMenus'] }\n set visitedMenus(__a__) {\n setDirtyFlag()\n this['_visitedMenus'] = __a__\n }\n get hascoborrower() { return this['_hascoborrower'] }\n set hascoborrower(__a__) {\n if(__a__ == null) {\n if(this['_hascoborrower'] == null) { return }\n setDirtyFlag()\n this['_hascoborrower'] = null\n return\n } else {\n let __v__ = enumReader(['alone','withcoborrower','multiple','remote'],'alone')(__a__)\n if(!_.isEqual(__v__,this['_hascoborrower'])) {\n setDirtyFlag()\n this['_hascoborrower'] = __v__\n }\n }\n }\n get cohabiting() { return this['_cohabiting'] }\n set cohabiting(__a__) {\n if(__a__ == null) {\n if(this['_cohabiting'] == null) { return }\n setDirtyFlag()\n this['_cohabiting'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_cohabiting'])) {\n setDirtyFlag()\n this['_cohabiting'] = __v__\n }\n }\n }\n get married() { return this['_married'] }\n set married(__a__) {\n if(__a__ == null) {\n if(this['_married'] == null) { return }\n setDirtyFlag()\n this['_married'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_married'])) {\n setDirtyFlag()\n this['_married'] = __v__\n }\n }\n }\n get firsttimebuyer() { return this['_firsttimebuyer'] }\n set firsttimebuyer(__a__) {\n if(__a__ == null) {\n if(this['_firsttimebuyer'] == null) { return }\n setDirtyFlag()\n this['_firsttimebuyer'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_firsttimebuyer'])) {\n setDirtyFlag()\n this['_firsttimebuyer'] = __v__\n }\n }\n }\n get qualifiesforassistance() { return this['_qualifiesforassistance'] }\n set qualifiesforassistance(__a__) {\n if(__a__ == null) {\n if(this['_qualifiesforassistance'] == null) { return }\n setDirtyFlag()\n this['_qualifiesforassistance'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_qualifiesforassistance'])) {\n setDirtyFlag()\n this['_qualifiesforassistance'] = __v__\n }\n }\n }\n get askedforassistance() { return this['_askedforassistance'] }\n set askedforassistance(__a__) {\n if(__a__ == null) {\n if(this['_askedforassistance'] == null) { return }\n setDirtyFlag()\n this['_askedforassistance'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_askedforassistance'])) {\n setDirtyFlag()\n this['_askedforassistance'] = __v__\n }\n }\n }\n get loanbalance() { return this['_loanbalance'] }\n set loanbalance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanbalance'])) {\n setDirtyFlag()\n this['_loanbalance'] = __v__\n }\n }\n get keepinghousefor() { return this['_keepinghousefor'] }\n set keepinghousefor(__a__) {\n if(__a__ == null) {\n if(this['_keepinghousefor'] == null) { return }\n setDirtyFlag()\n this['_keepinghousefor'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_keepinghousefor'])) {\n setDirtyFlag()\n this['_keepinghousefor'] = __v__\n }\n }\n }\n get financingsameproperty() { return this['_financingsameproperty'] }\n set financingsameproperty(__a__) {\n if(__a__ == null) {\n if(this['_financingsameproperty'] == null) { return }\n setDirtyFlag()\n this['_financingsameproperty'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_financingsameproperty'])) {\n setDirtyFlag()\n this['_financingsameproperty'] = __v__\n }\n }\n }\n get hascreditfreeze() { return this['_hascreditfreeze'] }\n set hascreditfreeze(__a__) {\n if(__a__ == null) {\n if(this['_hascreditfreeze'] == null) { return }\n setDirtyFlag()\n this['_hascreditfreeze'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hascreditfreeze'])) {\n setDirtyFlag()\n this['_hascreditfreeze'] = __v__\n }\n }\n }\n get assetsandliabilities() { return this['_assetsandliabilities'] }\n set assetsandliabilities(__a__) {\n setDirtyFlag()\n this['_assetsandliabilities'] = __a__\n }\n get otherliens() { return this['_otherliens'] }\n set otherliens(__a__) {\n setDirtyFlag()\n this['_otherliens'] = __a__\n }\n get borrower() { return this['_borrower'] }\n set borrower(__a__) {\n setDirtyFlag()\n this['_borrower'] = __a__\n }\n get coborrower() { return this['_coborrower'] }\n set coborrower(__a__) {\n setDirtyFlag()\n this['_coborrower'] = __a__\n }\n get remotecoborrowers() { return this['_remotecoborrowers'] }\n set remotecoborrowers(__a__) {\n setDirtyFlag()\n this['_remotecoborrowers'] = __a__\n }\n get scre() { return this['_scre'] }\n set scre(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_scre'])) {\n setDirtyFlag()\n this['_scre'] = __v__\n }\n }\n get property() { return this['_property'] }\n set property(__a__) {\n setDirtyFlag()\n this['_property'] = __a__\n }\n get product() { return this['_product'] }\n set product(__a__) {\n setDirtyFlag()\n this['_product'] = __a__\n }\n get transaction() { return this['_transaction'] }\n set transaction(__a__) {\n setDirtyFlag()\n this['_transaction'] = __a__\n }\n get assetsofotherpersonused() { return this['_assetsofotherpersonused'] }\n set assetsofotherpersonused(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_assetsofotherpersonused'])) {\n setDirtyFlag()\n this['_assetsofotherpersonused'] = __v__\n }\n }\n get liabilitiesofotherpersonrequired() { return this['_liabilitiesofotherpersonrequired'] }\n set liabilitiesofotherpersonrequired(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_liabilitiesofotherpersonrequired'])) {\n setDirtyFlag()\n this['_liabilitiesofotherpersonrequired'] = __v__\n }\n }\n get selection() { return this['_selection'] }\n set selection(__a__) {\n setDirtyFlag()\n this['_selection'] = __a__\n }\n get lienposition() { return this['_lienposition'] }\n set lienposition(__a__) {\n setDirtyFlag()\n this['_lienposition'] = __a__\n }\n get underwriting() { return this['_underwriting'] }\n set underwriting(__a__) {\n setDirtyFlag()\n this['_underwriting'] = __a__\n }\n get escrowti() { return this['_escrowti'] }\n set escrowti(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_escrowti'])) {\n setDirtyFlag()\n this['_escrowti'] = __v__\n }\n }\n get issueddate() { return this['_issueddate'] }\n set issueddate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_issueddate'])) {\n setDirtyFlag()\n this['_issueddate'] = __v__\n }\n }\n get closingdate() { return this['_closingdate'] }\n set closingdate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_closingdate'])) {\n setDirtyFlag()\n this['_closingdate'] = __v__\n }\n }\n get isAHI() { return this['_isAHI'] }\n set isAHI(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isAHI'])) {\n setDirtyFlag()\n this['_isAHI'] = __v__\n }\n }\n get isCommunityLending() { return this['_isCommunityLending'] }\n set isCommunityLending(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isCommunityLending'])) {\n setDirtyFlag()\n this['_isCommunityLending'] = __v__\n }\n }\n get AUSreport() { return this['_AUSreport'] }\n set AUSreport(__a__) {\n setDirtyFlag()\n this['_AUSreport'] = __a__\n }\n get IPCs() { return this['_IPCs'] }\n set IPCs(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_IPCs'])) {\n setDirtyFlag()\n this['_IPCs'] = __v__\n }\n }\n get deposit() { return this['_deposit'] }\n set deposit(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_deposit'])) {\n setDirtyFlag()\n this['_deposit'] = __v__\n }\n }\n get brokerinfo() { return this['_brokerinfo'] }\n set brokerinfo(__a__) {\n setDirtyFlag()\n this['_brokerinfo'] = __a__\n }\n get aloneMarriedWantsFHA() { return this['_aloneMarriedWantsFHA'] }\n set aloneMarriedWantsFHA(__a__) {\n if(__a__ == null) {\n if(this['_aloneMarriedWantsFHA'] == null) { return }\n setDirtyFlag()\n this['_aloneMarriedWantsFHA'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_aloneMarriedWantsFHA'])) {\n setDirtyFlag()\n this['_aloneMarriedWantsFHA'] = __v__\n }\n }\n }\n get loanid() { return this['_loanid'] }\n set loanid(__a__) {\n if(__a__ == null) {\n if(this['_loanid'] == null) { return }\n setDirtyFlag()\n this['_loanid'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanid'])) {\n setDirtyFlag()\n this['_loanid'] = __v__\n }\n }\n }\n get hardmoneyloan() { return this['_hardmoneyloan'] }\n set hardmoneyloan(__a__) {\n setDirtyFlag()\n this['_hardmoneyloan'] = __a__\n }\n get escrowInfo() { return this['_escrowInfo'] }\n set escrowInfo(__a__) {\n if(__a__ == null) {\n if(this['_escrowInfo'] == null) { return }\n setDirtyFlag()\n this['_escrowInfo'] = null\n return\n } else {\n setDirtyFlag()\n this['_escrowInfo'] = __a__\n }\n }\n get appraisalInfo() { return this['_appraisalInfo'] }\n set appraisalInfo(__a__) {\n if(__a__ == null) {\n if(this['_appraisalInfo'] == null) { return }\n setDirtyFlag()\n this['_appraisalInfo'] = null\n return\n } else {\n setDirtyFlag()\n this['_appraisalInfo'] = __a__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new application()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.status = __a__['status']\n cls.currentStage = __a__['currentStage']\n cls.currentStatus = __a__['currentStatus']\n cls.visitedMenus = array1Reader(stringReader(''))(__a__['visitedMenus'])\n cls.hascoborrower = __a__['hascoborrower'] == null ? null : __a__['hascoborrower']\n cls.cohabiting = __a__['cohabiting'] == null ? null : __a__['cohabiting']\n cls.married = __a__['married'] == null ? null : __a__['married']\n cls.firsttimebuyer = __a__['firsttimebuyer'] == null ? null : __a__['firsttimebuyer']\n cls.qualifiesforassistance = __a__['qualifiesforassistance'] == null ? null : __a__['qualifiesforassistance']\n cls.askedforassistance = __a__['askedforassistance'] == null ? null : __a__['askedforassistance']\n cls.loanbalance = __a__['loanbalance']\n cls.keepinghousefor = __a__['keepinghousefor'] == null ? null : __a__['keepinghousefor']\n cls.financingsameproperty = __a__['financingsameproperty'] == null ? null : __a__['financingsameproperty']\n cls.hascreditfreeze = __a__['hascreditfreeze'] == null ? null : __a__['hascreditfreeze']\n cls.assetsandliabilities = assetsandliabilities.fromJson(__a__['assetsandliabilities'])\n cls.otherliens = __a__['otherliens'] == null ? null : array1Reader(otherlien.fromJson)(__a__['otherliens'])\n cls.borrower = borrower.fromJson(__a__['borrower'])\n cls.coborrower = borrower.fromJson(__a__['coborrower'])\n cls.remotecoborrowers = array1Reader(remotecoborrower.fromJson)(__a__['remotecoborrowers'])\n cls.scre = __a__['scre']\n cls.property = subjectproperty.fromJson(__a__['property'])\n cls.product = product.fromJson(__a__['product'])\n cls.transaction = transaction.fromJson(__a__['transaction'])\n cls.assetsofotherpersonused = __a__['assetsofotherpersonused']\n cls.liabilitiesofotherpersonrequired = __a__['liabilitiesofotherpersonrequired']\n cls.selection = Selection.fromJson(__a__['selection'])\n cls.lienposition = LienPosition.fromJson(__a__['lienposition'])\n cls.underwriting = Underwriting.fromJson(__a__['underwriting'])\n cls.escrowti = __a__['escrowti']\n cls.issueddate = __a__['issueddate']\n cls.closingdate = __a__['closingdate']\n cls.isAHI = __a__['isAHI']\n cls.isCommunityLending = __a__['isCommunityLending']\n cls.AUSreport = AUSreport.fromJson(__a__['AUSreport'])\n cls.IPCs = __a__['IPCs']\n cls.deposit = __a__['deposit']\n cls.brokerinfo = broker.fromJson(__a__['brokerinfo'])\n cls.aloneMarriedWantsFHA = __a__['aloneMarriedWantsFHA'] == null ? null : __a__['aloneMarriedWantsFHA']\n cls.loanid = __a__['loanid'] == null ? null : __a__['loanid']\n cls.hardmoneyloan = HardMoneyLoan.fromJson(__a__['hardmoneyloan'])\n cls.escrowInfo = __a__['escrowInfo'] == null ? null : escrowinfo.fromJson(__a__['escrowInfo'])\n cls.appraisalInfo = __a__['appraisalInfo'] == null ? null : appraisalinfo.fromJson(__a__['appraisalInfo'])\n } else {\n doAlert(`application: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class appraisaldetails {\n constructor() {\n this['_orderdate'] = ''\n this['_datecompleted'] = ''\n this['_appraisalvalue'] = ''\n this['_appraisalname'] = ''\n this['_appraisername'] = ''\n this['_email'] = ''\n this['_phone'] = ''\n }\n get orderdate() { return this['_orderdate'] }\n set orderdate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_orderdate'])) {\n setDirtyFlag()\n this['_orderdate'] = __v__\n }\n }\n get datecompleted() { return this['_datecompleted'] }\n set datecompleted(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_datecompleted'])) {\n setDirtyFlag()\n this['_datecompleted'] = __v__\n }\n }\n get appraisalvalue() { return this['_appraisalvalue'] }\n set appraisalvalue(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisalvalue'])) {\n setDirtyFlag()\n this['_appraisalvalue'] = __v__\n }\n }\n get appraisalname() { return this['_appraisalname'] }\n set appraisalname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisalname'])) {\n setDirtyFlag()\n this['_appraisalname'] = __v__\n }\n }\n get appraisername() { return this['_appraisername'] }\n set appraisername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisername'])) {\n setDirtyFlag()\n this['_appraisername'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new appraisaldetails()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.orderdate = __a__['orderdate']\n cls.datecompleted = __a__['datecompleted']\n cls.appraisalvalue = __a__['appraisalvalue']\n cls.appraisalname = __a__['appraisalname']\n cls.appraisername = __a__['appraisername']\n cls.email = __a__['email']\n cls.phone = __a__['phone']\n } else {\n doAlert(`appraisaldetails: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class appraisalinfo {\n constructor() {\n this['_appraisaldetails'] = []\n this['_appraisalopened'] = false\n }\n get appraisaldetails() { return this['_appraisaldetails'] }\n set appraisaldetails(__a__) {\n setDirtyFlag()\n this['_appraisaldetails'] = __a__\n }\n get appraisalopened() { return this['_appraisalopened'] }\n set appraisalopened(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_appraisalopened'])) {\n setDirtyFlag()\n this['_appraisalopened'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new appraisalinfo()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.appraisaldetails = array1Reader(appraisaldetails.fromJson)(__a__['appraisaldetails'])\n cls.appraisalopened = __a__['appraisalopened']\n } else {\n doAlert(`appraisalinfo: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class armterms {\n constructor() {\n this['_index'] = 'LIBOR'\n this['_margin'] = 0.0\n this['_fixedperiod'] = 0\n this['_adjustmentperiod'] = 0\n this['_initialcap'] = 0\n this['_periodiccap'] = 0\n this['_lifetimecap'] = 0\n this['_lifetimefloor'] = 0.0\n }\n get index() { return this['_index'] }\n set index(__a__) {\n let __v__ = enumReader(['LIBOR','PrimeRate','COSI','COFI','MTA','TBill','CMT','CMT5YR','CMT10YR','SOFR'],'LIBOR')(__a__)\n if(!_.isEqual(__v__,this['_index'])) {\n setDirtyFlag()\n this['_index'] = __v__\n }\n }\n get margin() { return this['_margin'] }\n set margin(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_margin'])) {\n setDirtyFlag()\n this['_margin'] = __v__\n }\n }\n get fixedperiod() { return this['_fixedperiod'] }\n set fixedperiod(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_fixedperiod'])) {\n setDirtyFlag()\n this['_fixedperiod'] = __v__\n }\n }\n get adjustmentperiod() { return this['_adjustmentperiod'] }\n set adjustmentperiod(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_adjustmentperiod'])) {\n setDirtyFlag()\n this['_adjustmentperiod'] = __v__\n }\n }\n get initialcap() { return this['_initialcap'] }\n set initialcap(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_initialcap'])) {\n setDirtyFlag()\n this['_initialcap'] = __v__\n }\n }\n get periodiccap() { return this['_periodiccap'] }\n set periodiccap(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_periodiccap'])) {\n setDirtyFlag()\n this['_periodiccap'] = __v__\n }\n }\n get lifetimecap() { return this['_lifetimecap'] }\n set lifetimecap(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_lifetimecap'])) {\n setDirtyFlag()\n this['_lifetimecap'] = __v__\n }\n }\n get lifetimefloor() { return this['_lifetimefloor'] }\n set lifetimefloor(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_lifetimefloor'])) {\n setDirtyFlag()\n this['_lifetimefloor'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new armterms()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.index = __a__['index']\n cls.margin = __a__['margin']\n cls.fixedperiod = __a__['fixedperiod']\n cls.adjustmentperiod = __a__['adjustmentperiod']\n cls.initialcap = __a__['initialcap']\n cls.periodiccap = __a__['periodiccap']\n cls.lifetimecap = __a__['lifetimecap']\n cls.lifetimefloor = __a__['lifetimefloor']\n } else {\n doAlert(`armterms: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class assetsandliabilities {\n constructor() {\n this['_accounts'] = null\n this['_brokerages'] = null\n this['_ownedproperties'] = []\n this['_properties'] = null\n this['_propertiesfrompull'] = null\n this['_loans'] = null\n this['_gifts'] = null\n this['_newloans'] = null\n this['_otherassets'] = null\n this['_lifeinsurance'] = null\n this['_propertyownedfreeandclear'] = null\n this['_loansreviewed'] = null\n this['_warnings'] = null\n }\n get accounts() { return this['_accounts'] }\n set accounts(__a__) {\n setDirtyFlag()\n this['_accounts'] = __a__\n }\n get brokerages() { return this['_brokerages'] }\n set brokerages(__a__) {\n setDirtyFlag()\n this['_brokerages'] = __a__\n }\n get ownedproperties() { return this['_ownedproperties'] }\n set ownedproperties(__a__) {\n setDirtyFlag()\n this['_ownedproperties'] = __a__\n }\n get properties() { return this['_properties'] }\n set properties(__a__) {\n setDirtyFlag()\n this['_properties'] = __a__\n }\n get propertiesfrompull() { return this['_propertiesfrompull'] }\n set propertiesfrompull(__a__) {\n setDirtyFlag()\n this['_propertiesfrompull'] = __a__\n }\n get loans() { return this['_loans'] }\n set loans(__a__) {\n setDirtyFlag()\n this['_loans'] = __a__\n }\n get gifts() { return this['_gifts'] }\n set gifts(__a__) {\n setDirtyFlag()\n this['_gifts'] = __a__\n }\n get newloans() { return this['_newloans'] }\n set newloans(__a__) {\n setDirtyFlag()\n this['_newloans'] = __a__\n }\n get otherassets() { return this['_otherassets'] }\n set otherassets(__a__) {\n setDirtyFlag()\n this['_otherassets'] = __a__\n }\n get lifeinsurance() { return this['_lifeinsurance'] }\n set lifeinsurance(__a__) {\n setDirtyFlag()\n this['_lifeinsurance'] = __a__\n }\n get propertyownedfreeandclear() { return this['_propertyownedfreeandclear'] }\n set propertyownedfreeandclear(__a__) {\n if(__a__ == null) {\n if(this['_propertyownedfreeandclear'] == null) { return }\n setDirtyFlag()\n this['_propertyownedfreeandclear'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_propertyownedfreeandclear'])) {\n setDirtyFlag()\n this['_propertyownedfreeandclear'] = __v__\n }\n }\n }\n get loansreviewed() { return this['_loansreviewed'] }\n set loansreviewed(__a__) {\n if(__a__ == null) {\n if(this['_loansreviewed'] == null) { return }\n setDirtyFlag()\n this['_loansreviewed'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_loansreviewed'])) {\n setDirtyFlag()\n this['_loansreviewed'] = __v__\n }\n }\n }\n get warnings() { return this['_warnings'] }\n set warnings(__a__) {\n setDirtyFlag()\n this['_warnings'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new assetsandliabilities()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.accounts = __a__['accounts'] == null ? null : array1Reader(account.fromJson)(__a__['accounts'])\n cls.brokerages = __a__['brokerages'] == null ? null : array1Reader(brokerageaccount.fromJson)(__a__['brokerages'])\n cls.ownedproperties = array1Reader(OwnedProperty.fromJson)(__a__['ownedproperties'])\n cls.properties = __a__['properties'] == null ? null : array1Reader(property.fromJson)(__a__['properties'])\n cls.propertiesfrompull = __a__['propertiesfrompull'] == null ? null : array1Reader(property.fromJson)(__a__['propertiesfrompull'])\n cls.loans = __a__['loans'] == null ? null : array1Reader(loan.fromJson)(__a__['loans'])\n cls.gifts = __a__['gifts'] == null ? null : array1Reader(gift.fromJson)(__a__['gifts'])\n cls.newloans = __a__['newloans'] == null ? null : array1Reader(newmortgage.fromJson)(__a__['newloans'])\n cls.otherassets = __a__['otherassets'] == null ? null : array1Reader(otherasset.fromJson)(__a__['otherassets'])\n cls.lifeinsurance = __a__['lifeinsurance'] == null ? null : array1Reader(insurance.fromJson)(__a__['lifeinsurance'])\n cls.propertyownedfreeandclear = __a__['propertyownedfreeandclear'] == null ? null : __a__['propertyownedfreeandclear']\n cls.loansreviewed = __a__['loansreviewed'] == null ? null : __a__['loansreviewed']\n cls.warnings = __a__['warnings'] == null ? null : array1Reader(stringReader(''))(__a__['warnings'])\n } else {\n doAlert(`assetsandliabilities: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class automobile {\n constructor() {\n this['_make'] = ''\n this['_year'] = ''\n this['_value'] = ''\n this['_key'] = ''\n this['_attribution'] = null\n }\n get make() { return this['_make'] }\n set make(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_make'])) {\n setDirtyFlag()\n this['_make'] = __v__\n }\n }\n get year() { return this['_year'] }\n set year(__a__) {\n let __v__ = YearSReader('')(__a__)\n if(!_.isEqual(__v__,this['_year'])) {\n setDirtyFlag()\n this['_year'] = __v__\n }\n }\n get value() { return this['_value'] }\n set value(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_value'])) {\n setDirtyFlag()\n this['_value'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new automobile()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.make = __a__['make']\n cls.year = __a__['year']\n cls.value = __a__['value']\n cls.key = __a__['key']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n } else {\n doAlert(`automobile: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class borrower {\n constructor() {\n this['_firstname'] = ''\n this['_middlename'] = ''\n this['_lastname'] = ''\n this['_suffix'] = ''\n this['_email'] = ''\n this['_presentaddressstreet'] = ''\n this['_presentaddressunit'] = null\n this['_presentaddresscity'] = ''\n this['_presentaddresscounty'] = ''\n this['_presentaddressstate'] = ''\n this['_presentaddresszip'] = ''\n this['_presentaddressyears'] = ''\n this['_presentaddressmonths'] = ''\n this['_presentaddressownership'] = null\n this['_marketvalue'] = ''\n this['_liens'] = ''\n this['_grossrentalincome'] = ''\n this['_status'] = 'pending'\n this['_propertytype'] = 'singlefamilyattached'\n this['_mortgagepayment'] = ''\n this['_insurancemaintenancetaxes'] = ''\n this['_netrentalincome'] = ''\n this['_isrented'] = false\n this['_previousaddresses'] = []\n this['_samemailingaddress'] = true\n this['_mailingaddressstreet'] = ''\n this['_mailingaddressunit'] = ''\n this['_mailingaddresscounty'] = ''\n this['_mailingaddresscity'] = ''\n this['_mailingaddressstate'] = ''\n this['_mailingaddresszip'] = ''\n this['_dateofbirth'] = ''\n this['_maritalstatus'] = null\n this['_haspartner'] = null\n this['_relationship'] = ''\n this['_relationshiptype'] = '\"other\"'\n this['_stateofrelationship'] = ''\n this['_socialsecurity'] = ''\n this['_homephone'] = ''\n this['_mobilephone'] = ''\n this['_workphone'] = ''\n this['_yearsofschool'] = ''\n this['_stateid'] = ''\n this['_citizenship'] = null\n this['_visa'] = 'A-1'\n this['_visaexpiration'] = ''\n this['_numberofdependents'] = ''\n this['_dependentsages'] = ''\n this['_occupation'] = new occupation()\n this['_otheroccupations'] = null\n this['_previousoccupations'] = null\n this['_income'] = new income()\n this['_expenses'] = new expenses()\n this['_finances'] = new finances()\n this['_declarations'] = new declarations()\n this['_equalopportunity'] = new equalopportunity()\n this['_creditreport'] = new borrowercreditreport()\n this['_hashomebuyereducationcertificate'] = false\n this['_driverlicense'] = ''\n this['_driverlicenseexpiration'] = ''\n this['_ownedproperties'] = []\n this['_nonqm'] = new nonqm()\n this['_completedsteps'] = new completedsteps()\n }\n get firstname() { return this['_firstname'] }\n set firstname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_firstname'])) {\n setDirtyFlag()\n this['_firstname'] = __v__\n }\n }\n get middlename() { return this['_middlename'] }\n set middlename(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_middlename'])) {\n setDirtyFlag()\n this['_middlename'] = __v__\n }\n }\n get lastname() { return this['_lastname'] }\n set lastname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lastname'])) {\n setDirtyFlag()\n this['_lastname'] = __v__\n }\n }\n get suffix() { return this['_suffix'] }\n set suffix(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_suffix'])) {\n setDirtyFlag()\n this['_suffix'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get presentaddressstreet() { return this['_presentaddressstreet'] }\n set presentaddressstreet(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressstreet'])) {\n setDirtyFlag()\n this['_presentaddressstreet'] = __v__\n }\n }\n get presentaddressunit() { return this['_presentaddressunit'] }\n set presentaddressunit(__a__) {\n if(__a__ == null) {\n if(this['_presentaddressunit'] == null) { return }\n setDirtyFlag()\n this['_presentaddressunit'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressunit'])) {\n setDirtyFlag()\n this['_presentaddressunit'] = __v__\n }\n }\n }\n get presentaddresscity() { return this['_presentaddresscity'] }\n set presentaddresscity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddresscity'])) {\n setDirtyFlag()\n this['_presentaddresscity'] = __v__\n }\n }\n get presentaddresscounty() { return this['_presentaddresscounty'] }\n set presentaddresscounty(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddresscounty'])) {\n setDirtyFlag()\n this['_presentaddresscounty'] = __v__\n }\n }\n get presentaddressstate() { return this['_presentaddressstate'] }\n set presentaddressstate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressstate'])) {\n setDirtyFlag()\n this['_presentaddressstate'] = __v__\n }\n }\n get presentaddresszip() { return this['_presentaddresszip'] }\n set presentaddresszip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddresszip'])) {\n setDirtyFlag()\n this['_presentaddresszip'] = __v__\n }\n }\n get presentaddressyears() { return this['_presentaddressyears'] }\n set presentaddressyears(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressyears'])) {\n setDirtyFlag()\n this['_presentaddressyears'] = __v__\n }\n }\n get presentaddressmonths() { return this['_presentaddressmonths'] }\n set presentaddressmonths(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressmonths'])) {\n setDirtyFlag()\n this['_presentaddressmonths'] = __v__\n }\n }\n get presentaddressownership() { return this['_presentaddressownership'] }\n set presentaddressownership(__a__) {\n if(__a__ == null) {\n if(this['_presentaddressownership'] == null) { return }\n setDirtyFlag()\n this['_presentaddressownership'] = null\n return\n } else {\n let __v__ = enumReader(['own','rent','rentfree'],'own')(__a__)\n if(!_.isEqual(__v__,this['_presentaddressownership'])) {\n setDirtyFlag()\n this['_presentaddressownership'] = __v__\n }\n }\n }\n get marketvalue() { return this['_marketvalue'] }\n set marketvalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_marketvalue'])) {\n setDirtyFlag()\n this['_marketvalue'] = __v__\n }\n }\n get liens() { return this['_liens'] }\n set liens(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_liens'])) {\n setDirtyFlag()\n this['_liens'] = __v__\n }\n }\n get grossrentalincome() { return this['_grossrentalincome'] }\n set grossrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_grossrentalincome'])) {\n setDirtyFlag()\n this['_grossrentalincome'] = __v__\n }\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['pending','sold','retained'],'pending')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n let __v__ = enumReader(['singlefamilyattached','singlefamilydetached','condominium','condominiumdetached','pudattached','puddetached','twotofourfamily','twofamily','threefamily','fourfamily','multistory','manufacturedhome','land','commercial','townhouse','mixeduse','mobilehome'],'singlefamilyattached')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n get mortgagepayment() { return this['_mortgagepayment'] }\n set mortgagepayment(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_mortgagepayment'])) {\n setDirtyFlag()\n this['_mortgagepayment'] = __v__\n }\n }\n get insurancemaintenancetaxes() { return this['_insurancemaintenancetaxes'] }\n set insurancemaintenancetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_insurancemaintenancetaxes'])) {\n setDirtyFlag()\n this['_insurancemaintenancetaxes'] = __v__\n }\n }\n get netrentalincome() { return this['_netrentalincome'] }\n set netrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_netrentalincome'])) {\n setDirtyFlag()\n this['_netrentalincome'] = __v__\n }\n }\n get isrented() { return this['_isrented'] }\n set isrented(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isrented'])) {\n setDirtyFlag()\n this['_isrented'] = __v__\n }\n }\n get previousaddresses() { return this['_previousaddresses'] }\n set previousaddresses(__a__) {\n setDirtyFlag()\n this['_previousaddresses'] = __a__\n }\n get samemailingaddress() { return this['_samemailingaddress'] }\n set samemailingaddress(__a__) {\n let __v__ = boolReader(true)(__a__)\n if(!_.isEqual(__v__,this['_samemailingaddress'])) {\n setDirtyFlag()\n this['_samemailingaddress'] = __v__\n }\n }\n get mailingaddressstreet() { return this['_mailingaddressstreet'] }\n set mailingaddressstreet(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddressstreet'])) {\n setDirtyFlag()\n this['_mailingaddressstreet'] = __v__\n }\n }\n get mailingaddressunit() { return this['_mailingaddressunit'] }\n set mailingaddressunit(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddressunit'])) {\n setDirtyFlag()\n this['_mailingaddressunit'] = __v__\n }\n }\n get mailingaddresscounty() { return this['_mailingaddresscounty'] }\n set mailingaddresscounty(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddresscounty'])) {\n setDirtyFlag()\n this['_mailingaddresscounty'] = __v__\n }\n }\n get mailingaddresscity() { return this['_mailingaddresscity'] }\n set mailingaddresscity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddresscity'])) {\n setDirtyFlag()\n this['_mailingaddresscity'] = __v__\n }\n }\n get mailingaddressstate() { return this['_mailingaddressstate'] }\n set mailingaddressstate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddressstate'])) {\n setDirtyFlag()\n this['_mailingaddressstate'] = __v__\n }\n }\n get mailingaddresszip() { return this['_mailingaddresszip'] }\n set mailingaddresszip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mailingaddresszip'])) {\n setDirtyFlag()\n this['_mailingaddresszip'] = __v__\n }\n }\n get dateofbirth() { return this['_dateofbirth'] }\n set dateofbirth(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_dateofbirth'])) {\n setDirtyFlag()\n this['_dateofbirth'] = __v__\n }\n }\n get maritalstatus() { return this['_maritalstatus'] }\n set maritalstatus(__a__) {\n if(__a__ == null) {\n if(this['_maritalstatus'] == null) { return }\n setDirtyFlag()\n this['_maritalstatus'] = null\n return\n } else {\n let __v__ = enumReader(['married','separated','unmarried','single'],'married')(__a__)\n if(!_.isEqual(__v__,this['_maritalstatus'])) {\n setDirtyFlag()\n this['_maritalstatus'] = __v__\n }\n }\n }\n get haspartner() { return this['_haspartner'] }\n set haspartner(__a__) {\n if(__a__ == null) {\n if(this['_haspartner'] == null) { return }\n setDirtyFlag()\n this['_haspartner'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_haspartner'])) {\n setDirtyFlag()\n this['_haspartner'] = __v__\n }\n }\n }\n get relationship() { return this['_relationship'] }\n set relationship(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_relationship'])) {\n setDirtyFlag()\n this['_relationship'] = __v__\n }\n }\n get relationshiptype() { return this['_relationshiptype'] }\n set relationshiptype(__a__) {\n let __v__ = stringReader('\"other\"')(__a__)\n if(!_.isEqual(__v__,this['_relationshiptype'])) {\n setDirtyFlag()\n this['_relationshiptype'] = __v__\n }\n }\n get stateofrelationship() { return this['_stateofrelationship'] }\n set stateofrelationship(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_stateofrelationship'])) {\n setDirtyFlag()\n this['_stateofrelationship'] = __v__\n }\n }\n get socialsecurity() { return this['_socialsecurity'] }\n set socialsecurity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_socialsecurity'])) {\n setDirtyFlag()\n this['_socialsecurity'] = __v__\n }\n }\n get homephone() { return this['_homephone'] }\n set homephone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_homephone'])) {\n setDirtyFlag()\n this['_homephone'] = __v__\n }\n }\n get mobilephone() { return this['_mobilephone'] }\n set mobilephone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_mobilephone'])) {\n setDirtyFlag()\n this['_mobilephone'] = __v__\n }\n }\n get workphone() { return this['_workphone'] }\n set workphone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_workphone'])) {\n setDirtyFlag()\n this['_workphone'] = __v__\n }\n }\n get yearsofschool() { return this['_yearsofschool'] }\n set yearsofschool(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearsofschool'])) {\n setDirtyFlag()\n this['_yearsofschool'] = __v__\n }\n }\n get stateid() { return this['_stateid'] }\n set stateid(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_stateid'])) {\n setDirtyFlag()\n this['_stateid'] = __v__\n }\n }\n get citizenship() { return this['_citizenship'] }\n set citizenship(__a__) {\n if(__a__ == null) {\n if(this['_citizenship'] == null) { return }\n setDirtyFlag()\n this['_citizenship'] = null\n return\n } else {\n let __v__ = enumReader(['citizen','permanent','alien'],'citizen')(__a__)\n if(!_.isEqual(__v__,this['_citizenship'])) {\n setDirtyFlag()\n this['_citizenship'] = __v__\n }\n }\n }\n get visa() { return this['_visa'] }\n set visa(__a__) {\n let __v__ = enumReader(['A-1','A-2','A-3','B-1','B-2','B-3','C-1','C-2','C-3','C-4','C-1D','CP','D-1','D-2','E-1','E-2','E-3','F-1','F-2','F-3','G-1','G-2','G-3','G-4','G-5','H-1A','H-1B','H-1B1','H-2','H-2A','H-2B','H-3','H-4','I','OR-1','J-1','J-2','K-1','K-2','K-3','K-4','L-1','L-2','M-1','M-2','M-3','N-8','N-9','NACARA','NATO-1-5','NATO-7','O-1','O-2','O-3','P-1','P-2','P-3','P-4','Q-1','Q-2','Q-3','R-1','R-2','S-5','S-6','S-7','T-1','T-2','T-3','T-4','TD','TN','U-1','U-2','U-3','U-4','V-1','V-2','V-3'],'A-1')(__a__)\n if(!_.isEqual(__v__,this['_visa'])) {\n setDirtyFlag()\n this['_visa'] = __v__\n }\n }\n get visaexpiration() { return this['_visaexpiration'] }\n set visaexpiration(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_visaexpiration'])) {\n setDirtyFlag()\n this['_visaexpiration'] = __v__\n }\n }\n get numberofdependents() { return this['_numberofdependents'] }\n set numberofdependents(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_numberofdependents'])) {\n setDirtyFlag()\n this['_numberofdependents'] = __v__\n }\n }\n get dependentsages() { return this['_dependentsages'] }\n set dependentsages(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_dependentsages'])) {\n setDirtyFlag()\n this['_dependentsages'] = __v__\n }\n }\n get occupation() { return this['_occupation'] }\n set occupation(__a__) {\n setDirtyFlag()\n this['_occupation'] = __a__\n }\n get otheroccupations() { return this['_otheroccupations'] }\n set otheroccupations(__a__) {\n setDirtyFlag()\n this['_otheroccupations'] = __a__\n }\n get previousoccupations() { return this['_previousoccupations'] }\n set previousoccupations(__a__) {\n setDirtyFlag()\n this['_previousoccupations'] = __a__\n }\n get income() { return this['_income'] }\n set income(__a__) {\n setDirtyFlag()\n this['_income'] = __a__\n }\n get expenses() { return this['_expenses'] }\n set expenses(__a__) {\n setDirtyFlag()\n this['_expenses'] = __a__\n }\n get finances() { return this['_finances'] }\n set finances(__a__) {\n setDirtyFlag()\n this['_finances'] = __a__\n }\n get declarations() { return this['_declarations'] }\n set declarations(__a__) {\n setDirtyFlag()\n this['_declarations'] = __a__\n }\n get equalopportunity() { return this['_equalopportunity'] }\n set equalopportunity(__a__) {\n setDirtyFlag()\n this['_equalopportunity'] = __a__\n }\n get creditreport() { return this['_creditreport'] }\n set creditreport(__a__) {\n setDirtyFlag()\n this['_creditreport'] = __a__\n }\n get hashomebuyereducationcertificate() { return this['_hashomebuyereducationcertificate'] }\n set hashomebuyereducationcertificate(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hashomebuyereducationcertificate'])) {\n setDirtyFlag()\n this['_hashomebuyereducationcertificate'] = __v__\n }\n }\n get driverlicense() { return this['_driverlicense'] }\n set driverlicense(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_driverlicense'])) {\n setDirtyFlag()\n this['_driverlicense'] = __v__\n }\n }\n get driverlicenseexpiration() { return this['_driverlicenseexpiration'] }\n set driverlicenseexpiration(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_driverlicenseexpiration'])) {\n setDirtyFlag()\n this['_driverlicenseexpiration'] = __v__\n }\n }\n get ownedproperties() { return this['_ownedproperties'] }\n set ownedproperties(__a__) {\n setDirtyFlag()\n this['_ownedproperties'] = __a__\n }\n get nonqm() { return this['_nonqm'] }\n set nonqm(__a__) {\n setDirtyFlag()\n this['_nonqm'] = __a__\n }\n get completedsteps() { return this['_completedsteps'] }\n set completedsteps(__a__) {\n setDirtyFlag()\n this['_completedsteps'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new borrower()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.firstname = __a__['firstname']\n cls.middlename = __a__['middlename']\n cls.lastname = __a__['lastname']\n cls.suffix = __a__['suffix']\n cls.email = __a__['email']\n cls.presentaddressstreet = __a__['presentaddressstreet']\n cls.presentaddressunit = __a__['presentaddressunit'] == null ? null : __a__['presentaddressunit']\n cls.presentaddresscity = __a__['presentaddresscity']\n cls.presentaddresscounty = __a__['presentaddresscounty']\n cls.presentaddressstate = __a__['presentaddressstate']\n cls.presentaddresszip = __a__['presentaddresszip']\n cls.presentaddressyears = __a__['presentaddressyears']\n cls.presentaddressmonths = __a__['presentaddressmonths']\n cls.presentaddressownership = __a__['presentaddressownership'] == null ? null : __a__['presentaddressownership']\n cls.marketvalue = __a__['marketvalue']\n cls.liens = __a__['liens']\n cls.grossrentalincome = __a__['grossrentalincome']\n cls.status = __a__['status']\n cls.propertytype = __a__['propertytype']\n cls.mortgagepayment = __a__['mortgagepayment']\n cls.insurancemaintenancetaxes = __a__['insurancemaintenancetaxes']\n cls.netrentalincome = __a__['netrentalincome']\n cls.isrented = __a__['isrented']\n cls.previousaddresses = array1Reader(address.fromJson)(__a__['previousaddresses'])\n cls.samemailingaddress = __a__['samemailingaddress']\n cls.mailingaddressstreet = __a__['mailingaddressstreet']\n cls.mailingaddressunit = __a__['mailingaddressunit']\n cls.mailingaddresscounty = __a__['mailingaddresscounty']\n cls.mailingaddresscity = __a__['mailingaddresscity']\n cls.mailingaddressstate = __a__['mailingaddressstate']\n cls.mailingaddresszip = __a__['mailingaddresszip']\n cls.dateofbirth = __a__['dateofbirth']\n cls.maritalstatus = __a__['maritalstatus'] == null ? null : __a__['maritalstatus']\n cls.haspartner = __a__['haspartner'] == null ? null : __a__['haspartner']\n cls.relationship = __a__['relationship']\n cls.relationshiptype = __a__['relationshiptype']\n cls.stateofrelationship = __a__['stateofrelationship']\n cls.socialsecurity = __a__['socialsecurity']\n cls.homephone = __a__['homephone']\n cls.mobilephone = __a__['mobilephone']\n cls.workphone = __a__['workphone']\n cls.yearsofschool = __a__['yearsofschool']\n cls.stateid = __a__['stateid']\n cls.citizenship = __a__['citizenship'] == null ? null : __a__['citizenship']\n cls.visa = __a__['visa']\n cls.visaexpiration = __a__['visaexpiration']\n cls.numberofdependents = __a__['numberofdependents']\n cls.dependentsages = __a__['dependentsages']\n cls.occupation = occupation.fromJson(__a__['occupation'])\n cls.otheroccupations = __a__['otheroccupations'] == null ? null : array1Reader(otheroccupation.fromJson)(__a__['otheroccupations'])\n cls.previousoccupations = __a__['previousoccupations'] == null ? null : array1Reader(previousoccupation.fromJson)(__a__['previousoccupations'])\n cls.income = income.fromJson(__a__['income'])\n cls.expenses = expenses.fromJson(__a__['expenses'])\n cls.finances = finances.fromJson(__a__['finances'])\n cls.declarations = declarations.fromJson(__a__['declarations'])\n cls.equalopportunity = equalopportunity.fromJson(__a__['equalopportunity'])\n cls.creditreport = borrowercreditreport.fromJson(__a__['creditreport'])\n cls.hashomebuyereducationcertificate = __a__['hashomebuyereducationcertificate']\n cls.driverlicense = __a__['driverlicense']\n cls.driverlicenseexpiration = __a__['driverlicenseexpiration']\n cls.ownedproperties = array1Reader(OwnedProperty.fromJson)(__a__['ownedproperties'])\n cls.nonqm = nonqm.fromJson(__a__['nonqm'])\n cls.completedsteps = completedsteps.fromJson(__a__['completedsteps'])\n } else {\n doAlert(`borrower: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class borrowercreditreport {\n constructor() {\n this['_errorMessages'] = null\n this['_creditscore'] = ''\n this['_personswithresidencies'] = []\n this['_liabilities'] = []\n this['_publicrecords'] = []\n }\n get errorMessages() { return this['_errorMessages'] }\n set errorMessages(__a__) {\n setDirtyFlag()\n this['_errorMessages'] = __a__\n }\n get creditscore() { return this['_creditscore'] }\n set creditscore(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditscore'])) {\n setDirtyFlag()\n this['_creditscore'] = __v__\n }\n }\n get personswithresidencies() { return this['_personswithresidencies'] }\n set personswithresidencies(__a__) {\n setDirtyFlag()\n this['_personswithresidencies'] = __a__\n }\n get liabilities() { return this['_liabilities'] }\n set liabilities(__a__) {\n setDirtyFlag()\n this['_liabilities'] = __a__\n }\n get publicrecords() { return this['_publicrecords'] }\n set publicrecords(__a__) {\n setDirtyFlag()\n this['_publicrecords'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new borrowercreditreport()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.errorMessages = __a__['errorMessages'] == null ? null : array1Reader(stringReader(''))(__a__['errorMessages'])\n cls.creditscore = __a__['creditscore']\n cls.personswithresidencies = array1Reader(personwithresidencies.fromJson)(__a__['personswithresidencies'])\n cls.liabilities = array1Reader(loan.fromJson)(__a__['liabilities'])\n cls.publicrecords = array1Reader(publicrecordwithattribution.fromJson)(__a__['publicrecords'])\n } else {\n doAlert(`borrowercreditreport: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class borrowerinternal {\n constructor() {\n this['_id'] = ''\n this['_loan_id'] = ''\n this['_fullname'] = ''\n }\n get id() { return this['_id'] }\n set id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_id'])) {\n setDirtyFlag()\n this['_id'] = __v__\n }\n }\n get loan_id() { return this['_loan_id'] }\n set loan_id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loan_id'])) {\n setDirtyFlag()\n this['_loan_id'] = __v__\n }\n }\n get fullname() { return this['_fullname'] }\n set fullname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_fullname'])) {\n setDirtyFlag()\n this['_fullname'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new borrowerinternal()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.id = __a__['id']\n cls.loan_id = __a__['loan_id']\n cls.fullname = __a__['fullname']\n } else {\n doAlert(`borrowerinternal: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class broker {\n constructor() {\n this['_name'] = ''\n this['_street'] = ''\n this['_unit'] = ''\n this['_city'] = ''\n this['_state'] = ''\n this['_zip'] = ''\n this['_licenseid'] = ''\n this['_nmls'] = ''\n this['_loanofficername'] = ''\n this['_loanofficerlicenseid'] = ''\n this['_loanofficernmls'] = ''\n this['_email'] = ''\n this['_phone'] = ''\n }\n get name() { return this['_name'] }\n set name(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_name'])) {\n setDirtyFlag()\n this['_name'] = __v__\n }\n }\n get street() { return this['_street'] }\n set street(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_street'])) {\n setDirtyFlag()\n this['_street'] = __v__\n }\n }\n get unit() { return this['_unit'] }\n set unit(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_unit'])) {\n setDirtyFlag()\n this['_unit'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get zip() { return this['_zip'] }\n set zip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zip'])) {\n setDirtyFlag()\n this['_zip'] = __v__\n }\n }\n get licenseid() { return this['_licenseid'] }\n set licenseid(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_licenseid'])) {\n setDirtyFlag()\n this['_licenseid'] = __v__\n }\n }\n get nmls() { return this['_nmls'] }\n set nmls(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_nmls'])) {\n setDirtyFlag()\n this['_nmls'] = __v__\n }\n }\n get loanofficername() { return this['_loanofficername'] }\n set loanofficername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanofficername'])) {\n setDirtyFlag()\n this['_loanofficername'] = __v__\n }\n }\n get loanofficerlicenseid() { return this['_loanofficerlicenseid'] }\n set loanofficerlicenseid(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanofficerlicenseid'])) {\n setDirtyFlag()\n this['_loanofficerlicenseid'] = __v__\n }\n }\n get loanofficernmls() { return this['_loanofficernmls'] }\n set loanofficernmls(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanofficernmls'])) {\n setDirtyFlag()\n this['_loanofficernmls'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new broker()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.name = __a__['name']\n cls.street = __a__['street']\n cls.unit = __a__['unit']\n cls.city = __a__['city']\n cls.state = __a__['state']\n cls.zip = __a__['zip']\n cls.licenseid = __a__['licenseid']\n cls.nmls = __a__['nmls']\n cls.loanofficername = __a__['loanofficername']\n cls.loanofficerlicenseid = __a__['loanofficerlicenseid']\n cls.loanofficernmls = __a__['loanofficernmls']\n cls.email = __a__['email']\n cls.phone = __a__['phone']\n } else {\n doAlert(`broker: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class brokerageaccount {\n constructor() {\n this['_key'] = ''\n this['_bankname'] = ''\n this['_account'] = ''\n this['_balance'] = ''\n this['_attribution'] = null\n this['_allocation'] = new allocation()\n this['_isretirement'] = false\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get bankname() { return this['_bankname'] }\n set bankname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_bankname'])) {\n setDirtyFlag()\n this['_bankname'] = __v__\n }\n }\n get account() { return this['_account'] }\n set account(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_account'])) {\n setDirtyFlag()\n this['_account'] = __v__\n }\n }\n get balance() { return this['_balance'] }\n set balance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_balance'])) {\n setDirtyFlag()\n this['_balance'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get allocation() { return this['_allocation'] }\n set allocation(__a__) {\n setDirtyFlag()\n this['_allocation'] = __a__\n }\n get isretirement() { return this['_isretirement'] }\n set isretirement(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isretirement'])) {\n setDirtyFlag()\n this['_isretirement'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new brokerageaccount()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.key = __a__['key']\n cls.bankname = __a__['bankname']\n cls.account = __a__['account']\n cls.balance = __a__['balance']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.allocation = allocation.fromJson(__a__['allocation'])\n cls.isretirement = __a__['isretirement']\n } else {\n doAlert(`brokerageaccount: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class charge {\n constructor() {\n this['_chargename'] = ''\n this['_estimateamount'] = 0\n }\n get chargename() { return this['_chargename'] }\n set chargename(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_chargename'])) {\n setDirtyFlag()\n this['_chargename'] = __v__\n }\n }\n get estimateamount() { return this['_estimateamount'] }\n set estimateamount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_estimateamount'])) {\n setDirtyFlag()\n this['_estimateamount'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new charge()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.chargename = __a__['chargename']\n cls.estimateamount = __a__['estimateamount']\n } else {\n doAlert(`charge: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class completedsteps {\n constructor() {\n this['_yourinfo'] = false\n this['_residence'] = false\n this['_property'] = false\n this['_employment'] = false\n this['_otherincome'] = false\n this['_assets'] = false\n this['_creditcheck'] = false\n this['_liabilities'] = false\n this['_propertymoney'] = false\n this['_finances'] = false\n }\n get yourinfo() { return this['_yourinfo'] }\n set yourinfo(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_yourinfo'])) {\n setDirtyFlag()\n this['_yourinfo'] = __v__\n }\n }\n get residence() { return this['_residence'] }\n set residence(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_residence'])) {\n setDirtyFlag()\n this['_residence'] = __v__\n }\n }\n get property() { return this['_property'] }\n set property(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_property'])) {\n setDirtyFlag()\n this['_property'] = __v__\n }\n }\n get employment() { return this['_employment'] }\n set employment(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_employment'])) {\n setDirtyFlag()\n this['_employment'] = __v__\n }\n }\n get otherincome() { return this['_otherincome'] }\n set otherincome(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_otherincome'])) {\n setDirtyFlag()\n this['_otherincome'] = __v__\n }\n }\n get assets() { return this['_assets'] }\n set assets(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_assets'])) {\n setDirtyFlag()\n this['_assets'] = __v__\n }\n }\n get creditcheck() { return this['_creditcheck'] }\n set creditcheck(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_creditcheck'])) {\n setDirtyFlag()\n this['_creditcheck'] = __v__\n }\n }\n get liabilities() { return this['_liabilities'] }\n set liabilities(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_liabilities'])) {\n setDirtyFlag()\n this['_liabilities'] = __v__\n }\n }\n get propertymoney() { return this['_propertymoney'] }\n set propertymoney(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_propertymoney'])) {\n setDirtyFlag()\n this['_propertymoney'] = __v__\n }\n }\n get finances() { return this['_finances'] }\n set finances(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_finances'])) {\n setDirtyFlag()\n this['_finances'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new completedsteps()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.yourinfo = __a__['yourinfo']\n cls.residence = __a__['residence']\n cls.property = __a__['property']\n cls.employment = __a__['employment']\n cls.otherincome = __a__['otherincome']\n cls.assets = __a__['assets']\n cls.creditcheck = __a__['creditcheck']\n cls.liabilities = __a__['liabilities']\n cls.propertymoney = __a__['propertymoney']\n cls.finances = __a__['finances']\n } else {\n doAlert(`completedsteps: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class construction {\n constructor() {\n this['_yearacquired'] = ''\n this['_originalcost'] = ''\n this['_existingliens'] = ''\n this['_presentvalue'] = ''\n this['_costofimprovements'] = ''\n }\n get yearacquired() { return this['_yearacquired'] }\n set yearacquired(__a__) {\n let __v__ = YearSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearacquired'])) {\n setDirtyFlag()\n this['_yearacquired'] = __v__\n }\n }\n get originalcost() { return this['_originalcost'] }\n set originalcost(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_originalcost'])) {\n setDirtyFlag()\n this['_originalcost'] = __v__\n }\n }\n get existingliens() { return this['_existingliens'] }\n set existingliens(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingliens'])) {\n setDirtyFlag()\n this['_existingliens'] = __v__\n }\n }\n get presentvalue() { return this['_presentvalue'] }\n set presentvalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_presentvalue'])) {\n setDirtyFlag()\n this['_presentvalue'] = __v__\n }\n }\n get costofimprovements() { return this['_costofimprovements'] }\n set costofimprovements(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_costofimprovements'])) {\n setDirtyFlag()\n this['_costofimprovements'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new construction()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.yearacquired = __a__['yearacquired']\n cls.originalcost = __a__['originalcost']\n cls.existingliens = __a__['existingliens']\n cls.presentvalue = __a__['presentvalue']\n cls.costofimprovements = __a__['costofimprovements']\n } else {\n doAlert(`construction: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class creditunderothername {\n constructor() {\n this['_altname'] = ''\n this['_creditor'] = ''\n this['_account'] = ''\n this['_key'] = ''\n }\n get altname() { return this['_altname'] }\n set altname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_altname'])) {\n setDirtyFlag()\n this['_altname'] = __v__\n }\n }\n get creditor() { return this['_creditor'] }\n set creditor(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditor'])) {\n setDirtyFlag()\n this['_creditor'] = __v__\n }\n }\n get account() { return this['_account'] }\n set account(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_account'])) {\n setDirtyFlag()\n this['_account'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new creditunderothername()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.altname = __a__['altname']\n cls.creditor = __a__['creditor']\n cls.account = __a__['account']\n cls.key = __a__['key']\n } else {\n doAlert(`creditunderothername: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class declarations {\n constructor() {\n this['_judgements'] = null\n this['_bancrupt'] = null\n this['_chapter7'] = false\n this['_chapter11'] = false\n this['_chapter12'] = false\n this['_chapter13'] = false\n this['_propertyforeclosure'] = null\n this['_lawsuit'] = null\n this['_familyrelationship'] = null\n this['_conveyedtitle'] = null\n this['_delinquentondebt'] = null\n this['_applyingonanother'] = null\n this['_applyingnewcredit'] = null\n this['_cleanenergylien'] = null\n this['_loanforeclosure'] = null\n this['_downpaymentborrowed'] = null\n this['_moneyborrowed'] = ''\n this['_comakeronnote'] = null\n this['_occupyasprimary'] = null\n this['_ownershipinterest'] = null\n this['_servearmedforces'] = null\n this['_militaryservice'] = new MilitaryService()\n this['_propertyowned'] = 'principal'\n this['_titleheld'] = 'yourself'\n this['_loansinforebearance'] = null\n }\n get judgements() { return this['_judgements'] }\n set judgements(__a__) {\n if(__a__ == null) {\n if(this['_judgements'] == null) { return }\n setDirtyFlag()\n this['_judgements'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_judgements'])) {\n setDirtyFlag()\n this['_judgements'] = __v__\n }\n }\n }\n get bancrupt() { return this['_bancrupt'] }\n set bancrupt(__a__) {\n if(__a__ == null) {\n if(this['_bancrupt'] == null) { return }\n setDirtyFlag()\n this['_bancrupt'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_bancrupt'])) {\n setDirtyFlag()\n this['_bancrupt'] = __v__\n }\n }\n }\n get chapter7() { return this['_chapter7'] }\n set chapter7(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_chapter7'])) {\n setDirtyFlag()\n this['_chapter7'] = __v__\n }\n }\n get chapter11() { return this['_chapter11'] }\n set chapter11(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_chapter11'])) {\n setDirtyFlag()\n this['_chapter11'] = __v__\n }\n }\n get chapter12() { return this['_chapter12'] }\n set chapter12(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_chapter12'])) {\n setDirtyFlag()\n this['_chapter12'] = __v__\n }\n }\n get chapter13() { return this['_chapter13'] }\n set chapter13(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_chapter13'])) {\n setDirtyFlag()\n this['_chapter13'] = __v__\n }\n }\n get propertyforeclosure() { return this['_propertyforeclosure'] }\n set propertyforeclosure(__a__) {\n if(__a__ == null) {\n if(this['_propertyforeclosure'] == null) { return }\n setDirtyFlag()\n this['_propertyforeclosure'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_propertyforeclosure'])) {\n setDirtyFlag()\n this['_propertyforeclosure'] = __v__\n }\n }\n }\n get lawsuit() { return this['_lawsuit'] }\n set lawsuit(__a__) {\n if(__a__ == null) {\n if(this['_lawsuit'] == null) { return }\n setDirtyFlag()\n this['_lawsuit'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_lawsuit'])) {\n setDirtyFlag()\n this['_lawsuit'] = __v__\n }\n }\n }\n get familyrelationship() { return this['_familyrelationship'] }\n set familyrelationship(__a__) {\n if(__a__ == null) {\n if(this['_familyrelationship'] == null) { return }\n setDirtyFlag()\n this['_familyrelationship'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_familyrelationship'])) {\n setDirtyFlag()\n this['_familyrelationship'] = __v__\n }\n }\n }\n get conveyedtitle() { return this['_conveyedtitle'] }\n set conveyedtitle(__a__) {\n if(__a__ == null) {\n if(this['_conveyedtitle'] == null) { return }\n setDirtyFlag()\n this['_conveyedtitle'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_conveyedtitle'])) {\n setDirtyFlag()\n this['_conveyedtitle'] = __v__\n }\n }\n }\n get delinquentondebt() { return this['_delinquentondebt'] }\n set delinquentondebt(__a__) {\n if(__a__ == null) {\n if(this['_delinquentondebt'] == null) { return }\n setDirtyFlag()\n this['_delinquentondebt'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_delinquentondebt'])) {\n setDirtyFlag()\n this['_delinquentondebt'] = __v__\n }\n }\n }\n get applyingonanother() { return this['_applyingonanother'] }\n set applyingonanother(__a__) {\n if(__a__ == null) {\n if(this['_applyingonanother'] == null) { return }\n setDirtyFlag()\n this['_applyingonanother'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_applyingonanother'])) {\n setDirtyFlag()\n this['_applyingonanother'] = __v__\n }\n }\n }\n get applyingnewcredit() { return this['_applyingnewcredit'] }\n set applyingnewcredit(__a__) {\n if(__a__ == null) {\n if(this['_applyingnewcredit'] == null) { return }\n setDirtyFlag()\n this['_applyingnewcredit'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_applyingnewcredit'])) {\n setDirtyFlag()\n this['_applyingnewcredit'] = __v__\n }\n }\n }\n get cleanenergylien() { return this['_cleanenergylien'] }\n set cleanenergylien(__a__) {\n if(__a__ == null) {\n if(this['_cleanenergylien'] == null) { return }\n setDirtyFlag()\n this['_cleanenergylien'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_cleanenergylien'])) {\n setDirtyFlag()\n this['_cleanenergylien'] = __v__\n }\n }\n }\n get loanforeclosure() { return this['_loanforeclosure'] }\n set loanforeclosure(__a__) {\n if(__a__ == null) {\n if(this['_loanforeclosure'] == null) { return }\n setDirtyFlag()\n this['_loanforeclosure'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_loanforeclosure'])) {\n setDirtyFlag()\n this['_loanforeclosure'] = __v__\n }\n }\n }\n get downpaymentborrowed() { return this['_downpaymentborrowed'] }\n set downpaymentborrowed(__a__) {\n if(__a__ == null) {\n if(this['_downpaymentborrowed'] == null) { return }\n setDirtyFlag()\n this['_downpaymentborrowed'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_downpaymentborrowed'])) {\n setDirtyFlag()\n this['_downpaymentborrowed'] = __v__\n }\n }\n }\n get moneyborrowed() { return this['_moneyborrowed'] }\n set moneyborrowed(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_moneyborrowed'])) {\n setDirtyFlag()\n this['_moneyborrowed'] = __v__\n }\n }\n get comakeronnote() { return this['_comakeronnote'] }\n set comakeronnote(__a__) {\n if(__a__ == null) {\n if(this['_comakeronnote'] == null) { return }\n setDirtyFlag()\n this['_comakeronnote'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_comakeronnote'])) {\n setDirtyFlag()\n this['_comakeronnote'] = __v__\n }\n }\n }\n get occupyasprimary() { return this['_occupyasprimary'] }\n set occupyasprimary(__a__) {\n if(__a__ == null) {\n if(this['_occupyasprimary'] == null) { return }\n setDirtyFlag()\n this['_occupyasprimary'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_occupyasprimary'])) {\n setDirtyFlag()\n this['_occupyasprimary'] = __v__\n }\n }\n }\n get ownershipinterest() { return this['_ownershipinterest'] }\n set ownershipinterest(__a__) {\n if(__a__ == null) {\n if(this['_ownershipinterest'] == null) { return }\n setDirtyFlag()\n this['_ownershipinterest'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_ownershipinterest'])) {\n setDirtyFlag()\n this['_ownershipinterest'] = __v__\n }\n }\n }\n get servearmedforces() { return this['_servearmedforces'] }\n set servearmedforces(__a__) {\n if(__a__ == null) {\n if(this['_servearmedforces'] == null) { return }\n setDirtyFlag()\n this['_servearmedforces'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_servearmedforces'])) {\n setDirtyFlag()\n this['_servearmedforces'] = __v__\n }\n }\n }\n get militaryservice() { return this['_militaryservice'] }\n set militaryservice(__a__) {\n setDirtyFlag()\n this['_militaryservice'] = __a__\n }\n get propertyowned() { return this['_propertyowned'] }\n set propertyowned(__a__) {\n let __v__ = enumReader(['principal','secondhome','investment','fhasecond','other'],'principal')(__a__)\n if(!_.isEqual(__v__,this['_propertyowned'])) {\n setDirtyFlag()\n this['_propertyowned'] = __v__\n }\n }\n get titleheld() { return this['_titleheld'] }\n set titleheld(__a__) {\n let __v__ = enumReader(['yourself','jointwithspouse','jointwithother'],'yourself')(__a__)\n if(!_.isEqual(__v__,this['_titleheld'])) {\n setDirtyFlag()\n this['_titleheld'] = __v__\n }\n }\n get loansinforebearance() { return this['_loansinforebearance'] }\n set loansinforebearance(__a__) {\n if(__a__ == null) {\n if(this['_loansinforebearance'] == null) { return }\n setDirtyFlag()\n this['_loansinforebearance'] = null\n return\n } else {\n let __v__ = enumReader(['no','yes'],'no')(__a__)\n if(!_.isEqual(__v__,this['_loansinforebearance'])) {\n setDirtyFlag()\n this['_loansinforebearance'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new declarations()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.judgements = __a__['judgements'] == null ? null : __a__['judgements']\n cls.bancrupt = __a__['bancrupt'] == null ? null : __a__['bancrupt']\n cls.chapter7 = __a__['chapter7']\n cls.chapter11 = __a__['chapter11']\n cls.chapter12 = __a__['chapter12']\n cls.chapter13 = __a__['chapter13']\n cls.propertyforeclosure = __a__['propertyforeclosure'] == null ? null : __a__['propertyforeclosure']\n cls.lawsuit = __a__['lawsuit'] == null ? null : __a__['lawsuit']\n cls.familyrelationship = __a__['familyrelationship'] == null ? null : __a__['familyrelationship']\n cls.conveyedtitle = __a__['conveyedtitle'] == null ? null : __a__['conveyedtitle']\n cls.delinquentondebt = __a__['delinquentondebt'] == null ? null : __a__['delinquentondebt']\n cls.applyingonanother = __a__['applyingonanother'] == null ? null : __a__['applyingonanother']\n cls.applyingnewcredit = __a__['applyingnewcredit'] == null ? null : __a__['applyingnewcredit']\n cls.cleanenergylien = __a__['cleanenergylien'] == null ? null : __a__['cleanenergylien']\n cls.loanforeclosure = __a__['loanforeclosure'] == null ? null : __a__['loanforeclosure']\n cls.downpaymentborrowed = __a__['downpaymentborrowed'] == null ? null : __a__['downpaymentborrowed']\n cls.moneyborrowed = __a__['moneyborrowed']\n cls.comakeronnote = __a__['comakeronnote'] == null ? null : __a__['comakeronnote']\n cls.occupyasprimary = __a__['occupyasprimary'] == null ? null : __a__['occupyasprimary']\n cls.ownershipinterest = __a__['ownershipinterest'] == null ? null : __a__['ownershipinterest']\n cls.servearmedforces = __a__['servearmedforces'] == null ? null : __a__['servearmedforces']\n cls.militaryservice = MilitaryService.fromJson(__a__['militaryservice'])\n cls.propertyowned = __a__['propertyowned']\n cls.titleheld = __a__['titleheld']\n cls.loansinforebearance = __a__['loansinforebearance'] == null ? null : __a__['loansinforebearance']\n } else {\n doAlert(`declarations: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class employmentincome {\n constructor() {\n this['_basemonthly'] = 'monthly'\n this['_basehoursperweek'] = ''\n this['_base'] = ''\n this['_overtimemonthly'] = 'monthly'\n this['_overtime'] = ''\n this['_bonusesmonthly'] = 'monthly'\n this['_bonuses'] = ''\n this['_commissionsmonthly'] = 'monthly'\n this['_commissions'] = ''\n this['_militarymonthly'] = 'monthly'\n this['_military'] = ''\n this['_othermonthly'] = 'monthly'\n this['_other'] = ''\n }\n get basemonthly() { return this['_basemonthly'] }\n set basemonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_basemonthly'])) {\n setDirtyFlag()\n this['_basemonthly'] = __v__\n }\n }\n get basehoursperweek() { return this['_basehoursperweek'] }\n set basehoursperweek(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_basehoursperweek'])) {\n setDirtyFlag()\n this['_basehoursperweek'] = __v__\n }\n }\n get base() { return this['_base'] }\n set base(__a__) {\n let __v__ = FloatSReader('')(__a__)\n if(!_.isEqual(__v__,this['_base'])) {\n setDirtyFlag()\n this['_base'] = __v__\n }\n }\n get overtimemonthly() { return this['_overtimemonthly'] }\n set overtimemonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_overtimemonthly'])) {\n setDirtyFlag()\n this['_overtimemonthly'] = __v__\n }\n }\n get overtime() { return this['_overtime'] }\n set overtime(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_overtime'])) {\n setDirtyFlag()\n this['_overtime'] = __v__\n }\n }\n get bonusesmonthly() { return this['_bonusesmonthly'] }\n set bonusesmonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_bonusesmonthly'])) {\n setDirtyFlag()\n this['_bonusesmonthly'] = __v__\n }\n }\n get bonuses() { return this['_bonuses'] }\n set bonuses(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_bonuses'])) {\n setDirtyFlag()\n this['_bonuses'] = __v__\n }\n }\n get commissionsmonthly() { return this['_commissionsmonthly'] }\n set commissionsmonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_commissionsmonthly'])) {\n setDirtyFlag()\n this['_commissionsmonthly'] = __v__\n }\n }\n get commissions() { return this['_commissions'] }\n set commissions(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_commissions'])) {\n setDirtyFlag()\n this['_commissions'] = __v__\n }\n }\n get militarymonthly() { return this['_militarymonthly'] }\n set militarymonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_militarymonthly'])) {\n setDirtyFlag()\n this['_militarymonthly'] = __v__\n }\n }\n get military() { return this['_military'] }\n set military(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_military'])) {\n setDirtyFlag()\n this['_military'] = __v__\n }\n }\n get othermonthly() { return this['_othermonthly'] }\n set othermonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_othermonthly'])) {\n setDirtyFlag()\n this['_othermonthly'] = __v__\n }\n }\n get other() { return this['_other'] }\n set other(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_other'])) {\n setDirtyFlag()\n this['_other'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new employmentincome()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.basemonthly = __a__['basemonthly']\n cls.basehoursperweek = __a__['basehoursperweek']\n cls.base = __a__['base']\n cls.overtimemonthly = __a__['overtimemonthly']\n cls.overtime = __a__['overtime']\n cls.bonusesmonthly = __a__['bonusesmonthly']\n cls.bonuses = __a__['bonuses']\n cls.commissionsmonthly = __a__['commissionsmonthly']\n cls.commissions = __a__['commissions']\n cls.militarymonthly = __a__['militarymonthly']\n cls.military = __a__['military']\n cls.othermonthly = __a__['othermonthly']\n cls.other = __a__['other']\n } else {\n doAlert(`employmentincome: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class equalopportunity {\n constructor() {\n this['_ethnicity'] = null\n this['_hispanic'] = new Hispanic()\n this['_race'] = new Race()\n this['_sex'] = null\n }\n get ethnicity() { return this['_ethnicity'] }\n set ethnicity(__a__) {\n if(__a__ == null) {\n if(this['_ethnicity'] == null) { return }\n setDirtyFlag()\n this['_ethnicity'] = null\n return\n } else {\n let __v__ = enumReader(['donttell','hispanic','nonhispanic'],'donttell')(__a__)\n if(!_.isEqual(__v__,this['_ethnicity'])) {\n setDirtyFlag()\n this['_ethnicity'] = __v__\n }\n }\n }\n get hispanic() { return this['_hispanic'] }\n set hispanic(__a__) {\n setDirtyFlag()\n this['_hispanic'] = __a__\n }\n get race() { return this['_race'] }\n set race(__a__) {\n setDirtyFlag()\n this['_race'] = __a__\n }\n get sex() { return this['_sex'] }\n set sex(__a__) {\n if(__a__ == null) {\n if(this['_sex'] == null) { return }\n setDirtyFlag()\n this['_sex'] = null\n return\n } else {\n let __v__ = enumReader(['donttell','male','female','other'],'donttell')(__a__)\n if(!_.isEqual(__v__,this['_sex'])) {\n setDirtyFlag()\n this['_sex'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new equalopportunity()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.ethnicity = __a__['ethnicity'] == null ? null : __a__['ethnicity']\n cls.hispanic = Hispanic.fromJson(__a__['hispanic'])\n cls.race = Race.fromJson(__a__['race'])\n cls.sex = __a__['sex'] == null ? null : __a__['sex']\n } else {\n doAlert(`equalopportunity: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class escrowinfo {\n constructor() {\n this['_escrowopened'] = false\n this['_opendate'] = ''\n this['_estimatedsettlementstatementreceived'] = false\n this['_titlecompany'] = ''\n this['_escrowofficer'] = ''\n this['_email'] = ''\n this['_phone'] = ''\n this['_escrownumberrelatedcurrentfile'] = ''\n this['_datetitlesearchordered'] = ''\n this['_titlecompanyaddress1'] = ''\n this['_titlecompanyaddress2'] = ''\n this['_titlecompanycity'] = ''\n this['_titlecompanystate'] = ''\n this['_titlecompanyzip'] = ''\n this['_earnestmoneydepositamount'] = ''\n this['_earnestmoneydepositdate'] = ''\n }\n get escrowopened() { return this['_escrowopened'] }\n set escrowopened(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_escrowopened'])) {\n setDirtyFlag()\n this['_escrowopened'] = __v__\n }\n }\n get opendate() { return this['_opendate'] }\n set opendate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_opendate'])) {\n setDirtyFlag()\n this['_opendate'] = __v__\n }\n }\n get estimatedsettlementstatementreceived() { return this['_estimatedsettlementstatementreceived'] }\n set estimatedsettlementstatementreceived(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_estimatedsettlementstatementreceived'])) {\n setDirtyFlag()\n this['_estimatedsettlementstatementreceived'] = __v__\n }\n }\n get titlecompany() { return this['_titlecompany'] }\n set titlecompany(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompany'])) {\n setDirtyFlag()\n this['_titlecompany'] = __v__\n }\n }\n get escrowofficer() { return this['_escrowofficer'] }\n set escrowofficer(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_escrowofficer'])) {\n setDirtyFlag()\n this['_escrowofficer'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n get escrownumberrelatedcurrentfile() { return this['_escrownumberrelatedcurrentfile'] }\n set escrownumberrelatedcurrentfile(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_escrownumberrelatedcurrentfile'])) {\n setDirtyFlag()\n this['_escrownumberrelatedcurrentfile'] = __v__\n }\n }\n get datetitlesearchordered() { return this['_datetitlesearchordered'] }\n set datetitlesearchordered(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_datetitlesearchordered'])) {\n setDirtyFlag()\n this['_datetitlesearchordered'] = __v__\n }\n }\n get titlecompanyaddress1() { return this['_titlecompanyaddress1'] }\n set titlecompanyaddress1(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompanyaddress1'])) {\n setDirtyFlag()\n this['_titlecompanyaddress1'] = __v__\n }\n }\n get titlecompanyaddress2() { return this['_titlecompanyaddress2'] }\n set titlecompanyaddress2(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompanyaddress2'])) {\n setDirtyFlag()\n this['_titlecompanyaddress2'] = __v__\n }\n }\n get titlecompanycity() { return this['_titlecompanycity'] }\n set titlecompanycity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompanycity'])) {\n setDirtyFlag()\n this['_titlecompanycity'] = __v__\n }\n }\n get titlecompanystate() { return this['_titlecompanystate'] }\n set titlecompanystate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompanystate'])) {\n setDirtyFlag()\n this['_titlecompanystate'] = __v__\n }\n }\n get titlecompanyzip() { return this['_titlecompanyzip'] }\n set titlecompanyzip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_titlecompanyzip'])) {\n setDirtyFlag()\n this['_titlecompanyzip'] = __v__\n }\n }\n get earnestmoneydepositamount() { return this['_earnestmoneydepositamount'] }\n set earnestmoneydepositamount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_earnestmoneydepositamount'])) {\n setDirtyFlag()\n this['_earnestmoneydepositamount'] = __v__\n }\n }\n get earnestmoneydepositdate() { return this['_earnestmoneydepositdate'] }\n set earnestmoneydepositdate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_earnestmoneydepositdate'])) {\n setDirtyFlag()\n this['_earnestmoneydepositdate'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new escrowinfo()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.escrowopened = __a__['escrowopened']\n cls.opendate = __a__['opendate']\n cls.estimatedsettlementstatementreceived = __a__['estimatedsettlementstatementreceived']\n cls.titlecompany = __a__['titlecompany']\n cls.escrowofficer = __a__['escrowofficer']\n cls.email = __a__['email']\n cls.phone = __a__['phone']\n cls.escrownumberrelatedcurrentfile = __a__['escrownumberrelatedcurrentfile']\n cls.datetitlesearchordered = __a__['datetitlesearchordered']\n cls.titlecompanyaddress1 = __a__['titlecompanyaddress1']\n cls.titlecompanyaddress2 = __a__['titlecompanyaddress2']\n cls.titlecompanycity = __a__['titlecompanycity']\n cls.titlecompanystate = __a__['titlecompanystate']\n cls.titlecompanyzip = __a__['titlecompanyzip']\n cls.earnestmoneydepositamount = __a__['earnestmoneydepositamount']\n cls.earnestmoneydepositdate = __a__['earnestmoneydepositdate']\n } else {\n doAlert(`escrowinfo: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class expenses {\n constructor() {\n this['_currentrent'] = ''\n this['_currentrentperiod'] = 'monthly'\n this['_currentfirstmortgage'] = ''\n this['_currentfirstmortgageperiod'] = 'monthly'\n this['_currentotherfinancing'] = ''\n this['_currentotherfinancingperiod'] = 'monthly'\n this['_currenthazardinsurance'] = ''\n this['_currenthazardinsuranceperiod'] = 'monthly'\n this['_currentrealestatetaxes'] = ''\n this['_currentrealestatetaxesperiod'] = 'monthly'\n this['_currentdues'] = ''\n this['_currentduesperiod'] = 'monthly'\n this['_currentmortgageinsurance'] = ''\n this['_currentmortgageinsuranceperiod'] = 'monthly'\n this['_currentother'] = ''\n this['_currentotherperiod'] = 'monthly'\n }\n get currentrent() { return this['_currentrent'] }\n set currentrent(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentrent'])) {\n setDirtyFlag()\n this['_currentrent'] = __v__\n }\n }\n get currentrentperiod() { return this['_currentrentperiod'] }\n set currentrentperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentrentperiod'])) {\n setDirtyFlag()\n this['_currentrentperiod'] = __v__\n }\n }\n get currentfirstmortgage() { return this['_currentfirstmortgage'] }\n set currentfirstmortgage(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentfirstmortgage'])) {\n setDirtyFlag()\n this['_currentfirstmortgage'] = __v__\n }\n }\n get currentfirstmortgageperiod() { return this['_currentfirstmortgageperiod'] }\n set currentfirstmortgageperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentfirstmortgageperiod'])) {\n setDirtyFlag()\n this['_currentfirstmortgageperiod'] = __v__\n }\n }\n get currentotherfinancing() { return this['_currentotherfinancing'] }\n set currentotherfinancing(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentotherfinancing'])) {\n setDirtyFlag()\n this['_currentotherfinancing'] = __v__\n }\n }\n get currentotherfinancingperiod() { return this['_currentotherfinancingperiod'] }\n set currentotherfinancingperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentotherfinancingperiod'])) {\n setDirtyFlag()\n this['_currentotherfinancingperiod'] = __v__\n }\n }\n get currenthazardinsurance() { return this['_currenthazardinsurance'] }\n set currenthazardinsurance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currenthazardinsurance'])) {\n setDirtyFlag()\n this['_currenthazardinsurance'] = __v__\n }\n }\n get currenthazardinsuranceperiod() { return this['_currenthazardinsuranceperiod'] }\n set currenthazardinsuranceperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currenthazardinsuranceperiod'])) {\n setDirtyFlag()\n this['_currenthazardinsuranceperiod'] = __v__\n }\n }\n get currentrealestatetaxes() { return this['_currentrealestatetaxes'] }\n set currentrealestatetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentrealestatetaxes'])) {\n setDirtyFlag()\n this['_currentrealestatetaxes'] = __v__\n }\n }\n get currentrealestatetaxesperiod() { return this['_currentrealestatetaxesperiod'] }\n set currentrealestatetaxesperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentrealestatetaxesperiod'])) {\n setDirtyFlag()\n this['_currentrealestatetaxesperiod'] = __v__\n }\n }\n get currentdues() { return this['_currentdues'] }\n set currentdues(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentdues'])) {\n setDirtyFlag()\n this['_currentdues'] = __v__\n }\n }\n get currentduesperiod() { return this['_currentduesperiod'] }\n set currentduesperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentduesperiod'])) {\n setDirtyFlag()\n this['_currentduesperiod'] = __v__\n }\n }\n get currentmortgageinsurance() { return this['_currentmortgageinsurance'] }\n set currentmortgageinsurance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentmortgageinsurance'])) {\n setDirtyFlag()\n this['_currentmortgageinsurance'] = __v__\n }\n }\n get currentmortgageinsuranceperiod() { return this['_currentmortgageinsuranceperiod'] }\n set currentmortgageinsuranceperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentmortgageinsuranceperiod'])) {\n setDirtyFlag()\n this['_currentmortgageinsuranceperiod'] = __v__\n }\n }\n get currentother() { return this['_currentother'] }\n set currentother(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentother'])) {\n setDirtyFlag()\n this['_currentother'] = __v__\n }\n }\n get currentotherperiod() { return this['_currentotherperiod'] }\n set currentotherperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_currentotherperiod'])) {\n setDirtyFlag()\n this['_currentotherperiod'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new expenses()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.currentrent = __a__['currentrent']\n cls.currentrentperiod = __a__['currentrentperiod']\n cls.currentfirstmortgage = __a__['currentfirstmortgage']\n cls.currentfirstmortgageperiod = __a__['currentfirstmortgageperiod']\n cls.currentotherfinancing = __a__['currentotherfinancing']\n cls.currentotherfinancingperiod = __a__['currentotherfinancingperiod']\n cls.currenthazardinsurance = __a__['currenthazardinsurance']\n cls.currenthazardinsuranceperiod = __a__['currenthazardinsuranceperiod']\n cls.currentrealestatetaxes = __a__['currentrealestatetaxes']\n cls.currentrealestatetaxesperiod = __a__['currentrealestatetaxesperiod']\n cls.currentdues = __a__['currentdues']\n cls.currentduesperiod = __a__['currentduesperiod']\n cls.currentmortgageinsurance = __a__['currentmortgageinsurance']\n cls.currentmortgageinsuranceperiod = __a__['currentmortgageinsuranceperiod']\n cls.currentother = __a__['currentother']\n cls.currentotherperiod = __a__['currentotherperiod']\n } else {\n doAlert(`expenses: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class fees {\n constructor() {\n this['_cannotshopservices'] = []\n this['_canshopservices'] = []\n this['_recordingandgovernmentfees'] = 0\n this['_transfertax'] = 0\n this['_othercosts'] = []\n this['_prepaids'] = []\n this['_initialescrowpaymentsatclosing'] = []\n this['_closingcostsfinanced'] = 0\n this['_downpayment'] = 0\n this['_deposit'] = 0\n this['_fundsforborrower'] = 0\n this['_sellerscredits'] = 0\n this['_adjustmentsothercredits'] = 0\n }\n get cannotshopservices() { return this['_cannotshopservices'] }\n set cannotshopservices(__a__) {\n setDirtyFlag()\n this['_cannotshopservices'] = __a__\n }\n get canshopservices() { return this['_canshopservices'] }\n set canshopservices(__a__) {\n setDirtyFlag()\n this['_canshopservices'] = __a__\n }\n get recordingandgovernmentfees() { return this['_recordingandgovernmentfees'] }\n set recordingandgovernmentfees(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_recordingandgovernmentfees'])) {\n setDirtyFlag()\n this['_recordingandgovernmentfees'] = __v__\n }\n }\n get transfertax() { return this['_transfertax'] }\n set transfertax(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_transfertax'])) {\n setDirtyFlag()\n this['_transfertax'] = __v__\n }\n }\n get othercosts() { return this['_othercosts'] }\n set othercosts(__a__) {\n setDirtyFlag()\n this['_othercosts'] = __a__\n }\n get prepaids() { return this['_prepaids'] }\n set prepaids(__a__) {\n setDirtyFlag()\n this['_prepaids'] = __a__\n }\n get initialescrowpaymentsatclosing() { return this['_initialescrowpaymentsatclosing'] }\n set initialescrowpaymentsatclosing(__a__) {\n setDirtyFlag()\n this['_initialescrowpaymentsatclosing'] = __a__\n }\n get closingcostsfinanced() { return this['_closingcostsfinanced'] }\n set closingcostsfinanced(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_closingcostsfinanced'])) {\n setDirtyFlag()\n this['_closingcostsfinanced'] = __v__\n }\n }\n get downpayment() { return this['_downpayment'] }\n set downpayment(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_downpayment'])) {\n setDirtyFlag()\n this['_downpayment'] = __v__\n }\n }\n get deposit() { return this['_deposit'] }\n set deposit(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_deposit'])) {\n setDirtyFlag()\n this['_deposit'] = __v__\n }\n }\n get fundsforborrower() { return this['_fundsforborrower'] }\n set fundsforborrower(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_fundsforborrower'])) {\n setDirtyFlag()\n this['_fundsforborrower'] = __v__\n }\n }\n get sellerscredits() { return this['_sellerscredits'] }\n set sellerscredits(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_sellerscredits'])) {\n setDirtyFlag()\n this['_sellerscredits'] = __v__\n }\n }\n get adjustmentsothercredits() { return this['_adjustmentsothercredits'] }\n set adjustmentsothercredits(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_adjustmentsothercredits'])) {\n setDirtyFlag()\n this['_adjustmentsothercredits'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new fees()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.cannotshopservices = array1Reader(service.fromJson)(__a__['cannotshopservices'])\n cls.canshopservices = array1Reader(service.fromJson)(__a__['canshopservices'])\n cls.recordingandgovernmentfees = __a__['recordingandgovernmentfees']\n cls.transfertax = __a__['transfertax']\n cls.othercosts = array1Reader(charge.fromJson)(__a__['othercosts'])\n cls.prepaids = array1Reader(payment.fromJson)(__a__['prepaids'])\n cls.initialescrowpaymentsatclosing = array1Reader(payment.fromJson)(__a__['initialescrowpaymentsatclosing'])\n cls.closingcostsfinanced = __a__['closingcostsfinanced']\n cls.downpayment = __a__['downpayment']\n cls.deposit = __a__['deposit']\n cls.fundsforborrower = __a__['fundsforborrower']\n cls.sellerscredits = __a__['sellerscredits']\n cls.adjustmentsothercredits = __a__['adjustmentsothercredits']\n } else {\n doAlert(`fees: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class file {\n constructor() {\n this['_serialId'] = 0\n this['_filename'] = ''\n this['_mimetype'] = ''\n this['_uploaded'] = ''\n this['_data'] = ''\n this['_comment'] = ''\n this['_forwhom'] = ''\n }\n get serialId() { return this['_serialId'] }\n set serialId(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_serialId'])) {\n setDirtyFlag()\n this['_serialId'] = __v__\n }\n }\n get filename() { return this['_filename'] }\n set filename(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_filename'])) {\n setDirtyFlag()\n this['_filename'] = __v__\n }\n }\n get mimetype() { return this['_mimetype'] }\n set mimetype(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_mimetype'])) {\n setDirtyFlag()\n this['_mimetype'] = __v__\n }\n }\n get uploaded() { return this['_uploaded'] }\n set uploaded(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_uploaded'])) {\n setDirtyFlag()\n this['_uploaded'] = __v__\n }\n }\n get data() { return this['_data'] }\n set data(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_data'])) {\n setDirtyFlag()\n this['_data'] = __v__\n }\n }\n get comment() { return this['_comment'] }\n set comment(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_comment'])) {\n setDirtyFlag()\n this['_comment'] = __v__\n }\n }\n get forwhom() { return this['_forwhom'] }\n set forwhom(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_forwhom'])) {\n setDirtyFlag()\n this['_forwhom'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new file()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.serialId = __a__['serialId']\n cls.filename = __a__['filename']\n cls.mimetype = __a__['mimetype']\n cls.uploaded = __a__['uploaded']\n cls.data = __a__['data']\n cls.comment = __a__['comment']\n cls.forwhom = __a__['forwhom']\n } else {\n doAlert(`file: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class finances {\n constructor() {\n this['_alimony'] = null\n }\n get alimony() { return this['_alimony'] }\n set alimony(__a__) {\n setDirtyFlag()\n this['_alimony'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new finances()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.alimony = __a__['alimony'] == null ? null : array1Reader(alimony.fromJson)(__a__['alimony'])\n } else {\n doAlert(`finances: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class gift {\n constructor() {\n this['_assettype'] = 'Bond'\n this['_deposited'] = null\n this['_sourcedescription'] = ''\n this['_source'] = 'Other'\n this['_value'] = ''\n this['_key'] = ''\n this['_attribution'] = null\n }\n get assettype() { return this['_assettype'] }\n set assettype(__a__) {\n let __v__ = enumReader(['Bond','BridgeLoanNotDeposited','CashOnHand','CertificateOfDepositTimeDeposit','CheckingAccount','GiftOfCash','GiftOfPropertyEquity','Grant','IndividualDevelopmentAccount','LifeInsurance','MoneyMarketFund','MutualFund','Other','PendingNetSaleProceedsFromRealEstateAssets','ProceedsFromSaleOfNonRealEstateAsset','ProceedsFromSecuredLoan','ProceedsFromUnsecuredLoan','RetirementFund','SavingsAccount','Stock','StockOptions','TrustAccount'],'Bond')(__a__)\n if(!_.isEqual(__v__,this['_assettype'])) {\n setDirtyFlag()\n this['_assettype'] = __v__\n }\n }\n get deposited() { return this['_deposited'] }\n set deposited(__a__) {\n if(__a__ == null) {\n if(this['_deposited'] == null) { return }\n setDirtyFlag()\n this['_deposited'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_deposited'])) {\n setDirtyFlag()\n this['_deposited'] = __v__\n }\n }\n }\n get sourcedescription() { return this['_sourcedescription'] }\n set sourcedescription(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_sourcedescription'])) {\n setDirtyFlag()\n this['_sourcedescription'] = __v__\n }\n }\n get source() { return this['_source'] }\n set source(__a__) {\n let __v__ = enumReader(['CommunityNonProfit','Employer','FederalAgency','LocalAgency','Relative','ReligiousNonProfit','StateAgency','UnmarriedPartner','Lender','Other'],'Other')(__a__)\n if(!_.isEqual(__v__,this['_source'])) {\n setDirtyFlag()\n this['_source'] = __v__\n }\n }\n get value() { return this['_value'] }\n set value(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_value'])) {\n setDirtyFlag()\n this['_value'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new gift()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.assettype = __a__['assettype']\n cls.deposited = __a__['deposited'] == null ? null : __a__['deposited']\n cls.sourcedescription = __a__['sourcedescription']\n cls.source = __a__['source']\n cls.value = __a__['value']\n cls.key = __a__['key']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n } else {\n doAlert(`gift: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class income {\n constructor() {\n this['_hasdividends'] = null\n this['_dividendsmonthly'] = 'yearly'\n this['_dividends'] = ''\n this['_netrentalmonthly'] = 'monthly'\n this['_netrental'] = '0'\n this['_otherincomemonthly'] = 'monthly'\n this['_otherincome'] = null\n }\n get hasdividends() { return this['_hasdividends'] }\n set hasdividends(__a__) {\n if(__a__ == null) {\n if(this['_hasdividends'] == null) { return }\n setDirtyFlag()\n this['_hasdividends'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hasdividends'])) {\n setDirtyFlag()\n this['_hasdividends'] = __v__\n }\n }\n }\n get dividendsmonthly() { return this['_dividendsmonthly'] }\n set dividendsmonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'yearly')(__a__)\n if(!_.isEqual(__v__,this['_dividendsmonthly'])) {\n setDirtyFlag()\n this['_dividendsmonthly'] = __v__\n }\n }\n get dividends() { return this['_dividends'] }\n set dividends(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_dividends'])) {\n setDirtyFlag()\n this['_dividends'] = __v__\n }\n }\n get netrentalmonthly() { return this['_netrentalmonthly'] }\n set netrentalmonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_netrentalmonthly'])) {\n setDirtyFlag()\n this['_netrentalmonthly'] = __v__\n }\n }\n get netrental() { return this['_netrental'] }\n set netrental(__a__) {\n let __v__ = DollarSReader('0')(__a__)\n if(!_.isEqual(__v__,this['_netrental'])) {\n setDirtyFlag()\n this['_netrental'] = __v__\n }\n }\n get otherincomemonthly() { return this['_otherincomemonthly'] }\n set otherincomemonthly(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_otherincomemonthly'])) {\n setDirtyFlag()\n this['_otherincomemonthly'] = __v__\n }\n }\n get otherincome() { return this['_otherincome'] }\n set otherincome(__a__) {\n setDirtyFlag()\n this['_otherincome'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new income()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hasdividends = __a__['hasdividends'] == null ? null : __a__['hasdividends']\n cls.dividendsmonthly = __a__['dividendsmonthly']\n cls.dividends = __a__['dividends']\n cls.netrentalmonthly = __a__['netrentalmonthly']\n cls.netrental = __a__['netrental']\n cls.otherincomemonthly = __a__['otherincomemonthly']\n cls.otherincome = __a__['otherincome'] == null ? null : array1Reader(otherincome.fromJson)(__a__['otherincome'])\n } else {\n doAlert(`income: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class insurance {\n constructor() {\n this['_issuer'] = ''\n this['_netvalue'] = ''\n this['_facevalue'] = ''\n this['_key'] = ''\n this['_attribution'] = null\n }\n get issuer() { return this['_issuer'] }\n set issuer(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_issuer'])) {\n setDirtyFlag()\n this['_issuer'] = __v__\n }\n }\n get netvalue() { return this['_netvalue'] }\n set netvalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_netvalue'])) {\n setDirtyFlag()\n this['_netvalue'] = __v__\n }\n }\n get facevalue() { return this['_facevalue'] }\n set facevalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_facevalue'])) {\n setDirtyFlag()\n this['_facevalue'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new insurance()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.issuer = __a__['issuer']\n cls.netvalue = __a__['netvalue']\n cls.facevalue = __a__['facevalue']\n cls.key = __a__['key']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n } else {\n doAlert(`insurance: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class interviewstep {\n constructor() {\n this['_step'] = 0\n this['_max'] = 0\n this['_interviewstarted'] = false\n this['_productselectionstarted'] = false\n this['_interviewfinished'] = false\n }\n get step() { return this['_step'] }\n set step(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_step'])) {\n setDirtyFlag()\n this['_step'] = __v__\n }\n }\n get max() { return this['_max'] }\n set max(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_max'])) {\n setDirtyFlag()\n this['_max'] = __v__\n }\n }\n get interviewstarted() { return this['_interviewstarted'] }\n set interviewstarted(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_interviewstarted'])) {\n setDirtyFlag()\n this['_interviewstarted'] = __v__\n }\n }\n get productselectionstarted() { return this['_productselectionstarted'] }\n set productselectionstarted(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_productselectionstarted'])) {\n setDirtyFlag()\n this['_productselectionstarted'] = __v__\n }\n }\n get interviewfinished() { return this['_interviewfinished'] }\n set interviewfinished(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_interviewfinished'])) {\n setDirtyFlag()\n this['_interviewfinished'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new interviewstep()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.step = __a__['step']\n cls.max = __a__['max']\n cls.interviewstarted = __a__['interviewstarted']\n cls.productselectionstarted = __a__['productselectionstarted']\n cls.interviewfinished = __a__['interviewfinished']\n } else {\n doAlert(`interviewstep: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class lender {\n constructor() {\n this['_name'] = ''\n this['_licenseid'] = 0\n this['_loanofficername'] = ''\n this['_loanofficerlicenseid'] = 0\n this['_email'] = ''\n this['_phone'] = ''\n }\n get name() { return this['_name'] }\n set name(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_name'])) {\n setDirtyFlag()\n this['_name'] = __v__\n }\n }\n get licenseid() { return this['_licenseid'] }\n set licenseid(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_licenseid'])) {\n setDirtyFlag()\n this['_licenseid'] = __v__\n }\n }\n get loanofficername() { return this['_loanofficername'] }\n set loanofficername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanofficername'])) {\n setDirtyFlag()\n this['_loanofficername'] = __v__\n }\n }\n get loanofficerlicenseid() { return this['_loanofficerlicenseid'] }\n set loanofficerlicenseid(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_loanofficerlicenseid'])) {\n setDirtyFlag()\n this['_loanofficerlicenseid'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new lender()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.name = __a__['name']\n cls.licenseid = __a__['licenseid']\n cls.loanofficername = __a__['loanofficername']\n cls.loanofficerlicenseid = __a__['loanofficerlicenseid']\n cls.email = __a__['email']\n cls.phone = __a__['phone']\n } else {\n doAlert(`lender: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class liabilities {\n constructor() {\n this['_loans'] = []\n this['_categories'] = new CategorizedLoans()\n }\n get loans() { return this['_loans'] }\n set loans(__a__) {\n setDirtyFlag()\n this['_loans'] = __a__\n }\n get categories() { return this['_categories'] }\n set categories(__a__) {\n setDirtyFlag()\n this['_categories'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new liabilities()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.loans = array1Reader(loan.fromJson)(__a__['loans'])\n cls.categories = CategorizedLoans.fromJson(__a__['categories'])\n } else {\n doAlert(`liabilities: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class loan {\n constructor() {\n this['_openeddate'] = ''\n this['_name'] = ''\n this['_address'] = ''\n this['_accountnumber'] = ''\n this['_monthlypayment'] = ''\n this['_monthlydefinedbycustomer'] = false\n this['_remainingbalance'] = ''\n this['_highbalance'] = ''\n this['_monthslefttopay'] = ''\n this['_mannerofpaymentcode'] = null\n this['_currentratingtype'] = null\n this['_creditloantype'] = null\n this['_creditliabilityaccounttype'] = null\n this['_creditliabilityaccountownershiptype'] = null\n this['_creditliabilityaccountstatustype'] = null\n this['_detailcreditbusinesstype'] = null\n this['_creditliabilityhighestadverserating'] = null\n this['_reportedby'] = []\n this['_deferredpaymentamount'] = ''\n this['_deferredpaymentdate'] = ''\n this['_comment'] = ''\n this['_forsubjectproperty'] = null\n this['_forprimaryresidence'] = null\n this['_includesmi'] = null\n this['_isprimary'] = null\n this['_satisfiedupon'] = null\n this['_rate'] = ''\n this['_correction'] = 'none'\n this['_explanation'] = ''\n this['_attribution'] = null\n this['_propertyaddress'] = ''\n this['_partoforiginalpurchase'] = null\n this['_key'] = ''\n this['_paidoffatclosing'] = ''\n this['_creditlimit'] = ''\n }\n get openeddate() { return this['_openeddate'] }\n set openeddate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_openeddate'])) {\n setDirtyFlag()\n this['_openeddate'] = __v__\n }\n }\n get name() { return this['_name'] }\n set name(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_name'])) {\n setDirtyFlag()\n this['_name'] = __v__\n }\n }\n get address() { return this['_address'] }\n set address(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_address'])) {\n setDirtyFlag()\n this['_address'] = __v__\n }\n }\n get accountnumber() { return this['_accountnumber'] }\n set accountnumber(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_accountnumber'])) {\n setDirtyFlag()\n this['_accountnumber'] = __v__\n }\n }\n get monthlypayment() { return this['_monthlypayment'] }\n set monthlypayment(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthlypayment'])) {\n setDirtyFlag()\n this['_monthlypayment'] = __v__\n }\n }\n get monthlydefinedbycustomer() { return this['_monthlydefinedbycustomer'] }\n set monthlydefinedbycustomer(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_monthlydefinedbycustomer'])) {\n setDirtyFlag()\n this['_monthlydefinedbycustomer'] = __v__\n }\n }\n get remainingbalance() { return this['_remainingbalance'] }\n set remainingbalance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_remainingbalance'])) {\n setDirtyFlag()\n this['_remainingbalance'] = __v__\n }\n }\n get highbalance() { return this['_highbalance'] }\n set highbalance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_highbalance'])) {\n setDirtyFlag()\n this['_highbalance'] = __v__\n }\n }\n get monthslefttopay() { return this['_monthslefttopay'] }\n set monthslefttopay(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthslefttopay'])) {\n setDirtyFlag()\n this['_monthslefttopay'] = __v__\n }\n }\n get mannerofpaymentcode() { return this['_mannerofpaymentcode'] }\n set mannerofpaymentcode(__a__) {\n if(__a__ == null) {\n if(this['_mannerofpaymentcode'] == null) { return }\n setDirtyFlag()\n this['_mannerofpaymentcode'] = null\n return\n } else {\n let __v__ = enumReader(['-','X','C','1','2','3','4','5','6','7','8','9'],'-')(__a__)\n if(!_.isEqual(__v__,this['_mannerofpaymentcode'])) {\n setDirtyFlag()\n this['_mannerofpaymentcode'] = __v__\n }\n }\n }\n get currentratingtype() { return this['_currentratingtype'] }\n set currentratingtype(__a__) {\n if(__a__ == null) {\n if(this['_currentratingtype'] == null) { return }\n setDirtyFlag()\n this['_currentratingtype'] = null\n return\n } else {\n let __v__ = enumReader(['NoDataAvailable','TooNew','AsAgreed','Late30Days','Late60Days','Late90Days','LateOver120Days','WageEarnerPlan','BankruptcyOrWageEarnerPlan','Foreclosure','Repossession','ForeclosureOrRepossession','Collection','ChargeOff','CollectionOrChargeOff'],'NoDataAvailable')(__a__)\n if(!_.isEqual(__v__,this['_currentratingtype'])) {\n setDirtyFlag()\n this['_currentratingtype'] = __v__\n }\n }\n }\n get creditloantype() { return this['_creditloantype'] }\n set creditloantype(__a__) {\n if(__a__ == null) {\n if(this['_creditloantype'] == null) { return }\n setDirtyFlag()\n this['_creditloantype'] = null\n return\n } else {\n let __v__ = enumReader(['Agriculture','Airplane','ApplianceOrFurniture','AttorneyFees','AutoLease','AutoLoanEquityTransfer','Automobile','AutoRefinance','BiMonthlyMortgageTermsInYears','Boat','Business','BusinessCreditCard','Camper','ChargeAccount','CheckCreditOrLineOfCredit','ChildSupport','Collection','CollectionAttorney','Comaker','CombinedCreditPlan','CommercialCreditObligation','CommercialLineOfCredit','CommercialMortgage','ConditionalSalesContract','ConditionalSalesContractRefinance','Consolidation','ConstructionLoan','ConventionalRealEstateMortgage','CreditCard','CreditLineSecured','DebitCard','DebtCounselingService','DeferredStudentLoan','DepositRelated','Educational','Employment','FactoringCompanyAccount','FamilySupport','FarmersHomeAdministrationFHMA','FederalConsolidatedLoan','FHAComakerNotBorrower','FHAHomeImprovement','FHARealEstateMortgage','FinanceStatement','GovernmentBenefit','GovernmentEmployeeAdvance','GovernmentFeeForService','GovernmentFine','GovernmentGrant','GovernmentMiscellaneousDebt','GovernmentOverpayment','GovernmentSecuredDirectLoan','GovernmentSecuredGuaranteeLoan','GovernmentUnsecuredDirectLoan','GovernmentUnsecuredGuaranteeLoan','HomeEquity','HomeEquityLineOfCredit','HomeImprovement','HouseholdGoods','HouseholdGoodsAndOtherCollateralAuto','HouseholdGoodsSecured','InstallmentLoan','InstallmentSalesContract','InsuranceClaims','Lease','LenderPlacedInsurance','ManualMortgage','ManufacturedHome','MedicalDebt','MobileHome','MobilePhone','Mortgage','NoteLoan','NoteLoanWithComaker','Other','PartiallySecured','PersonalLoan','RealEstateJuniorLiens','RealEstateLoanEquityTransfer','RealEstateMortgageWithoutOtherCollateral','RealEstateSpecificTypeUnknown','Recreational','RecreationalVehicle','Refinance','RefundAnticipationLoan','RentalAgreement','ResidentialLoan','ReturnedCheck','RevolvingBusinessLines','SecondMortgage','Secured','SecuredByCosigner','SecuredCreditCard','SecuredHomeImprovement','SemiMonthlyMortgagePayment','SinglePaymentLoan','SpouseSupport','SummaryOfAccountsWithSameStatus','TimeSharedLoan','Title1Loan','UnknownLoanType','Unsecured','USDA-RD','UtilityCompany','VeteransAdministrationLoan','VeteransAdministrationRealEstateMortgage'],'Agriculture')(__a__)\n if(!_.isEqual(__v__,this['_creditloantype'])) {\n setDirtyFlag()\n this['_creditloantype'] = __v__\n }\n }\n }\n get creditliabilityaccounttype() { return this['_creditliabilityaccounttype'] }\n set creditliabilityaccounttype(__a__) {\n if(__a__ == null) {\n if(this['_creditliabilityaccounttype'] == null) { return }\n setDirtyFlag()\n this['_creditliabilityaccounttype'] = null\n return\n } else {\n let __v__ = enumReader(['CreditLine','Installment','Mortgage','Open','Revolving','Unknown'],'CreditLine')(__a__)\n if(!_.isEqual(__v__,this['_creditliabilityaccounttype'])) {\n setDirtyFlag()\n this['_creditliabilityaccounttype'] = __v__\n }\n }\n }\n get creditliabilityaccountownershiptype() { return this['_creditliabilityaccountownershiptype'] }\n set creditliabilityaccountownershiptype(__a__) {\n if(__a__ == null) {\n if(this['_creditliabilityaccountownershiptype'] == null) { return }\n setDirtyFlag()\n this['_creditliabilityaccountownershiptype'] = null\n return\n } else {\n let __v__ = enumReader(['AuthorizedUser','Comaker','Deceased','Individual','JointContractualLiability','JointParticipating','Maker','OnBehalfOf','Terminated','Undesignated'],'AuthorizedUser')(__a__)\n if(!_.isEqual(__v__,this['_creditliabilityaccountownershiptype'])) {\n setDirtyFlag()\n this['_creditliabilityaccountownershiptype'] = __v__\n }\n }\n }\n get creditliabilityaccountstatustype() { return this['_creditliabilityaccountstatustype'] }\n set creditliabilityaccountstatustype(__a__) {\n if(__a__ == null) {\n if(this['_creditliabilityaccountstatustype'] == null) { return }\n setDirtyFlag()\n this['_creditliabilityaccountstatustype'] = null\n return\n } else {\n let __v__ = enumReader(['Closed','Frozen','Open','Paid','Refinanced','Transferred'],'Closed')(__a__)\n if(!_.isEqual(__v__,this['_creditliabilityaccountstatustype'])) {\n setDirtyFlag()\n this['_creditliabilityaccountstatustype'] = __v__\n }\n }\n }\n get detailcreditbusinesstype() { return this['_detailcreditbusinesstype'] }\n set detailcreditbusinesstype(__a__) {\n if(__a__ == null) {\n if(this['_detailcreditbusinesstype'] == null) { return }\n setDirtyFlag()\n this['_detailcreditbusinesstype'] = null\n return\n } else {\n let __v__ = enumReader(['AdvertisingAgencies','AdvertisingMiscellaneous','AdvertisingNewsMedia','AutomotiveAuctionsWholesale','AutomotiveDealersNew','AutomotiveDealersUsed','AutomotiveFarmImplementDealers','AutomotiveLeasing','AutomotiveMiscellaneous','AutomotiveParts','AutomotiveRental','AutomotiveRepairBodyShops','AutomotiveServiceStations','AutomotiveTBAStoresTireDealers','AutomotiveTruckDealers','BankingAllBanks','BankingBankcard','BankingCommercialIndustrial','BankingInstallmentLoansCreditLine','BankingMiscellaneous','BankingMortgageDepartment','BankingSavingsBanks','ClothingGeneral','ClothingMiscellaneous','ClothingSpecialtyShoeHatEtc','CollectionServicesACBOfA','CollectionServicesOther','ContractorsGeneral','ContractorsHomeImprovement','ContractorsMiscellaneous','ContractorsSubcontractors','DepartmentAndMailOrderCompleteDepartmentStores','DepartmentAndMailOrderMailOrderFirms','DepartmentAndMailOrderMiscellaneous','DepartmentAndMailOrderVarietyStores','EmploymentServices','FarmAndGardenSuppliesChemicalAndFertilizer','FarmAndGardenSuppliesFeedAndSeed','FarmAndGardenSuppliesMiscellaneous','FarmAndGardenSuppliesNurseryAndLandscaping','FinanceAutomobile','FinanceBailBonds','FinanceBrokerageAndInvestmentFirms','FinanceBulkPurchase','FinanceCreditUnions','FinanceEducation','FinanceFactoringCompanies','FinanceMiscellaneous','FinanceMortgageBrokers','FinanceMortgageCompanies','FinanceMortgageReporters','FinancePersonalLoanCompanies','FinanceSales','FinanceSavingsAndLoanAssociations','GovernmentCityAndCounty','GovernmentFederal','GovernmentMiscellaneous','GovernmentState','GroceryDairies','GroceryMiscellaneous','GroceryNeighborhood','GrocerySupermarkets','HomeFurnishingApplianceSalesAndService','HomeFurnishingCarpetAndFloorCoverings','HomeFurnishingElectronicsTelevisionAndRadio','HomeFurnishingFurniture','HomeFurnishingFurnitureRental','HomeFurnishingInteriorDecoratorsDesign','HomeFurnishingMiscellaneous','HomeFurnishingMusicAndRecords','InsuranceGeneral','InsuranceLife','InsuranceMiscellaneous','JewelryAndCameraCameras','JewelryAndCameraComputerSalesAndServices','JewelryAndCameraJewelry','JewelryAndCameraMiscellaneous','JewelryAndCameraVideoTapeRentalAndSales','LumberAndHardwareAirConditioningPlumbingElectrical','LumberAndHardwareFixtureAndCabinet','LumberAndHardwareLumberYards','LumberAndHardwareMiscellaneous','LumberAndHardwarePaintGlassAndPaper','LumberAndHardwareStores','MedicalAndHealthAnimalHospitals','MedicalAndHealthChiropractors','MedicalAndHealthDentists','MedicalAndHealthDoctorsAndClinics','MedicalAndHealthFuneralHomesAndCemeteries','MedicalAndHealthHospitals','MedicalAndHealthMedicalEquipment','MedicalAndHealthMiscellaneous','MedicalAndHealthOptometristsAndOpticalStores','MedicalAndHealthOsteopaths','MedicalAndHealthPharmaciesAndDrugs','MedicalAndHealthVeterinarians','MiscellaneousAuthenticationProducts','MiscellaneousCreditBureaus','MiscellaneousCreditReportBrokers','MiscellaneousOther','MiscellaneousRetail','MiscellaneousServices','MiscellaneousWholesale','OilAndNationalCreditCardsAirlineTravelCards','OilAndNationalCreditCardsCreditCardCompanies','OilAndNationalCreditCardsMiscellaneous','OilAndNationalCreditCardsOilCompanies','PersonalServicesNotMedicalAccountants','PersonalServicesNotMedicalBarbersBeautyShops','PersonalServicesNotMedicalCountryClubsRestaurants','PersonalServicesNotMedicalDetectiveInvestigativeServices','PersonalServicesNotMedicalDryCleaningLaundry','PersonalServicesNotMedicalEngineering','PersonalServicesNotMedicalEquipmentLeasing','PersonalServicesNotMedicalFlorists','PersonalServicesNotMedicalHealthAndFitnessClubs','PersonalServicesNotMedicalLegal','PersonalServicesNotMedicalMiscellaneous','PersonalServicesNotMedicalPestControl','PersonalServicesNotMedicalPhotographers','RealEstateAndPublicAccommodationApartments','RealEstateAndPublicAccommodationHotels','RealEstateAndPublicAccommodationMiscellaneous','RealEstateAndPublicAccommodationMobileHomes','RealEstateAndPublicAccommodationMotels','RealEstateAndPublicAccommodationOfficeLeasing','RealEstateAndPublicAccommodationPropertyManagement','RealEstateAndPublicAccommodationRealEstateSales','SportingGoodsAircraftSalesAndService','SportingGoodsBoatAndMarinas','SportingGoodsMiscellaneous','SportingGoodsMotorcycleAndBicycle','SportingGoodsStores','UtilitiesAndFuelCableSatelliteCompanies','UtilitiesAndFuelCoalAndWoodDealers','UtilitiesAndFuelElectricalLightAndPower','UtilitiesAndFuelFuelOilDealers','UtilitiesAndFuelGarbageAndRubbishDisposals','UtilitiesAndFuelGasNaturalAndBottled','UtilitiesAndFuelMiscellaneous','UtilitiesAndFuelTelephoneCompanies','UtilitiesAndFuelWaterCompanies','WholesaleAutomotiveSupplies','WholesaleBuildingAndHardwareSupply','WholesaleClothingAndDryGoods','WholesaleCreditCardProcessing','WholesaleDrugsAndChemicals','WholesaleGroceries','WholesaleHomeFurnishings','WholesaleMachineryAndEquipment','WholesaleMiscellaneous'],'AdvertisingAgencies')(__a__)\n if(!_.isEqual(__v__,this['_detailcreditbusinesstype'])) {\n setDirtyFlag()\n this['_detailcreditbusinesstype'] = __v__\n }\n }\n }\n get creditliabilityhighestadverserating() { return this['_creditliabilityhighestadverserating'] }\n set creditliabilityhighestadverserating(__a__) {\n if(__a__ == null) {\n if(this['_creditliabilityhighestadverserating'] == null) { return }\n setDirtyFlag()\n this['_creditliabilityhighestadverserating'] = null\n return\n } else {\n let __v__ = enumReader(['AsAgreed','BankruptcyOrWageEarnerPlan','ChargeOff','Collection','CollectionOrChargeOff','Foreclosure','ForeclosureOrRepossession','Late30Days','Late60Days','Late90Days','LateOver120Days','NoDataAvailable','Repossession','TooNew','WageEarnerPlan'],'AsAgreed')(__a__)\n if(!_.isEqual(__v__,this['_creditliabilityhighestadverserating'])) {\n setDirtyFlag()\n this['_creditliabilityhighestadverserating'] = __v__\n }\n }\n }\n get reportedby() { return this['_reportedby'] }\n set reportedby(__a__) {\n setDirtyFlag()\n this['_reportedby'] = __a__\n }\n get deferredpaymentamount() { return this['_deferredpaymentamount'] }\n set deferredpaymentamount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_deferredpaymentamount'])) {\n setDirtyFlag()\n this['_deferredpaymentamount'] = __v__\n }\n }\n get deferredpaymentdate() { return this['_deferredpaymentdate'] }\n set deferredpaymentdate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_deferredpaymentdate'])) {\n setDirtyFlag()\n this['_deferredpaymentdate'] = __v__\n }\n }\n get comment() { return this['_comment'] }\n set comment(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_comment'])) {\n setDirtyFlag()\n this['_comment'] = __v__\n }\n }\n get forsubjectproperty() { return this['_forsubjectproperty'] }\n set forsubjectproperty(__a__) {\n if(__a__ == null) {\n if(this['_forsubjectproperty'] == null) { return }\n setDirtyFlag()\n this['_forsubjectproperty'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_forsubjectproperty'])) {\n setDirtyFlag()\n this['_forsubjectproperty'] = __v__\n }\n }\n }\n get forprimaryresidence() { return this['_forprimaryresidence'] }\n set forprimaryresidence(__a__) {\n if(__a__ == null) {\n if(this['_forprimaryresidence'] == null) { return }\n setDirtyFlag()\n this['_forprimaryresidence'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_forprimaryresidence'])) {\n setDirtyFlag()\n this['_forprimaryresidence'] = __v__\n }\n }\n }\n get includesmi() { return this['_includesmi'] }\n set includesmi(__a__) {\n if(__a__ == null) {\n if(this['_includesmi'] == null) { return }\n setDirtyFlag()\n this['_includesmi'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_includesmi'])) {\n setDirtyFlag()\n this['_includesmi'] = __v__\n }\n }\n }\n get isprimary() { return this['_isprimary'] }\n set isprimary(__a__) {\n if(__a__ == null) {\n if(this['_isprimary'] == null) { return }\n setDirtyFlag()\n this['_isprimary'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isprimary'])) {\n setDirtyFlag()\n this['_isprimary'] = __v__\n }\n }\n }\n get satisfiedupon() { return this['_satisfiedupon'] }\n set satisfiedupon(__a__) {\n if(__a__ == null) {\n if(this['_satisfiedupon'] == null) { return }\n setDirtyFlag()\n this['_satisfiedupon'] = null\n return\n } else {\n let __v__ = enumReader(['not','withproceeds','withownfunds'],'not')(__a__)\n if(!_.isEqual(__v__,this['_satisfiedupon'])) {\n setDirtyFlag()\n this['_satisfiedupon'] = __v__\n }\n }\n }\n get rate() { return this['_rate'] }\n set rate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rate'])) {\n setDirtyFlag()\n this['_rate'] = __v__\n }\n }\n get correction() { return this['_correction'] }\n set correction(__a__) {\n let __v__ = enumReader(['none','wrongperson','alreadyclosed','paidbybusiness','duplicate','other'],'none')(__a__)\n if(!_.isEqual(__v__,this['_correction'])) {\n setDirtyFlag()\n this['_correction'] = __v__\n }\n }\n get explanation() { return this['_explanation'] }\n set explanation(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_explanation'])) {\n setDirtyFlag()\n this['_explanation'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get propertyaddress() { return this['_propertyaddress'] }\n set propertyaddress(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_propertyaddress'])) {\n setDirtyFlag()\n this['_propertyaddress'] = __v__\n }\n }\n get partoforiginalpurchase() { return this['_partoforiginalpurchase'] }\n set partoforiginalpurchase(__a__) {\n if(__a__ == null) {\n if(this['_partoforiginalpurchase'] == null) { return }\n setDirtyFlag()\n this['_partoforiginalpurchase'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_partoforiginalpurchase'])) {\n setDirtyFlag()\n this['_partoforiginalpurchase'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get paidoffatclosing() { return this['_paidoffatclosing'] }\n set paidoffatclosing(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_paidoffatclosing'])) {\n setDirtyFlag()\n this['_paidoffatclosing'] = __v__\n }\n }\n get creditlimit() { return this['_creditlimit'] }\n set creditlimit(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditlimit'])) {\n setDirtyFlag()\n this['_creditlimit'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new loan()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.openeddate = __a__['openeddate']\n cls.name = __a__['name']\n cls.address = __a__['address']\n cls.accountnumber = __a__['accountnumber']\n cls.monthlypayment = __a__['monthlypayment']\n cls.monthlydefinedbycustomer = __a__['monthlydefinedbycustomer']\n cls.remainingbalance = __a__['remainingbalance']\n cls.highbalance = __a__['highbalance']\n cls.monthslefttopay = __a__['monthslefttopay']\n cls.mannerofpaymentcode = __a__['mannerofpaymentcode'] == null ? null : __a__['mannerofpaymentcode']\n cls.currentratingtype = __a__['currentratingtype'] == null ? null : __a__['currentratingtype']\n cls.creditloantype = __a__['creditloantype'] == null ? null : __a__['creditloantype']\n cls.creditliabilityaccounttype = __a__['creditliabilityaccounttype'] == null ? null : __a__['creditliabilityaccounttype']\n cls.creditliabilityaccountownershiptype = __a__['creditliabilityaccountownershiptype'] == null ? null : __a__['creditliabilityaccountownershiptype']\n cls.creditliabilityaccountstatustype = __a__['creditliabilityaccountstatustype'] == null ? null : __a__['creditliabilityaccountstatustype']\n cls.detailcreditbusinesstype = __a__['detailcreditbusinesstype'] == null ? null : __a__['detailcreditbusinesstype']\n cls.creditliabilityhighestadverserating = __a__['creditliabilityhighestadverserating'] == null ? null : __a__['creditliabilityhighestadverserating']\n cls.reportedby = array1Reader(enumReader(['Equifax','Experian','TransUnion'],'Equifax'))(__a__['reportedby'])\n cls.deferredpaymentamount = __a__['deferredpaymentamount']\n cls.deferredpaymentdate = __a__['deferredpaymentdate']\n cls.comment = __a__['comment']\n cls.forsubjectproperty = __a__['forsubjectproperty'] == null ? null : __a__['forsubjectproperty']\n cls.forprimaryresidence = __a__['forprimaryresidence'] == null ? null : __a__['forprimaryresidence']\n cls.includesmi = __a__['includesmi'] == null ? null : __a__['includesmi']\n cls.isprimary = __a__['isprimary'] == null ? null : __a__['isprimary']\n cls.satisfiedupon = __a__['satisfiedupon'] == null ? null : __a__['satisfiedupon']\n cls.rate = __a__['rate']\n cls.correction = __a__['correction']\n cls.explanation = __a__['explanation']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.propertyaddress = __a__['propertyaddress']\n cls.partoforiginalpurchase = __a__['partoforiginalpurchase'] == null ? null : __a__['partoforiginalpurchase']\n cls.key = __a__['key']\n cls.paidoffatclosing = __a__['paidoffatclosing']\n cls.creditlimit = __a__['creditlimit']\n } else {\n doAlert(`loan: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class loanOfficerTask {\n constructor() {\n this['_serialId'] = 0\n this['_id'] = ''\n this['_loanId'] = ''\n this['_task'] = ''\n this['_created'] = ''\n this['_deadline'] = ''\n this['_stage'] = 'TODOs'\n this['_subtasks'] = ''\n this['_listOfDocuments'] = []\n }\n get serialId() { return this['_serialId'] }\n set serialId(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_serialId'])) {\n setDirtyFlag()\n this['_serialId'] = __v__\n }\n }\n get id() { return this['_id'] }\n set id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_id'])) {\n setDirtyFlag()\n this['_id'] = __v__\n }\n }\n get loanId() { return this['_loanId'] }\n set loanId(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanId'])) {\n setDirtyFlag()\n this['_loanId'] = __v__\n }\n }\n get task() { return this['_task'] }\n set task(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_task'])) {\n setDirtyFlag()\n this['_task'] = __v__\n }\n }\n get created() { return this['_created'] }\n set created(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_created'])) {\n setDirtyFlag()\n this['_created'] = __v__\n }\n }\n get deadline() { return this['_deadline'] }\n set deadline(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_deadline'])) {\n setDirtyFlag()\n this['_deadline'] = __v__\n }\n }\n get stage() { return this['_stage'] }\n set stage(__a__) {\n let __v__ = enumReader(['TODOs','In_Progress','Done'],'TODOs')(__a__)\n if(!_.isEqual(__v__,this['_stage'])) {\n setDirtyFlag()\n this['_stage'] = __v__\n }\n }\n get subtasks() { return this['_subtasks'] }\n set subtasks(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_subtasks'])) {\n setDirtyFlag()\n this['_subtasks'] = __v__\n }\n }\n get listOfDocuments() { return this['_listOfDocuments'] }\n set listOfDocuments(__a__) {\n setDirtyFlag()\n this['_listOfDocuments'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new loanOfficerTask()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.serialId = __a__['serialId']\n cls.id = __a__['id']\n cls.loanId = __a__['loanId']\n cls.task = __a__['task']\n cls.created = __a__['created']\n cls.deadline = __a__['deadline']\n cls.stage = __a__['stage']\n cls.subtasks = __a__['subtasks']\n cls.listOfDocuments = array1Reader(file.fromJson)(__a__['listOfDocuments'])\n } else {\n doAlert(`loanOfficerTask: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class loanofficercreditreport {\n constructor() {\n this['_errorMessages'] = null\n this['_creditscore'] = ''\n this['_personswithscoresandresidencies'] = []\n this['_liabilities'] = new liabilities()\n this['_publicrecords'] = []\n }\n get errorMessages() { return this['_errorMessages'] }\n set errorMessages(__a__) {\n setDirtyFlag()\n this['_errorMessages'] = __a__\n }\n get creditscore() { return this['_creditscore'] }\n set creditscore(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditscore'])) {\n setDirtyFlag()\n this['_creditscore'] = __v__\n }\n }\n get personswithscoresandresidencies() { return this['_personswithscoresandresidencies'] }\n set personswithscoresandresidencies(__a__) {\n setDirtyFlag()\n this['_personswithscoresandresidencies'] = __a__\n }\n get liabilities() { return this['_liabilities'] }\n set liabilities(__a__) {\n setDirtyFlag()\n this['_liabilities'] = __a__\n }\n get publicrecords() { return this['_publicrecords'] }\n set publicrecords(__a__) {\n setDirtyFlag()\n this['_publicrecords'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new loanofficercreditreport()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.errorMessages = __a__['errorMessages'] == null ? null : array1Reader(stringReader(''))(__a__['errorMessages'])\n cls.creditscore = __a__['creditscore']\n cls.personswithscoresandresidencies = array1Reader(personwithscoresandresidencies.fromJson)(__a__['personswithscoresandresidencies'])\n cls.liabilities = liabilities.fromJson(__a__['liabilities'])\n cls.publicrecords = array1Reader(publicrecordwithattribution.fromJson)(__a__['publicrecords'])\n } else {\n doAlert(`loanofficercreditreport: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class loanwithattribution {\n constructor() {\n this['_attribution'] = null\n this['_key'] = ''\n this['_loan'] = new loan()\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get loan() { return this['_loan'] }\n set loan(__a__) {\n setDirtyFlag()\n this['_loan'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new loanwithattribution()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.key = __a__['key']\n cls.loan = loan.fromJson(__a__['loan'])\n } else {\n doAlert(`loanwithattribution: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class locreditreportadditions {\n constructor() {\n this['_errorMessages'] = null\n this['_personswithscoresandresidencies'] = []\n this['_liabilities'] = new liabilities()\n }\n get errorMessages() { return this['_errorMessages'] }\n set errorMessages(__a__) {\n setDirtyFlag()\n this['_errorMessages'] = __a__\n }\n get personswithscoresandresidencies() { return this['_personswithscoresandresidencies'] }\n set personswithscoresandresidencies(__a__) {\n setDirtyFlag()\n this['_personswithscoresandresidencies'] = __a__\n }\n get liabilities() { return this['_liabilities'] }\n set liabilities(__a__) {\n setDirtyFlag()\n this['_liabilities'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new locreditreportadditions()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.errorMessages = __a__['errorMessages'] == null ? null : array1Reader(stringReader(''))(__a__['errorMessages'])\n cls.personswithscoresandresidencies = array1Reader(personwithscoresandresidencies.fromJson)(__a__['personswithscoresandresidencies'])\n cls.liabilities = liabilities.fromJson(__a__['liabilities'])\n } else {\n doAlert(`locreditreportadditions: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class newmortgage {\n constructor() {\n this['_creditor'] = ''\n this['_lientype'] = null\n this['_monthlyamount'] = ''\n this['_loanamount'] = ''\n this['_creditlimit'] = ''\n this['_key'] = ''\n }\n get creditor() { return this['_creditor'] }\n set creditor(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditor'])) {\n setDirtyFlag()\n this['_creditor'] = __v__\n }\n }\n get lientype() { return this['_lientype'] }\n set lientype(__a__) {\n if(__a__ == null) {\n if(this['_lientype'] == null) { return }\n setDirtyFlag()\n this['_lientype'] = null\n return\n } else {\n let __v__ = enumReader(['firstlien','subordinatelien'],'firstlien')(__a__)\n if(!_.isEqual(__v__,this['_lientype'])) {\n setDirtyFlag()\n this['_lientype'] = __v__\n }\n }\n }\n get monthlyamount() { return this['_monthlyamount'] }\n set monthlyamount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthlyamount'])) {\n setDirtyFlag()\n this['_monthlyamount'] = __v__\n }\n }\n get loanamount() { return this['_loanamount'] }\n set loanamount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_loanamount'])) {\n setDirtyFlag()\n this['_loanamount'] = __v__\n }\n }\n get creditlimit() { return this['_creditlimit'] }\n set creditlimit(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditlimit'])) {\n setDirtyFlag()\n this['_creditlimit'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new newmortgage()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.creditor = __a__['creditor']\n cls.lientype = __a__['lientype'] == null ? null : __a__['lientype']\n cls.monthlyamount = __a__['monthlyamount']\n cls.loanamount = __a__['loanamount']\n cls.creditlimit = __a__['creditlimit']\n cls.key = __a__['key']\n } else {\n doAlert(`newmortgage: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class nonqm {\n constructor() {\n this['_nonqmincometype'] = []\n this['_nonqmincomeperiod'] = 'monthly'\n this['_nonqmincomeamount'] = ''\n }\n get nonqmincometype() { return this['_nonqmincometype'] }\n set nonqmincometype(__a__) {\n setDirtyFlag()\n this['_nonqmincometype'] = __a__\n }\n get nonqmincomeperiod() { return this['_nonqmincomeperiod'] }\n set nonqmincomeperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_nonqmincomeperiod'])) {\n setDirtyFlag()\n this['_nonqmincomeperiod'] = __v__\n }\n }\n get nonqmincomeamount() { return this['_nonqmincomeamount'] }\n set nonqmincomeamount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_nonqmincomeamount'])) {\n setDirtyFlag()\n this['_nonqmincomeamount'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new nonqm()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.nonqmincometype = array1Reader(enumReader(['FullDoc','FullDoc12Mo','FullDocWithAssets','VOE','VOE24Mo','PersonalBankStatement12Mo','PersonalBankStatement24Mo','BusinessBankStatement12Mo','BusinessBankStatement24Mo','Form109924Mo','Form109912Mo','PL24','PL12','PL','AssetDepletion','AssetUtilization','DebtServiceCoverageRatio','NoRatio'],'FullDoc'))(__a__['nonqmincometype'])\n cls.nonqmincomeperiod = __a__['nonqmincomeperiod']\n cls.nonqmincomeamount = __a__['nonqmincomeamount']\n } else {\n doAlert(`nonqm: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class notification {\n constructor() {\n this['_id'] = ''\n this['_text'] = ''\n this['_customer_id'] = ''\n }\n get id() { return this['_id'] }\n set id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_id'])) {\n setDirtyFlag()\n this['_id'] = __v__\n }\n }\n get text() { return this['_text'] }\n set text(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_text'])) {\n setDirtyFlag()\n this['_text'] = __v__\n }\n }\n get customer_id() { return this['_customer_id'] }\n set customer_id(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_customer_id'])) {\n setDirtyFlag()\n this['_customer_id'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new notification()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.id = __a__['id']\n cls.text = __a__['text']\n cls.customer_id = __a__['customer_id']\n } else {\n doAlert(`notification: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class notifications {\n constructor() {\n this['_general'] = []\n this['_specific'] = []\n }\n get general() { return this['_general'] }\n set general(__a__) {\n setDirtyFlag()\n this['_general'] = __a__\n }\n get specific() { return this['_specific'] }\n set specific(__a__) {\n setDirtyFlag()\n this['_specific'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new notifications()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.general = array1Reader(notification.fromJson)(__a__['general'])\n cls.specific = array1Reader(notification.fromJson)(__a__['specific'])\n } else {\n doAlert(`notifications: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class occupation {\n constructor() {\n this['_hasoccupation'] = null\n this['_employername'] = ''\n this['_employeraddress'] = ''\n this['_from'] = ''\n this['_positiontitle'] = ''\n this['_typeofbusiness'] = ''\n this['_phone'] = ''\n this['_yearsatlineofwork'] = ''\n this['_monthsatlineofwork'] = ''\n this['_selfemployed'] = false\n this['_employedbyagent'] = false\n this['_percentownership'] = ''\n this['_incomeorloss'] = ''\n this['_incomeorlossperiod'] = 'monthly'\n this['_income'] = new employmentincome()\n this['_selfincomedoc'] = null\n }\n get hasoccupation() { return this['_hasoccupation'] }\n set hasoccupation(__a__) {\n if(__a__ == null) {\n if(this['_hasoccupation'] == null) { return }\n setDirtyFlag()\n this['_hasoccupation'] = null\n return\n } else {\n let __v__ = enumReader(['unemployed','retired','employed'],'unemployed')(__a__)\n if(!_.isEqual(__v__,this['_hasoccupation'])) {\n setDirtyFlag()\n this['_hasoccupation'] = __v__\n }\n }\n }\n get employername() { return this['_employername'] }\n set employername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employername'])) {\n setDirtyFlag()\n this['_employername'] = __v__\n }\n }\n get employeraddress() { return this['_employeraddress'] }\n set employeraddress(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employeraddress'])) {\n setDirtyFlag()\n this['_employeraddress'] = __v__\n }\n }\n get from() { return this['_from'] }\n set from(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_from'])) {\n setDirtyFlag()\n this['_from'] = __v__\n }\n }\n get positiontitle() { return this['_positiontitle'] }\n set positiontitle(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_positiontitle'])) {\n setDirtyFlag()\n this['_positiontitle'] = __v__\n }\n }\n get typeofbusiness() { return this['_typeofbusiness'] }\n set typeofbusiness(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_typeofbusiness'])) {\n setDirtyFlag()\n this['_typeofbusiness'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n get yearsatlineofwork() { return this['_yearsatlineofwork'] }\n set yearsatlineofwork(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearsatlineofwork'])) {\n setDirtyFlag()\n this['_yearsatlineofwork'] = __v__\n }\n }\n get monthsatlineofwork() { return this['_monthsatlineofwork'] }\n set monthsatlineofwork(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthsatlineofwork'])) {\n setDirtyFlag()\n this['_monthsatlineofwork'] = __v__\n }\n }\n get selfemployed() { return this['_selfemployed'] }\n set selfemployed(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_selfemployed'])) {\n setDirtyFlag()\n this['_selfemployed'] = __v__\n }\n }\n get employedbyagent() { return this['_employedbyagent'] }\n set employedbyagent(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_employedbyagent'])) {\n setDirtyFlag()\n this['_employedbyagent'] = __v__\n }\n }\n get percentownership() { return this['_percentownership'] }\n set percentownership(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_percentownership'])) {\n setDirtyFlag()\n this['_percentownership'] = __v__\n }\n }\n get incomeorloss() { return this['_incomeorloss'] }\n set incomeorloss(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_incomeorloss'])) {\n setDirtyFlag()\n this['_incomeorloss'] = __v__\n }\n }\n get incomeorlossperiod() { return this['_incomeorlossperiod'] }\n set incomeorlossperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_incomeorlossperiod'])) {\n setDirtyFlag()\n this['_incomeorlossperiod'] = __v__\n }\n }\n get income() { return this['_income'] }\n set income(__a__) {\n setDirtyFlag()\n this['_income'] = __a__\n }\n get selfincomedoc() { return this['_selfincomedoc'] }\n set selfincomedoc(__a__) {\n if(__a__ == null) {\n if(this['_selfincomedoc'] == null) { return }\n setDirtyFlag()\n this['_selfincomedoc'] = null\n return\n } else {\n let __v__ = enumReader(['schedulec','schedulef','f1065','f1120S','f1120','w2paystub','schedulek1'],'schedulec')(__a__)\n if(!_.isEqual(__v__,this['_selfincomedoc'])) {\n setDirtyFlag()\n this['_selfincomedoc'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new occupation()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hasoccupation = __a__['hasoccupation'] == null ? null : __a__['hasoccupation']\n cls.employername = __a__['employername']\n cls.employeraddress = __a__['employeraddress']\n cls.from = __a__['from']\n cls.positiontitle = __a__['positiontitle']\n cls.typeofbusiness = __a__['typeofbusiness']\n cls.phone = __a__['phone']\n cls.yearsatlineofwork = __a__['yearsatlineofwork']\n cls.monthsatlineofwork = __a__['monthsatlineofwork']\n cls.selfemployed = __a__['selfemployed']\n cls.employedbyagent = __a__['employedbyagent']\n cls.percentownership = __a__['percentownership']\n cls.incomeorloss = __a__['incomeorloss']\n cls.incomeorlossperiod = __a__['incomeorlossperiod']\n cls.income = employmentincome.fromJson(__a__['income'])\n cls.selfincomedoc = __a__['selfincomedoc'] == null ? null : __a__['selfincomedoc']\n } else {\n doAlert(`occupation: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class otherasset {\n constructor() {\n this['_description'] = ''\n this['_assettype'] = 'ProceedsFromRealEstatePropertyToBeSold'\n this['_value'] = ''\n this['_key'] = ''\n this['_attribution'] = null\n }\n get description() { return this['_description'] }\n set description(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_description'])) {\n setDirtyFlag()\n this['_description'] = __v__\n }\n }\n get assettype() { return this['_assettype'] }\n set assettype(__a__) {\n let __v__ = enumReader(['ProceedsFromRealEstatePropertyToBeSold','ProceedsFromSaleOfNonRealEstateAsset','SecuredBorrowedFunds','UnsecuredBorrowedFunds','Other','EarnestMoney','EmployerAssistance','LotEquity','RelocationFunds','RentCredit','SweatEquity','TradeEquity'],'ProceedsFromRealEstatePropertyToBeSold')(__a__)\n if(!_.isEqual(__v__,this['_assettype'])) {\n setDirtyFlag()\n this['_assettype'] = __v__\n }\n }\n get value() { return this['_value'] }\n set value(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_value'])) {\n setDirtyFlag()\n this['_value'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new otherasset()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.description = __a__['description']\n cls.assettype = __a__['assettype']\n cls.value = __a__['value']\n cls.key = __a__['key']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n } else {\n doAlert(`otherasset: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class otherincome {\n constructor() {\n this['_key'] = ''\n this['_incometype'] = 'Other'\n this['_description'] = ''\n this['_period'] = 'monthly'\n this['_amount'] = ''\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n get incometype() { return this['_incometype'] }\n set incometype(__a__) {\n let __v__ = enumReader(['AccessoryUnitIncome','Alimony','AutomobileAllowance','Base','BoarderIncome','Bonus','CapitalGains','ChildSupport','Commissions','ContractBasis','DefinedContributionPlan','Disability','DividendsInterest','EmploymentRelatedAccount','FosterCare','HousingAllowance','HousingChoiceVoucherProgram','MilitaryBasePay','MilitaryClothesAllowance','MilitaryCombatPay','MilitaryFlightPay','MilitaryHazardPay','MilitaryOverseasPay','MilitaryPropPay','MilitaryQuartersAllowance','MilitaryRationsAllowance','MilitaryVariableHousingAllowance','MortgageCreditCertificate','MortgageDifferential','NetRentalIncome','NonBorrowerContribution','NonBorrowerHouseholdIncome','NotesReceivableInstallment','Other','Overtime','Pension','ProposedGrossRentForSubjectProperty','PublicAssistance','RealEstateOwnedGrossRentalIncome','Royalties','SeparateMaintenance','SocialSecurity','TemporaryLeave','TipIncome','Trust','Unemployment','VABenefitsNonEducational','VACompensation','Retirement','HousingParsonage'],'Other')(__a__)\n if(!_.isEqual(__v__,this['_incometype'])) {\n setDirtyFlag()\n this['_incometype'] = __v__\n }\n }\n get description() { return this['_description'] }\n set description(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_description'])) {\n setDirtyFlag()\n this['_description'] = __v__\n }\n }\n get period() { return this['_period'] }\n set period(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_period'])) {\n setDirtyFlag()\n this['_period'] = __v__\n }\n }\n get amount() { return this['_amount'] }\n set amount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_amount'])) {\n setDirtyFlag()\n this['_amount'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new otherincome()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.key = __a__['key']\n cls.incometype = __a__['incometype']\n cls.description = __a__['description']\n cls.period = __a__['period']\n cls.amount = __a__['amount']\n } else {\n doAlert(`otherincome: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class otherlien {\n constructor() {\n this['_lender'] = ''\n this['_monthly'] = ''\n this['_balance'] = ''\n this['_monthslefttopay'] = 0\n this['_account'] = ''\n this['_owner'] = 'Individual'\n this['_isHELOC'] = null\n this['_forsubjectproperty'] = null\n this['_satisfiedupon'] = null\n this['_isprimary'] = null\n this['_partoforiginalpurchase'] = null\n this['_rate'] = ''\n }\n get lender() { return this['_lender'] }\n set lender(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lender'])) {\n setDirtyFlag()\n this['_lender'] = __v__\n }\n }\n get monthly() { return this['_monthly'] }\n set monthly(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthly'])) {\n setDirtyFlag()\n this['_monthly'] = __v__\n }\n }\n get balance() { return this['_balance'] }\n set balance(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_balance'])) {\n setDirtyFlag()\n this['_balance'] = __v__\n }\n }\n get monthslefttopay() { return this['_monthslefttopay'] }\n set monthslefttopay(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_monthslefttopay'])) {\n setDirtyFlag()\n this['_monthslefttopay'] = __v__\n }\n }\n get account() { return this['_account'] }\n set account(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_account'])) {\n setDirtyFlag()\n this['_account'] = __v__\n }\n }\n get owner() { return this['_owner'] }\n set owner(__a__) {\n let __v__ = enumReader(['Individual','Joint','Terminated'],'Individual')(__a__)\n if(!_.isEqual(__v__,this['_owner'])) {\n setDirtyFlag()\n this['_owner'] = __v__\n }\n }\n get isHELOC() { return this['_isHELOC'] }\n set isHELOC(__a__) {\n if(__a__ == null) {\n if(this['_isHELOC'] == null) { return }\n setDirtyFlag()\n this['_isHELOC'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isHELOC'])) {\n setDirtyFlag()\n this['_isHELOC'] = __v__\n }\n }\n }\n get forsubjectproperty() { return this['_forsubjectproperty'] }\n set forsubjectproperty(__a__) {\n if(__a__ == null) {\n if(this['_forsubjectproperty'] == null) { return }\n setDirtyFlag()\n this['_forsubjectproperty'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_forsubjectproperty'])) {\n setDirtyFlag()\n this['_forsubjectproperty'] = __v__\n }\n }\n }\n get satisfiedupon() { return this['_satisfiedupon'] }\n set satisfiedupon(__a__) {\n if(__a__ == null) {\n if(this['_satisfiedupon'] == null) { return }\n setDirtyFlag()\n this['_satisfiedupon'] = null\n return\n } else {\n let __v__ = enumReader(['not','withproceeds','withownfunds'],'not')(__a__)\n if(!_.isEqual(__v__,this['_satisfiedupon'])) {\n setDirtyFlag()\n this['_satisfiedupon'] = __v__\n }\n }\n }\n get isprimary() { return this['_isprimary'] }\n set isprimary(__a__) {\n if(__a__ == null) {\n if(this['_isprimary'] == null) { return }\n setDirtyFlag()\n this['_isprimary'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isprimary'])) {\n setDirtyFlag()\n this['_isprimary'] = __v__\n }\n }\n }\n get partoforiginalpurchase() { return this['_partoforiginalpurchase'] }\n set partoforiginalpurchase(__a__) {\n if(__a__ == null) {\n if(this['_partoforiginalpurchase'] == null) { return }\n setDirtyFlag()\n this['_partoforiginalpurchase'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_partoforiginalpurchase'])) {\n setDirtyFlag()\n this['_partoforiginalpurchase'] = __v__\n }\n }\n }\n get rate() { return this['_rate'] }\n set rate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rate'])) {\n setDirtyFlag()\n this['_rate'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new otherlien()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.lender = __a__['lender']\n cls.monthly = __a__['monthly']\n cls.balance = __a__['balance']\n cls.monthslefttopay = __a__['monthslefttopay']\n cls.account = __a__['account']\n cls.owner = __a__['owner']\n cls.isHELOC = __a__['isHELOC'] == null ? null : __a__['isHELOC']\n cls.forsubjectproperty = __a__['forsubjectproperty'] == null ? null : __a__['forsubjectproperty']\n cls.satisfiedupon = __a__['satisfiedupon'] == null ? null : __a__['satisfiedupon']\n cls.isprimary = __a__['isprimary'] == null ? null : __a__['isprimary']\n cls.partoforiginalpurchase = __a__['partoforiginalpurchase'] == null ? null : __a__['partoforiginalpurchase']\n cls.rate = __a__['rate']\n } else {\n doAlert(`otherlien: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class otheroccupation {\n constructor() {\n this['_employername'] = ''\n this['_employeraddress'] = ''\n this['_from'] = ''\n this['_positiontitle'] = ''\n this['_typeofbusiness'] = ''\n this['_phone'] = ''\n this['_yearsatlineofwork'] = ''\n this['_monthsatlineofwork'] = ''\n this['_selfemployed'] = false\n this['_employedbyagent'] = false\n this['_percentownership'] = ''\n this['_incomeorloss'] = ''\n this['_incomeorlossperiod'] = 'monthly'\n this['_income'] = new employmentincome()\n this['_selfincomedoc'] = null\n this['_key'] = ''\n }\n get employername() { return this['_employername'] }\n set employername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employername'])) {\n setDirtyFlag()\n this['_employername'] = __v__\n }\n }\n get employeraddress() { return this['_employeraddress'] }\n set employeraddress(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employeraddress'])) {\n setDirtyFlag()\n this['_employeraddress'] = __v__\n }\n }\n get from() { return this['_from'] }\n set from(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_from'])) {\n setDirtyFlag()\n this['_from'] = __v__\n }\n }\n get positiontitle() { return this['_positiontitle'] }\n set positiontitle(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_positiontitle'])) {\n setDirtyFlag()\n this['_positiontitle'] = __v__\n }\n }\n get typeofbusiness() { return this['_typeofbusiness'] }\n set typeofbusiness(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_typeofbusiness'])) {\n setDirtyFlag()\n this['_typeofbusiness'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n get yearsatlineofwork() { return this['_yearsatlineofwork'] }\n set yearsatlineofwork(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearsatlineofwork'])) {\n setDirtyFlag()\n this['_yearsatlineofwork'] = __v__\n }\n }\n get monthsatlineofwork() { return this['_monthsatlineofwork'] }\n set monthsatlineofwork(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthsatlineofwork'])) {\n setDirtyFlag()\n this['_monthsatlineofwork'] = __v__\n }\n }\n get selfemployed() { return this['_selfemployed'] }\n set selfemployed(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_selfemployed'])) {\n setDirtyFlag()\n this['_selfemployed'] = __v__\n }\n }\n get employedbyagent() { return this['_employedbyagent'] }\n set employedbyagent(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_employedbyagent'])) {\n setDirtyFlag()\n this['_employedbyagent'] = __v__\n }\n }\n get percentownership() { return this['_percentownership'] }\n set percentownership(__a__) {\n let __v__ = IntSReader('')(__a__)\n if(!_.isEqual(__v__,this['_percentownership'])) {\n setDirtyFlag()\n this['_percentownership'] = __v__\n }\n }\n get incomeorloss() { return this['_incomeorloss'] }\n set incomeorloss(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_incomeorloss'])) {\n setDirtyFlag()\n this['_incomeorloss'] = __v__\n }\n }\n get incomeorlossperiod() { return this['_incomeorlossperiod'] }\n set incomeorlossperiod(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_incomeorlossperiod'])) {\n setDirtyFlag()\n this['_incomeorlossperiod'] = __v__\n }\n }\n get income() { return this['_income'] }\n set income(__a__) {\n setDirtyFlag()\n this['_income'] = __a__\n }\n get selfincomedoc() { return this['_selfincomedoc'] }\n set selfincomedoc(__a__) {\n if(__a__ == null) {\n if(this['_selfincomedoc'] == null) { return }\n setDirtyFlag()\n this['_selfincomedoc'] = null\n return\n } else {\n let __v__ = enumReader(['schedulec','schedulef','f1065','f1120S','f1120','w2paystub','schedulek1'],'schedulec')(__a__)\n if(!_.isEqual(__v__,this['_selfincomedoc'])) {\n setDirtyFlag()\n this['_selfincomedoc'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new otheroccupation()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.employername = __a__['employername']\n cls.employeraddress = __a__['employeraddress']\n cls.from = __a__['from']\n cls.positiontitle = __a__['positiontitle']\n cls.typeofbusiness = __a__['typeofbusiness']\n cls.phone = __a__['phone']\n cls.yearsatlineofwork = __a__['yearsatlineofwork']\n cls.monthsatlineofwork = __a__['monthsatlineofwork']\n cls.selfemployed = __a__['selfemployed']\n cls.employedbyagent = __a__['employedbyagent']\n cls.percentownership = __a__['percentownership']\n cls.incomeorloss = __a__['incomeorloss']\n cls.incomeorlossperiod = __a__['incomeorlossperiod']\n cls.income = employmentincome.fromJson(__a__['income'])\n cls.selfincomedoc = __a__['selfincomedoc'] == null ? null : __a__['selfincomedoc']\n cls.key = __a__['key']\n } else {\n doAlert(`otheroccupation: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class payment {\n constructor() {\n this['_paymentname'] = ''\n this['_amount'] = 0.0\n this['_period'] = 'monthly'\n this['_prepaidperiods'] = 0\n this['_yearstilltermination'] = 0\n this['_inescrow'] = false\n this['_initialescrowpaymentmonths'] = 0\n }\n get paymentname() { return this['_paymentname'] }\n set paymentname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_paymentname'])) {\n setDirtyFlag()\n this['_paymentname'] = __v__\n }\n }\n get amount() { return this['_amount'] }\n set amount(__a__) {\n let __v__ = floatReader(0.0)(__a__)\n if(!_.isEqual(__v__,this['_amount'])) {\n setDirtyFlag()\n this['_amount'] = __v__\n }\n }\n get period() { return this['_period'] }\n set period(__a__) {\n let __v__ = enumReader(['monthly','yearly','daily','hourly'],'monthly')(__a__)\n if(!_.isEqual(__v__,this['_period'])) {\n setDirtyFlag()\n this['_period'] = __v__\n }\n }\n get prepaidperiods() { return this['_prepaidperiods'] }\n set prepaidperiods(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_prepaidperiods'])) {\n setDirtyFlag()\n this['_prepaidperiods'] = __v__\n }\n }\n get yearstilltermination() { return this['_yearstilltermination'] }\n set yearstilltermination(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_yearstilltermination'])) {\n setDirtyFlag()\n this['_yearstilltermination'] = __v__\n }\n }\n get inescrow() { return this['_inescrow'] }\n set inescrow(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_inescrow'])) {\n setDirtyFlag()\n this['_inescrow'] = __v__\n }\n }\n get initialescrowpaymentmonths() { return this['_initialescrowpaymentmonths'] }\n set initialescrowpaymentmonths(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_initialescrowpaymentmonths'])) {\n setDirtyFlag()\n this['_initialescrowpaymentmonths'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new payment()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.paymentname = __a__['paymentname']\n cls.amount = __a__['amount']\n cls.period = __a__['period']\n cls.prepaidperiods = __a__['prepaidperiods']\n cls.yearstilltermination = __a__['yearstilltermination']\n cls.inescrow = __a__['inescrow']\n cls.initialescrowpaymentmonths = __a__['initialescrowpaymentmonths']\n } else {\n doAlert(`payment: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class person {\n constructor() {\n this['_firstname'] = ''\n this['_middlename'] = ''\n this['_lastname'] = ''\n this['_suffix'] = ''\n this['_email'] = ''\n this['_socialsecurity'] = ''\n this['_dateofbirth'] = ''\n }\n get firstname() { return this['_firstname'] }\n set firstname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_firstname'])) {\n setDirtyFlag()\n this['_firstname'] = __v__\n }\n }\n get middlename() { return this['_middlename'] }\n set middlename(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_middlename'])) {\n setDirtyFlag()\n this['_middlename'] = __v__\n }\n }\n get lastname() { return this['_lastname'] }\n set lastname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lastname'])) {\n setDirtyFlag()\n this['_lastname'] = __v__\n }\n }\n get suffix() { return this['_suffix'] }\n set suffix(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_suffix'])) {\n setDirtyFlag()\n this['_suffix'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get socialsecurity() { return this['_socialsecurity'] }\n set socialsecurity(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_socialsecurity'])) {\n setDirtyFlag()\n this['_socialsecurity'] = __v__\n }\n }\n get dateofbirth() { return this['_dateofbirth'] }\n set dateofbirth(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_dateofbirth'])) {\n setDirtyFlag()\n this['_dateofbirth'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new person()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.firstname = __a__['firstname']\n cls.middlename = __a__['middlename']\n cls.lastname = __a__['lastname']\n cls.suffix = __a__['suffix']\n cls.email = __a__['email']\n cls.socialsecurity = __a__['socialsecurity']\n cls.dateofbirth = __a__['dateofbirth']\n } else {\n doAlert(`person: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class personwithresidencies {\n constructor() {\n this['_person'] = new person()\n this['_residencies'] = []\n }\n get person() { return this['_person'] }\n set person(__a__) {\n setDirtyFlag()\n this['_person'] = __a__\n }\n get residencies() { return this['_residencies'] }\n set residencies(__a__) {\n setDirtyFlag()\n this['_residencies'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new personwithresidencies()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.person = person.fromJson(__a__['person'])\n cls.residencies = array1Reader(address.fromJson)(__a__['residencies'])\n } else {\n doAlert(`personwithresidencies: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class personwithscoresandresidencies {\n constructor() {\n this['_person'] = new person()\n this['_scores'] = new scores()\n this['_residencies'] = []\n }\n get person() { return this['_person'] }\n set person(__a__) {\n setDirtyFlag()\n this['_person'] = __a__\n }\n get scores() { return this['_scores'] }\n set scores(__a__) {\n setDirtyFlag()\n this['_scores'] = __a__\n }\n get residencies() { return this['_residencies'] }\n set residencies(__a__) {\n setDirtyFlag()\n this['_residencies'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new personwithscoresandresidencies()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.person = person.fromJson(__a__['person'])\n cls.scores = scores.fromJson(__a__['scores'])\n cls.residencies = array1Reader(address.fromJson)(__a__['residencies'])\n } else {\n doAlert(`personwithscoresandresidencies: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class previousoccupation {\n constructor() {\n this['_employername'] = ''\n this['_employeraddress'] = ''\n this['_from'] = ''\n this['_to'] = ''\n this['_positiontitle'] = ''\n this['_typeofbusiness'] = ''\n this['_phone'] = ''\n this['_income'] = ''\n this['_incomeperiod'] = ''\n this['_selfemployed'] = false\n this['_employedbyagent'] = false\n this['_key'] = ''\n }\n get employername() { return this['_employername'] }\n set employername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employername'])) {\n setDirtyFlag()\n this['_employername'] = __v__\n }\n }\n get employeraddress() { return this['_employeraddress'] }\n set employeraddress(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_employeraddress'])) {\n setDirtyFlag()\n this['_employeraddress'] = __v__\n }\n }\n get from() { return this['_from'] }\n set from(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_from'])) {\n setDirtyFlag()\n this['_from'] = __v__\n }\n }\n get to() { return this['_to'] }\n set to(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_to'])) {\n setDirtyFlag()\n this['_to'] = __v__\n }\n }\n get positiontitle() { return this['_positiontitle'] }\n set positiontitle(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_positiontitle'])) {\n setDirtyFlag()\n this['_positiontitle'] = __v__\n }\n }\n get typeofbusiness() { return this['_typeofbusiness'] }\n set typeofbusiness(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_typeofbusiness'])) {\n setDirtyFlag()\n this['_typeofbusiness'] = __v__\n }\n }\n get phone() { return this['_phone'] }\n set phone(__a__) {\n let __v__ = PhoneSReader('')(__a__)\n if(!_.isEqual(__v__,this['_phone'])) {\n setDirtyFlag()\n this['_phone'] = __v__\n }\n }\n get income() { return this['_income'] }\n set income(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_income'])) {\n setDirtyFlag()\n this['_income'] = __v__\n }\n }\n get incomeperiod() { return this['_incomeperiod'] }\n set incomeperiod(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_incomeperiod'])) {\n setDirtyFlag()\n this['_incomeperiod'] = __v__\n }\n }\n get selfemployed() { return this['_selfemployed'] }\n set selfemployed(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_selfemployed'])) {\n setDirtyFlag()\n this['_selfemployed'] = __v__\n }\n }\n get employedbyagent() { return this['_employedbyagent'] }\n set employedbyagent(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_employedbyagent'])) {\n setDirtyFlag()\n this['_employedbyagent'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new previousoccupation()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.employername = __a__['employername']\n cls.employeraddress = __a__['employeraddress']\n cls.from = __a__['from']\n cls.to = __a__['to']\n cls.positiontitle = __a__['positiontitle']\n cls.typeofbusiness = __a__['typeofbusiness']\n cls.phone = __a__['phone']\n cls.income = __a__['income']\n cls.incomeperiod = __a__['incomeperiod']\n cls.selfemployed = __a__['selfemployed']\n cls.employedbyagent = __a__['employedbyagent']\n cls.key = __a__['key']\n } else {\n doAlert(`previousoccupation: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class product {\n constructor() {\n this['_lendername'] = ''\n this['_lenderinfo'] = new lender()\n this['_productname'] = ''\n this['_mortgageapplied'] = 'conventional'\n this['_othermortgage'] = ''\n this['_agencycasenumber'] = ''\n this['_lendercasenumber'] = ''\n this['_interestrate'] = ''\n this['_mortgageterm'] = 'year30'\n this['_mortgagetermmonths'] = 0\n this['_amortization'] = 'fixed'\n this['_otheramortization'] = ''\n }\n get lendername() { return this['_lendername'] }\n set lendername(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lendername'])) {\n setDirtyFlag()\n this['_lendername'] = __v__\n }\n }\n get lenderinfo() { return this['_lenderinfo'] }\n set lenderinfo(__a__) {\n setDirtyFlag()\n this['_lenderinfo'] = __a__\n }\n get productname() { return this['_productname'] }\n set productname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_productname'])) {\n setDirtyFlag()\n this['_productname'] = __v__\n }\n }\n get mortgageapplied() { return this['_mortgageapplied'] }\n set mortgageapplied(__a__) {\n let __v__ = enumReader(['conventional','va','fha','usda','nonconventional','nonqm','landloan','constructionloan','heloc','hardmoneyloan','other'],'conventional')(__a__)\n if(!_.isEqual(__v__,this['_mortgageapplied'])) {\n setDirtyFlag()\n this['_mortgageapplied'] = __v__\n }\n }\n get othermortgage() { return this['_othermortgage'] }\n set othermortgage(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_othermortgage'])) {\n setDirtyFlag()\n this['_othermortgage'] = __v__\n }\n }\n get agencycasenumber() { return this['_agencycasenumber'] }\n set agencycasenumber(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_agencycasenumber'])) {\n setDirtyFlag()\n this['_agencycasenumber'] = __v__\n }\n }\n get lendercasenumber() { return this['_lendercasenumber'] }\n set lendercasenumber(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lendercasenumber'])) {\n setDirtyFlag()\n this['_lendercasenumber'] = __v__\n }\n }\n get interestrate() { return this['_interestrate'] }\n set interestrate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_interestrate'])) {\n setDirtyFlag()\n this['_interestrate'] = __v__\n }\n }\n get mortgageterm() { return this['_mortgageterm'] }\n set mortgageterm(__a__) {\n let __v__ = enumReader(['year30','year25','year20','year15','year10','year7','year5','other'],'year30')(__a__)\n if(!_.isEqual(__v__,this['_mortgageterm'])) {\n setDirtyFlag()\n this['_mortgageterm'] = __v__\n }\n }\n get mortgagetermmonths() { return this['_mortgagetermmonths'] }\n set mortgagetermmonths(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_mortgagetermmonths'])) {\n setDirtyFlag()\n this['_mortgagetermmonths'] = __v__\n }\n }\n get amortization() { return this['_amortization'] }\n set amortization(__a__) {\n let __v__ = enumReader(['fixed','fixed-biweekly','arm51','arm71','arm101','arm56','arm76','arm106','gpm','interestonly','statedincome','baloon','otheramortization','buydown321','buydown21','buydown11'],'fixed')(__a__)\n if(!_.isEqual(__v__,this['_amortization'])) {\n setDirtyFlag()\n this['_amortization'] = __v__\n }\n }\n get otheramortization() { return this['_otheramortization'] }\n set otheramortization(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_otheramortization'])) {\n setDirtyFlag()\n this['_otheramortization'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new product()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.lendername = __a__['lendername']\n cls.lenderinfo = lender.fromJson(__a__['lenderinfo'])\n cls.productname = __a__['productname']\n cls.mortgageapplied = __a__['mortgageapplied']\n cls.othermortgage = __a__['othermortgage']\n cls.agencycasenumber = __a__['agencycasenumber']\n cls.lendercasenumber = __a__['lendercasenumber']\n cls.interestrate = __a__['interestrate']\n cls.mortgageterm = __a__['mortgageterm']\n cls.mortgagetermmonths = __a__['mortgagetermmonths']\n cls.amortization = __a__['amortization']\n cls.otheramortization = __a__['otheramortization']\n } else {\n doAlert(`product: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class productfeatures {\n constructor() {\n this['_hasprepaymentpenalty'] = false\n this['_prepaymentpenaltyamount'] = 0\n this['_prepaymentpenaltyterm'] = 0\n this['_hasballoonpayment'] = false\n this['_balloonpaymentamount'] = 0\n this['_baloonpaymentterm'] = 0\n }\n get hasprepaymentpenalty() { return this['_hasprepaymentpenalty'] }\n set hasprepaymentpenalty(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hasprepaymentpenalty'])) {\n setDirtyFlag()\n this['_hasprepaymentpenalty'] = __v__\n }\n }\n get prepaymentpenaltyamount() { return this['_prepaymentpenaltyamount'] }\n set prepaymentpenaltyamount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_prepaymentpenaltyamount'])) {\n setDirtyFlag()\n this['_prepaymentpenaltyamount'] = __v__\n }\n }\n get prepaymentpenaltyterm() { return this['_prepaymentpenaltyterm'] }\n set prepaymentpenaltyterm(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_prepaymentpenaltyterm'])) {\n setDirtyFlag()\n this['_prepaymentpenaltyterm'] = __v__\n }\n }\n get hasballoonpayment() { return this['_hasballoonpayment'] }\n set hasballoonpayment(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hasballoonpayment'])) {\n setDirtyFlag()\n this['_hasballoonpayment'] = __v__\n }\n }\n get balloonpaymentamount() { return this['_balloonpaymentamount'] }\n set balloonpaymentamount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_balloonpaymentamount'])) {\n setDirtyFlag()\n this['_balloonpaymentamount'] = __v__\n }\n }\n get baloonpaymentterm() { return this['_baloonpaymentterm'] }\n set baloonpaymentterm(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_baloonpaymentterm'])) {\n setDirtyFlag()\n this['_baloonpaymentterm'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new productfeatures()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.hasprepaymentpenalty = __a__['hasprepaymentpenalty']\n cls.prepaymentpenaltyamount = __a__['prepaymentpenaltyamount']\n cls.prepaymentpenaltyterm = __a__['prepaymentpenaltyterm']\n cls.hasballoonpayment = __a__['hasballoonpayment']\n cls.balloonpaymentamount = __a__['balloonpaymentamount']\n cls.baloonpaymentterm = __a__['baloonpaymentterm']\n } else {\n doAlert(`productfeatures: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class progress {\n constructor() {\n this['_stage'] = ''\n this['_interview'] = new interviewstep()\n this['_loinput'] = new step()\n this['_tasks'] = new tasks()\n this['_lasttouch'] = null\n }\n get stage() { return this['_stage'] }\n set stage(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_stage'])) {\n setDirtyFlag()\n this['_stage'] = __v__\n }\n }\n get interview() { return this['_interview'] }\n set interview(__a__) {\n setDirtyFlag()\n this['_interview'] = __a__\n }\n get loinput() { return this['_loinput'] }\n set loinput(__a__) {\n setDirtyFlag()\n this['_loinput'] = __a__\n }\n get tasks() { return this['_tasks'] }\n set tasks(__a__) {\n setDirtyFlag()\n this['_tasks'] = __a__\n }\n get lasttouch() { return this['_lasttouch'] }\n set lasttouch(__a__) {\n if(__a__ == null) {\n if(this['_lasttouch'] == null) { return }\n setDirtyFlag()\n this['_lasttouch'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lasttouch'])) {\n setDirtyFlag()\n this['_lasttouch'] = __v__\n }\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new progress()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.stage = __a__['stage']\n cls.interview = interviewstep.fromJson(__a__['interview'])\n cls.loinput = step.fromJson(__a__['loinput'])\n cls.tasks = tasks.fromJson(__a__['tasks'])\n cls.lasttouch = __a__['lasttouch'] == null ? null : __a__['lasttouch']\n } else {\n doAlert(`progress: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class property {\n constructor() {\n this['_address'] = ''\n this['_ownedfreeandclear'] = null\n this['_creditor'] = null\n this['_account'] = null\n this['_status'] = 'pending'\n this['_propertytype'] = 'singlefamilyattached'\n this['_marketvalue'] = ''\n this['_liens'] = ''\n this['_grossrentalincome'] = ''\n this['_payment'] = ''\n this['_insurancemaintenancetaxes'] = ''\n this['_netrentalincome'] = ''\n this['_attribution'] = null\n this['_key'] = ''\n }\n get address() { return this['_address'] }\n set address(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_address'])) {\n setDirtyFlag()\n this['_address'] = __v__\n }\n }\n get ownedfreeandclear() { return this['_ownedfreeandclear'] }\n set ownedfreeandclear(__a__) {\n if(__a__ == null) {\n if(this['_ownedfreeandclear'] == null) { return }\n setDirtyFlag()\n this['_ownedfreeandclear'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_ownedfreeandclear'])) {\n setDirtyFlag()\n this['_ownedfreeandclear'] = __v__\n }\n }\n }\n get creditor() { return this['_creditor'] }\n set creditor(__a__) {\n if(__a__ == null) {\n if(this['_creditor'] == null) { return }\n setDirtyFlag()\n this['_creditor'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_creditor'])) {\n setDirtyFlag()\n this['_creditor'] = __v__\n }\n }\n }\n get account() { return this['_account'] }\n set account(__a__) {\n if(__a__ == null) {\n if(this['_account'] == null) { return }\n setDirtyFlag()\n this['_account'] = null\n return\n } else {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_account'])) {\n setDirtyFlag()\n this['_account'] = __v__\n }\n }\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['pending','sold','retained'],'pending')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n let __v__ = enumReader(['singlefamilyattached','singlefamilydetached','condominium','condominiumdetached','pudattached','puddetached','twotofourfamily','twofamily','threefamily','fourfamily','multistory','manufacturedhome','land','commercial','townhouse','mixeduse','mobilehome'],'singlefamilyattached')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n get marketvalue() { return this['_marketvalue'] }\n set marketvalue(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_marketvalue'])) {\n setDirtyFlag()\n this['_marketvalue'] = __v__\n }\n }\n get liens() { return this['_liens'] }\n set liens(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_liens'])) {\n setDirtyFlag()\n this['_liens'] = __v__\n }\n }\n get grossrentalincome() { return this['_grossrentalincome'] }\n set grossrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_grossrentalincome'])) {\n setDirtyFlag()\n this['_grossrentalincome'] = __v__\n }\n }\n get payment() { return this['_payment'] }\n set payment(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_payment'])) {\n setDirtyFlag()\n this['_payment'] = __v__\n }\n }\n get insurancemaintenancetaxes() { return this['_insurancemaintenancetaxes'] }\n set insurancemaintenancetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_insurancemaintenancetaxes'])) {\n setDirtyFlag()\n this['_insurancemaintenancetaxes'] = __v__\n }\n }\n get netrentalincome() { return this['_netrentalincome'] }\n set netrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_netrentalincome'])) {\n setDirtyFlag()\n this['_netrentalincome'] = __v__\n }\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n if(__a__ == null) {\n if(this['_attribution'] == null) { return }\n setDirtyFlag()\n this['_attribution'] = null\n return\n } else {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new property()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.address = __a__['address']\n cls.ownedfreeandclear = __a__['ownedfreeandclear'] == null ? null : __a__['ownedfreeandclear']\n cls.creditor = __a__['creditor'] == null ? null : __a__['creditor']\n cls.account = __a__['account'] == null ? null : __a__['account']\n cls.status = __a__['status']\n cls.propertytype = __a__['propertytype']\n cls.marketvalue = __a__['marketvalue']\n cls.liens = __a__['liens']\n cls.grossrentalincome = __a__['grossrentalincome']\n cls.payment = __a__['payment']\n cls.insurancemaintenancetaxes = __a__['insurancemaintenancetaxes']\n cls.netrentalincome = __a__['netrentalincome']\n cls.attribution = __a__['attribution'] == null ? null : __a__['attribution']\n cls.key = __a__['key']\n } else {\n doAlert(`property: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class propertyflippingexperience {\n constructor() {\n this['_streetline1'] = ''\n this['_streetline2'] = ''\n this['_city'] = ''\n this['_state'] = ''\n this['_county'] = ''\n this['_zip'] = ''\n this['_purchaseprice'] = ''\n this['_purchasedate'] = ''\n this['_ownershipontitle'] = ''\n this['_propertytype'] = 'singlefamilyattached'\n this['_rehabbudget'] = ''\n this['_salesprice'] = ''\n this['_datesold'] = ''\n this['_profitorloss'] = ''\n }\n get streetline1() { return this['_streetline1'] }\n set streetline1(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline1'])) {\n setDirtyFlag()\n this['_streetline1'] = __v__\n }\n }\n get streetline2() { return this['_streetline2'] }\n set streetline2(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline2'])) {\n setDirtyFlag()\n this['_streetline2'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get county() { return this['_county'] }\n set county(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_county'])) {\n setDirtyFlag()\n this['_county'] = __v__\n }\n }\n get zip() { return this['_zip'] }\n set zip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zip'])) {\n setDirtyFlag()\n this['_zip'] = __v__\n }\n }\n get purchaseprice() { return this['_purchaseprice'] }\n set purchaseprice(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_purchaseprice'])) {\n setDirtyFlag()\n this['_purchaseprice'] = __v__\n }\n }\n get purchasedate() { return this['_purchasedate'] }\n set purchasedate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_purchasedate'])) {\n setDirtyFlag()\n this['_purchasedate'] = __v__\n }\n }\n get ownershipontitle() { return this['_ownershipontitle'] }\n set ownershipontitle(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_ownershipontitle'])) {\n setDirtyFlag()\n this['_ownershipontitle'] = __v__\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n let __v__ = enumReader(['singlefamilyattached','singlefamilydetached','condominium','condominiumdetached','pudattached','puddetached','twotofourfamily','twofamily','threefamily','fourfamily','multistory','manufacturedhome','land','commercial','townhouse','mixeduse','mobilehome'],'singlefamilyattached')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n get rehabbudget() { return this['_rehabbudget'] }\n set rehabbudget(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rehabbudget'])) {\n setDirtyFlag()\n this['_rehabbudget'] = __v__\n }\n }\n get salesprice() { return this['_salesprice'] }\n set salesprice(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_salesprice'])) {\n setDirtyFlag()\n this['_salesprice'] = __v__\n }\n }\n get datesold() { return this['_datesold'] }\n set datesold(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_datesold'])) {\n setDirtyFlag()\n this['_datesold'] = __v__\n }\n }\n get profitorloss() { return this['_profitorloss'] }\n set profitorloss(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_profitorloss'])) {\n setDirtyFlag()\n this['_profitorloss'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new propertyflippingexperience()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.streetline1 = __a__['streetline1']\n cls.streetline2 = __a__['streetline2']\n cls.city = __a__['city']\n cls.state = __a__['state']\n cls.county = __a__['county']\n cls.zip = __a__['zip']\n cls.purchaseprice = __a__['purchaseprice']\n cls.purchasedate = __a__['purchasedate']\n cls.ownershipontitle = __a__['ownershipontitle']\n cls.propertytype = __a__['propertytype']\n cls.rehabbudget = __a__['rehabbudget']\n cls.salesprice = __a__['salesprice']\n cls.datesold = __a__['datesold']\n cls.profitorloss = __a__['profitorloss']\n } else {\n doAlert(`propertyflippingexperience: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class publicrecord {\n constructor() {\n this['_accountownershiptype'] = 'Individual'\n this['_courtname'] = ''\n this['_dispositiondate'] = ''\n this['_dispositiontype'] = 'Adjudicated'\n this['_dispositiontypeotherdescription'] = ''\n this['_fileddate'] = ''\n this['_amount'] = ''\n this['_plaintiffname'] = ''\n this['_recordtype'] = 'Annulment'\n this['_recordtypeotherdescription'] = ''\n }\n get accountownershiptype() { return this['_accountownershiptype'] }\n set accountownershiptype(__a__) {\n let __v__ = enumReader(['Individual','Joint','Terminated'],'Individual')(__a__)\n if(!_.isEqual(__v__,this['_accountownershiptype'])) {\n setDirtyFlag()\n this['_accountownershiptype'] = __v__\n }\n }\n get courtname() { return this['_courtname'] }\n set courtname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_courtname'])) {\n setDirtyFlag()\n this['_courtname'] = __v__\n }\n }\n get dispositiondate() { return this['_dispositiondate'] }\n set dispositiondate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_dispositiondate'])) {\n setDirtyFlag()\n this['_dispositiondate'] = __v__\n }\n }\n get dispositiontype() { return this['_dispositiontype'] }\n set dispositiontype(__a__) {\n let __v__ = enumReader(['Adjudicated','Appealed','Canceled','Completed','Converted','Discharged','Dismissed','Distributed','Filed','Granted','InvoluntarilyDischarged','Nonadjudicated','Other','Paid','PaidNotSatisfied','Pending','RealEstateSold','Released','Rescinded','Satisfied','Settled','Unknown','Unreleased','Unsatisfied','Vacated','VoluntarilyDischarged','Withdrawn'],'Adjudicated')(__a__)\n if(!_.isEqual(__v__,this['_dispositiontype'])) {\n setDirtyFlag()\n this['_dispositiontype'] = __v__\n }\n }\n get dispositiontypeotherdescription() { return this['_dispositiontypeotherdescription'] }\n set dispositiontypeotherdescription(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_dispositiontypeotherdescription'])) {\n setDirtyFlag()\n this['_dispositiontypeotherdescription'] = __v__\n }\n }\n get fileddate() { return this['_fileddate'] }\n set fileddate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_fileddate'])) {\n setDirtyFlag()\n this['_fileddate'] = __v__\n }\n }\n get amount() { return this['_amount'] }\n set amount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_amount'])) {\n setDirtyFlag()\n this['_amount'] = __v__\n }\n }\n get plaintiffname() { return this['_plaintiffname'] }\n set plaintiffname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_plaintiffname'])) {\n setDirtyFlag()\n this['_plaintiffname'] = __v__\n }\n }\n get recordtype() { return this['_recordtype'] }\n set recordtype(__a__) {\n let __v__ = enumReader(['Annulment','Attachment','BankruptcyChapter11','BankruptcyChapter12','BankruptcyChapter13','BankruptcyChapter7','BankruptcyChapter7Involuntary','BankruptcyChapter7Voluntary','BankruptcyTypeUnknown','ChildSupport','Collection','CustodyAgreement','DivorceDecree','FamilySupport','FictitiousName','FinancialCounseling','FinancingStatement','ForcibleDetainer','Foreclosure','Garnishment','Judgment','LawSuit','Lien','MechanicsLien','MedicalLien','NonResponsibility','NoticeOfDefault','Other','PublicSale','RealEstateRecording','Repossession','SpouseSupport','SupportDebt','TaxLienCity','TaxLienCounty','TaxLienFederal','TaxLienOther','TaxLienState','Trusteeship','Unknown','UnlawfulDetainer'],'Annulment')(__a__)\n if(!_.isEqual(__v__,this['_recordtype'])) {\n setDirtyFlag()\n this['_recordtype'] = __v__\n }\n }\n get recordtypeotherdescription() { return this['_recordtypeotherdescription'] }\n set recordtypeotherdescription(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_recordtypeotherdescription'])) {\n setDirtyFlag()\n this['_recordtypeotherdescription'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new publicrecord()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.accountownershiptype = __a__['accountownershiptype']\n cls.courtname = __a__['courtname']\n cls.dispositiondate = __a__['dispositiondate']\n cls.dispositiontype = __a__['dispositiontype']\n cls.dispositiontypeotherdescription = __a__['dispositiontypeotherdescription']\n cls.fileddate = __a__['fileddate']\n cls.amount = __a__['amount']\n cls.plaintiffname = __a__['plaintiffname']\n cls.recordtype = __a__['recordtype']\n cls.recordtypeotherdescription = __a__['recordtypeotherdescription']\n } else {\n doAlert(`publicrecord: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class publicrecordwithattribution {\n constructor() {\n this['_attribution'] = 0\n this['_publicrecord'] = new publicrecord()\n }\n get attribution() { return this['_attribution'] }\n set attribution(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_attribution'])) {\n setDirtyFlag()\n this['_attribution'] = __v__\n }\n }\n get publicrecord() { return this['_publicrecord'] }\n set publicrecord(__a__) {\n setDirtyFlag()\n this['_publicrecord'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new publicrecordwithattribution()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.attribution = __a__['attribution']\n cls.publicrecord = publicrecord.fromJson(__a__['publicrecord'])\n } else {\n doAlert(`publicrecordwithattribution: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class purchase {\n constructor() {\n this['_expectedgrossmonthlyrentalincome'] = ''\n this['_expectednetmonthlyrentalincome'] = ''\n }\n get expectedgrossmonthlyrentalincome() { return this['_expectedgrossmonthlyrentalincome'] }\n set expectedgrossmonthlyrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_expectedgrossmonthlyrentalincome'])) {\n setDirtyFlag()\n this['_expectedgrossmonthlyrentalincome'] = __v__\n }\n }\n get expectednetmonthlyrentalincome() { return this['_expectednetmonthlyrentalincome'] }\n set expectednetmonthlyrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_expectednetmonthlyrentalincome'])) {\n setDirtyFlag()\n this['_expectednetmonthlyrentalincome'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new purchase()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.expectedgrossmonthlyrentalincome = __a__['expectedgrossmonthlyrentalincome']\n cls.expectednetmonthlyrentalincome = __a__['expectednetmonthlyrentalincome']\n } else {\n doAlert(`purchase: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class refinance {\n constructor() {\n this['_yearacquired'] = ''\n this['_originalcost'] = ''\n this['_existingliens'] = ''\n this['_currentrate'] = ''\n this['_currentprogram'] = 'fixed'\n this['_purpose'] = 'debtconsolidation'\n this['_improvementsdesc'] = ''\n this['_improvementsstatus'] = 'noimprovements'\n this['_cost'] = '0'\n this['_estimatedpayoffsandpayments'] = '0'\n this['_explainotherpurpose'] = ''\n }\n get yearacquired() { return this['_yearacquired'] }\n set yearacquired(__a__) {\n let __v__ = YearSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearacquired'])) {\n setDirtyFlag()\n this['_yearacquired'] = __v__\n }\n }\n get originalcost() { return this['_originalcost'] }\n set originalcost(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_originalcost'])) {\n setDirtyFlag()\n this['_originalcost'] = __v__\n }\n }\n get existingliens() { return this['_existingliens'] }\n set existingliens(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingliens'])) {\n setDirtyFlag()\n this['_existingliens'] = __v__\n }\n }\n get currentrate() { return this['_currentrate'] }\n set currentrate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_currentrate'])) {\n setDirtyFlag()\n this['_currentrate'] = __v__\n }\n }\n get currentprogram() { return this['_currentprogram'] }\n set currentprogram(__a__) {\n let __v__ = enumReader(['fixed','arm','baloon','heloc','negativeamortization','interestonly','noloan'],'fixed')(__a__)\n if(!_.isEqual(__v__,this['_currentprogram'])) {\n setDirtyFlag()\n this['_currentprogram'] = __v__\n }\n }\n get purpose() { return this['_purpose'] }\n set purpose(__a__) {\n let __v__ = enumReader(['debtconsolidation','homeimprovement','paytorelatives','cashforreserves','paidcashforsubjectproperty','payingoffheloc','payingotherproperties','payingstudentloans','other'],'debtconsolidation')(__a__)\n if(!_.isEqual(__v__,this['_purpose'])) {\n setDirtyFlag()\n this['_purpose'] = __v__\n }\n }\n get improvementsdesc() { return this['_improvementsdesc'] }\n set improvementsdesc(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_improvementsdesc'])) {\n setDirtyFlag()\n this['_improvementsdesc'] = __v__\n }\n }\n get improvementsstatus() { return this['_improvementsstatus'] }\n set improvementsstatus(__a__) {\n let __v__ = enumReader(['noimprovements','made','tobemade'],'noimprovements')(__a__)\n if(!_.isEqual(__v__,this['_improvementsstatus'])) {\n setDirtyFlag()\n this['_improvementsstatus'] = __v__\n }\n }\n get cost() { return this['_cost'] }\n set cost(__a__) {\n let __v__ = DollarSReader('0')(__a__)\n if(!_.isEqual(__v__,this['_cost'])) {\n setDirtyFlag()\n this['_cost'] = __v__\n }\n }\n get estimatedpayoffsandpayments() { return this['_estimatedpayoffsandpayments'] }\n set estimatedpayoffsandpayments(__a__) {\n let __v__ = DollarSReader('0')(__a__)\n if(!_.isEqual(__v__,this['_estimatedpayoffsandpayments'])) {\n setDirtyFlag()\n this['_estimatedpayoffsandpayments'] = __v__\n }\n }\n get explainotherpurpose() { return this['_explainotherpurpose'] }\n set explainotherpurpose(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_explainotherpurpose'])) {\n setDirtyFlag()\n this['_explainotherpurpose'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new refinance()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.yearacquired = __a__['yearacquired']\n cls.originalcost = __a__['originalcost']\n cls.existingliens = __a__['existingliens']\n cls.currentrate = __a__['currentrate']\n cls.currentprogram = __a__['currentprogram']\n cls.purpose = __a__['purpose']\n cls.improvementsdesc = __a__['improvementsdesc']\n cls.improvementsstatus = __a__['improvementsstatus']\n cls.cost = __a__['cost']\n cls.estimatedpayoffsandpayments = __a__['estimatedpayoffsandpayments']\n cls.explainotherpurpose = __a__['explainotherpurpose']\n } else {\n doAlert(`refinance: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class refinancedetails {\n constructor() {\n this['_originalPurchasePrice'] = ''\n this['_dateOfPurchase'] = ''\n this['_estimatedCurrentValue'] = ''\n this['_existingLoanAmount'] = ''\n this['_existingLender'] = ''\n this['_existingLoanRate'] = ''\n this['_existingLoanMaturityDate'] = ''\n this['_subordinateDebt'] = false\n this['_midConstruction'] = false\n }\n get originalPurchasePrice() { return this['_originalPurchasePrice'] }\n set originalPurchasePrice(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_originalPurchasePrice'])) {\n setDirtyFlag()\n this['_originalPurchasePrice'] = __v__\n }\n }\n get dateOfPurchase() { return this['_dateOfPurchase'] }\n set dateOfPurchase(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_dateOfPurchase'])) {\n setDirtyFlag()\n this['_dateOfPurchase'] = __v__\n }\n }\n get estimatedCurrentValue() { return this['_estimatedCurrentValue'] }\n set estimatedCurrentValue(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_estimatedCurrentValue'])) {\n setDirtyFlag()\n this['_estimatedCurrentValue'] = __v__\n }\n }\n get existingLoanAmount() { return this['_existingLoanAmount'] }\n set existingLoanAmount(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingLoanAmount'])) {\n setDirtyFlag()\n this['_existingLoanAmount'] = __v__\n }\n }\n get existingLender() { return this['_existingLender'] }\n set existingLender(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingLender'])) {\n setDirtyFlag()\n this['_existingLender'] = __v__\n }\n }\n get existingLoanRate() { return this['_existingLoanRate'] }\n set existingLoanRate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingLoanRate'])) {\n setDirtyFlag()\n this['_existingLoanRate'] = __v__\n }\n }\n get existingLoanMaturityDate() { return this['_existingLoanMaturityDate'] }\n set existingLoanMaturityDate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_existingLoanMaturityDate'])) {\n setDirtyFlag()\n this['_existingLoanMaturityDate'] = __v__\n }\n }\n get subordinateDebt() { return this['_subordinateDebt'] }\n set subordinateDebt(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_subordinateDebt'])) {\n setDirtyFlag()\n this['_subordinateDebt'] = __v__\n }\n }\n get midConstruction() { return this['_midConstruction'] }\n set midConstruction(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_midConstruction'])) {\n setDirtyFlag()\n this['_midConstruction'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new refinancedetails()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.originalPurchasePrice = __a__['originalPurchasePrice']\n cls.dateOfPurchase = __a__['dateOfPurchase']\n cls.estimatedCurrentValue = __a__['estimatedCurrentValue']\n cls.existingLoanAmount = __a__['existingLoanAmount']\n cls.existingLender = __a__['existingLender']\n cls.existingLoanRate = __a__['existingLoanRate']\n cls.existingLoanMaturityDate = __a__['existingLoanMaturityDate']\n cls.subordinateDebt = __a__['subordinateDebt']\n cls.midConstruction = __a__['midConstruction']\n } else {\n doAlert(`refinancedetails: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class rehabdetails {\n constructor() {\n this['_rehabremaining'] = ''\n this['_rehabcostspenttodate'] = ''\n this['_addingsqft'] = false\n this['_sqftadded'] = ''\n this['_addingunits'] = false\n }\n get rehabremaining() { return this['_rehabremaining'] }\n set rehabremaining(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rehabremaining'])) {\n setDirtyFlag()\n this['_rehabremaining'] = __v__\n }\n }\n get rehabcostspenttodate() { return this['_rehabcostspenttodate'] }\n set rehabcostspenttodate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_rehabcostspenttodate'])) {\n setDirtyFlag()\n this['_rehabcostspenttodate'] = __v__\n }\n }\n get addingsqft() { return this['_addingsqft'] }\n set addingsqft(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_addingsqft'])) {\n setDirtyFlag()\n this['_addingsqft'] = __v__\n }\n }\n get sqftadded() { return this['_sqftadded'] }\n set sqftadded(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_sqftadded'])) {\n setDirtyFlag()\n this['_sqftadded'] = __v__\n }\n }\n get addingunits() { return this['_addingunits'] }\n set addingunits(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_addingunits'])) {\n setDirtyFlag()\n this['_addingunits'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new rehabdetails()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.rehabremaining = __a__['rehabremaining']\n cls.rehabcostspenttodate = __a__['rehabcostspenttodate']\n cls.addingsqft = __a__['addingsqft']\n cls.sqftadded = __a__['sqftadded']\n cls.addingunits = __a__['addingunits']\n } else {\n doAlert(`rehabdetails: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class remotecoborrower {\n constructor() {\n this['_firstname'] = ''\n this['_lastname'] = ''\n this['_email'] = ''\n this['_invitationsent'] = false\n this['_status'] = 'created'\n this['_usetoqualify'] = true\n this['_key'] = ''\n }\n get firstname() { return this['_firstname'] }\n set firstname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_firstname'])) {\n setDirtyFlag()\n this['_firstname'] = __v__\n }\n }\n get lastname() { return this['_lastname'] }\n set lastname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lastname'])) {\n setDirtyFlag()\n this['_lastname'] = __v__\n }\n }\n get email() { return this['_email'] }\n set email(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_email'])) {\n setDirtyFlag()\n this['_email'] = __v__\n }\n }\n get invitationsent() { return this['_invitationsent'] }\n set invitationsent(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_invitationsent'])) {\n setDirtyFlag()\n this['_invitationsent'] = __v__\n }\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['created','invited','accepted','prequalified','fullyfilled','documentsdone'],'created')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get usetoqualify() { return this['_usetoqualify'] }\n set usetoqualify(__a__) {\n let __v__ = boolReader(true)(__a__)\n if(!_.isEqual(__v__,this['_usetoqualify'])) {\n setDirtyFlag()\n this['_usetoqualify'] = __v__\n }\n }\n get key() { return this['_key'] }\n set key(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_key'])) {\n setDirtyFlag()\n this['_key'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new remotecoborrower()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.firstname = __a__['firstname']\n cls.lastname = __a__['lastname']\n cls.email = __a__['email']\n cls.invitationsent = __a__['invitationsent']\n cls.status = __a__['status']\n cls.usetoqualify = __a__['usetoqualify']\n cls.key = __a__['key']\n } else {\n doAlert(`remotecoborrower: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class rentalpropertyexperience {\n constructor() {\n this['_streetline1'] = ''\n this['_streetline2'] = ''\n this['_city'] = ''\n this['_county'] = ''\n this['_state'] = ''\n this['_zip'] = ''\n this['_ownershipontitle'] = ''\n this['_propertytype'] = 'singlefamilyattached'\n this['_purchaseprice'] = ''\n this['_purchasedate'] = ''\n this['_tenantoccupied'] = false\n this['_monthlyrent'] = ''\n this['_datesold'] = ''\n this['_profitorloss'] = ''\n }\n get streetline1() { return this['_streetline1'] }\n set streetline1(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline1'])) {\n setDirtyFlag()\n this['_streetline1'] = __v__\n }\n }\n get streetline2() { return this['_streetline2'] }\n set streetline2(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_streetline2'])) {\n setDirtyFlag()\n this['_streetline2'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get county() { return this['_county'] }\n set county(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_county'])) {\n setDirtyFlag()\n this['_county'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get zip() { return this['_zip'] }\n set zip(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zip'])) {\n setDirtyFlag()\n this['_zip'] = __v__\n }\n }\n get ownershipontitle() { return this['_ownershipontitle'] }\n set ownershipontitle(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_ownershipontitle'])) {\n setDirtyFlag()\n this['_ownershipontitle'] = __v__\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n let __v__ = enumReader(['singlefamilyattached','singlefamilydetached','condominium','condominiumdetached','pudattached','puddetached','twotofourfamily','twofamily','threefamily','fourfamily','multistory','manufacturedhome','land','commercial','townhouse','mixeduse','mobilehome'],'singlefamilyattached')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n get purchaseprice() { return this['_purchaseprice'] }\n set purchaseprice(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_purchaseprice'])) {\n setDirtyFlag()\n this['_purchaseprice'] = __v__\n }\n }\n get purchasedate() { return this['_purchasedate'] }\n set purchasedate(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_purchasedate'])) {\n setDirtyFlag()\n this['_purchasedate'] = __v__\n }\n }\n get tenantoccupied() { return this['_tenantoccupied'] }\n set tenantoccupied(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_tenantoccupied'])) {\n setDirtyFlag()\n this['_tenantoccupied'] = __v__\n }\n }\n get monthlyrent() { return this['_monthlyrent'] }\n set monthlyrent(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_monthlyrent'])) {\n setDirtyFlag()\n this['_monthlyrent'] = __v__\n }\n }\n get datesold() { return this['_datesold'] }\n set datesold(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_datesold'])) {\n setDirtyFlag()\n this['_datesold'] = __v__\n }\n }\n get profitorloss() { return this['_profitorloss'] }\n set profitorloss(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_profitorloss'])) {\n setDirtyFlag()\n this['_profitorloss'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new rentalpropertyexperience()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.streetline1 = __a__['streetline1']\n cls.streetline2 = __a__['streetline2']\n cls.city = __a__['city']\n cls.county = __a__['county']\n cls.state = __a__['state']\n cls.zip = __a__['zip']\n cls.ownershipontitle = __a__['ownershipontitle']\n cls.propertytype = __a__['propertytype']\n cls.purchaseprice = __a__['purchaseprice']\n cls.purchasedate = __a__['purchasedate']\n cls.tenantoccupied = __a__['tenantoccupied']\n cls.monthlyrent = __a__['monthlyrent']\n cls.datesold = __a__['datesold']\n cls.profitorloss = __a__['profitorloss']\n } else {\n doAlert(`rentalpropertyexperience: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class score {\n constructor() {\n this['_score'] = 0\n this['_min'] = 0\n this['_max'] = 0\n this['_factors'] = []\n }\n get score() { return this['_score'] }\n set score(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_score'])) {\n setDirtyFlag()\n this['_score'] = __v__\n }\n }\n get min() { return this['_min'] }\n set min(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_min'])) {\n setDirtyFlag()\n this['_min'] = __v__\n }\n }\n get max() { return this['_max'] }\n set max(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_max'])) {\n setDirtyFlag()\n this['_max'] = __v__\n }\n }\n get factors() { return this['_factors'] }\n set factors(__a__) {\n setDirtyFlag()\n this['_factors'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new score()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.score = __a__['score']\n cls.min = __a__['min']\n cls.max = __a__['max']\n cls.factors = array1Reader(stringReader(''))(__a__['factors'])\n } else {\n doAlert(`score: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class scores {\n constructor() {\n this['_equifax'] = null\n this['_experian'] = null\n this['_transunion'] = null\n }\n get equifax() { return this['_equifax'] }\n set equifax(__a__) {\n if(__a__ == null) {\n if(this['_equifax'] == null) { return }\n setDirtyFlag()\n this['_equifax'] = null\n return\n } else {\n setDirtyFlag()\n this['_equifax'] = __a__\n }\n }\n get experian() { return this['_experian'] }\n set experian(__a__) {\n if(__a__ == null) {\n if(this['_experian'] == null) { return }\n setDirtyFlag()\n this['_experian'] = null\n return\n } else {\n setDirtyFlag()\n this['_experian'] = __a__\n }\n }\n get transunion() { return this['_transunion'] }\n set transunion(__a__) {\n if(__a__ == null) {\n if(this['_transunion'] == null) { return }\n setDirtyFlag()\n this['_transunion'] = null\n return\n } else {\n setDirtyFlag()\n this['_transunion'] = __a__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new scores()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.equifax = __a__['equifax'] == null ? null : score.fromJson(__a__['equifax'])\n cls.experian = __a__['experian'] == null ? null : score.fromJson(__a__['experian'])\n cls.transunion = __a__['transunion'] == null ? null : score.fromJson(__a__['transunion'])\n } else {\n doAlert(`scores: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class service {\n constructor() {\n this['_servicename'] = ''\n this['_estimateamount'] = 0\n this['_identifiedprovider'] = ''\n this['_contactinfo'] = ''\n }\n get servicename() { return this['_servicename'] }\n set servicename(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_servicename'])) {\n setDirtyFlag()\n this['_servicename'] = __v__\n }\n }\n get estimateamount() { return this['_estimateamount'] }\n set estimateamount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_estimateamount'])) {\n setDirtyFlag()\n this['_estimateamount'] = __v__\n }\n }\n get identifiedprovider() { return this['_identifiedprovider'] }\n set identifiedprovider(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_identifiedprovider'])) {\n setDirtyFlag()\n this['_identifiedprovider'] = __v__\n }\n }\n get contactinfo() { return this['_contactinfo'] }\n set contactinfo(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_contactinfo'])) {\n setDirtyFlag()\n this['_contactinfo'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new service()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.servicename = __a__['servicename']\n cls.estimateamount = __a__['estimateamount']\n cls.identifiedprovider = __a__['identifiedprovider']\n cls.contactinfo = __a__['contactinfo']\n } else {\n doAlert(`service: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class step {\n constructor() {\n this['_step'] = 0\n this['_max'] = 0\n }\n get step() { return this['_step'] }\n set step(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_step'])) {\n setDirtyFlag()\n this['_step'] = __v__\n }\n }\n get max() { return this['_max'] }\n set max(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_max'])) {\n setDirtyFlag()\n this['_max'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new step()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.step = __a__['step']\n cls.max = __a__['max']\n } else {\n doAlert(`step: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class subjectproperty {\n constructor() {\n this['_address'] = ''\n this['_state'] = ''\n this['_county'] = ''\n this['_city'] = ''\n this['_zipcode'] = ''\n this['_description'] = ''\n this['_occupancy'] = 'principal'\n this['_hascontract'] = null\n this['_propertytype'] = 'singlefamilyattached'\n this['_purpose'] = null\n this['_units'] = '1'\n this['_yearbuilt'] = ''\n this['_lookupsuccessful'] = false\n this['_inwhatname'] = ''\n this['_inwhatmanner'] = ''\n this['_estateheldin'] = 'feesimple'\n this['_expirationdate'] = ''\n this['_sources'] = ''\n this['_purchase'] = new purchase()\n this['_refinance'] = new refinance()\n this['_construction'] = new construction()\n this['_appraisal'] = ''\n this['_salesprice'] = ''\n this['_projectreview'] = new ProjectReview()\n this['_solarpanels'] = new SolarPanels()\n this['_qualifiesForFHAsecondary'] = null\n this['_isManufacturedHome'] = null\n this['_isMixedUse'] = null\n this['_expenses'] = null\n this['_status'] = 'pending'\n this['_insurancemaintenancetaxes'] = ''\n this['_netrentalincome'] = ''\n this['_loans'] = []\n this['_mobilehomeinfo'] = new MobileHomeInfo()\n }\n get address() { return this['_address'] }\n set address(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_address'])) {\n setDirtyFlag()\n this['_address'] = __v__\n }\n }\n get state() { return this['_state'] }\n set state(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_state'])) {\n setDirtyFlag()\n this['_state'] = __v__\n }\n }\n get county() { return this['_county'] }\n set county(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_county'])) {\n setDirtyFlag()\n this['_county'] = __v__\n }\n }\n get city() { return this['_city'] }\n set city(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_city'])) {\n setDirtyFlag()\n this['_city'] = __v__\n }\n }\n get zipcode() { return this['_zipcode'] }\n set zipcode(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_zipcode'])) {\n setDirtyFlag()\n this['_zipcode'] = __v__\n }\n }\n get description() { return this['_description'] }\n set description(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_description'])) {\n setDirtyFlag()\n this['_description'] = __v__\n }\n }\n get occupancy() { return this['_occupancy'] }\n set occupancy(__a__) {\n let __v__ = enumReader(['principal','secondhome','investment','fhasecond','other'],'principal')(__a__)\n if(!_.isEqual(__v__,this['_occupancy'])) {\n setDirtyFlag()\n this['_occupancy'] = __v__\n }\n }\n get hascontract() { return this['_hascontract'] }\n set hascontract(__a__) {\n if(__a__ == null) {\n if(this['_hascontract'] == null) { return }\n setDirtyFlag()\n this['_hascontract'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_hascontract'])) {\n setDirtyFlag()\n this['_hascontract'] = __v__\n }\n }\n }\n get propertytype() { return this['_propertytype'] }\n set propertytype(__a__) {\n let __v__ = enumReader(['singlefamilyattached','singlefamilydetached','condominium','condominiumdetached','pudattached','puddetached','twotofourfamily','twofamily','threefamily','fourfamily','multistory','manufacturedhome','land','commercial','townhouse','mixeduse','mobilehome'],'singlefamilyattached')(__a__)\n if(!_.isEqual(__v__,this['_propertytype'])) {\n setDirtyFlag()\n this['_propertytype'] = __v__\n }\n }\n get purpose() { return this['_purpose'] }\n set purpose(__a__) {\n if(__a__ == null) {\n if(this['_purpose'] == null) { return }\n setDirtyFlag()\n this['_purpose'] = null\n return\n } else {\n let __v__ = enumReader(['refinance','purchase','purchaserehab','construction','construction-permanent','improvement','cashoutrefinance'],'refinance')(__a__)\n if(!_.isEqual(__v__,this['_purpose'])) {\n setDirtyFlag()\n this['_purpose'] = __v__\n }\n }\n }\n get units() { return this['_units'] }\n set units(__a__) {\n let __v__ = IntSReader('1')(__a__)\n if(!_.isEqual(__v__,this['_units'])) {\n setDirtyFlag()\n this['_units'] = __v__\n }\n }\n get yearbuilt() { return this['_yearbuilt'] }\n set yearbuilt(__a__) {\n let __v__ = YearSReader('')(__a__)\n if(!_.isEqual(__v__,this['_yearbuilt'])) {\n setDirtyFlag()\n this['_yearbuilt'] = __v__\n }\n }\n get lookupsuccessful() { return this['_lookupsuccessful'] }\n set lookupsuccessful(__a__) {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_lookupsuccessful'])) {\n setDirtyFlag()\n this['_lookupsuccessful'] = __v__\n }\n }\n get inwhatname() { return this['_inwhatname'] }\n set inwhatname(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_inwhatname'])) {\n setDirtyFlag()\n this['_inwhatname'] = __v__\n }\n }\n get inwhatmanner() { return this['_inwhatmanner'] }\n set inwhatmanner(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_inwhatmanner'])) {\n setDirtyFlag()\n this['_inwhatmanner'] = __v__\n }\n }\n get estateheldin() { return this['_estateheldin'] }\n set estateheldin(__a__) {\n let __v__ = enumReader(['feesimple','leasehold'],'feesimple')(__a__)\n if(!_.isEqual(__v__,this['_estateheldin'])) {\n setDirtyFlag()\n this['_estateheldin'] = __v__\n }\n }\n get expirationdate() { return this['_expirationdate'] }\n set expirationdate(__a__) {\n let __v__ = DateSReader('')(__a__)\n if(!_.isEqual(__v__,this['_expirationdate'])) {\n setDirtyFlag()\n this['_expirationdate'] = __v__\n }\n }\n get sources() { return this['_sources'] }\n set sources(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_sources'])) {\n setDirtyFlag()\n this['_sources'] = __v__\n }\n }\n get purchase() { return this['_purchase'] }\n set purchase(__a__) {\n setDirtyFlag()\n this['_purchase'] = __a__\n }\n get refinance() { return this['_refinance'] }\n set refinance(__a__) {\n setDirtyFlag()\n this['_refinance'] = __a__\n }\n get construction() { return this['_construction'] }\n set construction(__a__) {\n setDirtyFlag()\n this['_construction'] = __a__\n }\n get appraisal() { return this['_appraisal'] }\n set appraisal(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_appraisal'])) {\n setDirtyFlag()\n this['_appraisal'] = __v__\n }\n }\n get salesprice() { return this['_salesprice'] }\n set salesprice(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_salesprice'])) {\n setDirtyFlag()\n this['_salesprice'] = __v__\n }\n }\n get projectreview() { return this['_projectreview'] }\n set projectreview(__a__) {\n setDirtyFlag()\n this['_projectreview'] = __a__\n }\n get solarpanels() { return this['_solarpanels'] }\n set solarpanels(__a__) {\n setDirtyFlag()\n this['_solarpanels'] = __a__\n }\n get qualifiesForFHAsecondary() { return this['_qualifiesForFHAsecondary'] }\n set qualifiesForFHAsecondary(__a__) {\n if(__a__ == null) {\n if(this['_qualifiesForFHAsecondary'] == null) { return }\n setDirtyFlag()\n this['_qualifiesForFHAsecondary'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_qualifiesForFHAsecondary'])) {\n setDirtyFlag()\n this['_qualifiesForFHAsecondary'] = __v__\n }\n }\n }\n get isManufacturedHome() { return this['_isManufacturedHome'] }\n set isManufacturedHome(__a__) {\n if(__a__ == null) {\n if(this['_isManufacturedHome'] == null) { return }\n setDirtyFlag()\n this['_isManufacturedHome'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isManufacturedHome'])) {\n setDirtyFlag()\n this['_isManufacturedHome'] = __v__\n }\n }\n }\n get isMixedUse() { return this['_isMixedUse'] }\n set isMixedUse(__a__) {\n if(__a__ == null) {\n if(this['_isMixedUse'] == null) { return }\n setDirtyFlag()\n this['_isMixedUse'] = null\n return\n } else {\n let __v__ = boolReader(false)(__a__)\n if(!_.isEqual(__v__,this['_isMixedUse'])) {\n setDirtyFlag()\n this['_isMixedUse'] = __v__\n }\n }\n }\n get expenses() { return this['_expenses'] }\n set expenses(__a__) {\n if(__a__ == null) {\n if(this['_expenses'] == null) { return }\n setDirtyFlag()\n this['_expenses'] = null\n return\n } else {\n setDirtyFlag()\n this['_expenses'] = __a__\n }\n }\n get status() { return this['_status'] }\n set status(__a__) {\n let __v__ = enumReader(['pending','sold','retained'],'pending')(__a__)\n if(!_.isEqual(__v__,this['_status'])) {\n setDirtyFlag()\n this['_status'] = __v__\n }\n }\n get insurancemaintenancetaxes() { return this['_insurancemaintenancetaxes'] }\n set insurancemaintenancetaxes(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_insurancemaintenancetaxes'])) {\n setDirtyFlag()\n this['_insurancemaintenancetaxes'] = __v__\n }\n }\n get netrentalincome() { return this['_netrentalincome'] }\n set netrentalincome(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_netrentalincome'])) {\n setDirtyFlag()\n this['_netrentalincome'] = __v__\n }\n }\n get loans() { return this['_loans'] }\n set loans(__a__) {\n setDirtyFlag()\n this['_loans'] = __a__\n }\n get mobilehomeinfo() { return this['_mobilehomeinfo'] }\n set mobilehomeinfo(__a__) {\n setDirtyFlag()\n this['_mobilehomeinfo'] = __a__\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new subjectproperty()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.address = __a__['address']\n cls.state = __a__['state']\n cls.county = __a__['county']\n cls.city = __a__['city']\n cls.zipcode = __a__['zipcode']\n cls.description = __a__['description']\n cls.occupancy = __a__['occupancy']\n cls.hascontract = __a__['hascontract'] == null ? null : __a__['hascontract']\n cls.propertytype = __a__['propertytype']\n cls.purpose = __a__['purpose'] == null ? null : __a__['purpose']\n cls.units = __a__['units']\n cls.yearbuilt = __a__['yearbuilt']\n cls.lookupsuccessful = __a__['lookupsuccessful']\n cls.inwhatname = __a__['inwhatname']\n cls.inwhatmanner = __a__['inwhatmanner']\n cls.estateheldin = __a__['estateheldin']\n cls.expirationdate = __a__['expirationdate']\n cls.sources = __a__['sources']\n cls.purchase = purchase.fromJson(__a__['purchase'])\n cls.refinance = refinance.fromJson(__a__['refinance'])\n cls.construction = construction.fromJson(__a__['construction'])\n cls.appraisal = __a__['appraisal']\n cls.salesprice = __a__['salesprice']\n cls.projectreview = ProjectReview.fromJson(__a__['projectreview'])\n cls.solarpanels = SolarPanels.fromJson(__a__['solarpanels'])\n cls.qualifiesForFHAsecondary = __a__['qualifiesForFHAsecondary'] == null ? null : __a__['qualifiesForFHAsecondary']\n cls.isManufacturedHome = __a__['isManufacturedHome'] == null ? null : __a__['isManufacturedHome']\n cls.isMixedUse = __a__['isMixedUse'] == null ? null : __a__['isMixedUse']\n cls.expenses = __a__['expenses'] == null ? null : FutureExpenses.fromJson(__a__['expenses'])\n cls.status = __a__['status']\n cls.insurancemaintenancetaxes = __a__['insurancemaintenancetaxes']\n cls.netrentalincome = __a__['netrentalincome']\n cls.loans = array1Reader(loan.fromJson)(__a__['loans'])\n cls.mobilehomeinfo = MobileHomeInfo.fromJson(__a__['mobilehomeinfo'])\n } else {\n doAlert(`subjectproperty: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class tasks {\n constructor() {\n this['_lastvisited'] = ''\n }\n get lastvisited() { return this['_lastvisited'] }\n set lastvisited(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_lastvisited'])) {\n setDirtyFlag()\n this['_lastvisited'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new tasks()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.lastvisited = __a__['lastvisited']\n } else {\n doAlert(`tasks: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nexport class transaction {\n constructor() {\n this['_purchaseprice'] = 0\n this['_alterationsimprovements'] = 0\n this['_landifacquiredseparately'] = 0\n this['_refinanceincldebts'] = 0\n this['_estimatedprepaiditems'] = 0\n this['_estimatedclosingcosts'] = 0\n this['_pmifundingfee'] = 0\n this['_discountifborrowerpays'] = 0\n this['_totalcosts'] = 0\n this['_subordinatefinancing'] = 0\n this['_borrowerclosingcostspaidbyseller'] = 0\n this['_othercredits'] = 0\n this['_othercreditsexplanation'] = ''\n this['_loanamountexcludefees'] = 0\n this['_pmifundingfeefinanced'] = 0\n this['_loanamoount'] = 0\n this['_cashfromtoborrower'] = 0\n this['_cashdepositedby'] = ''\n this['_depositamount'] = ''\n this['_helocbalance'] = 0\n this['_helocamount'] = 0\n }\n get purchaseprice() { return this['_purchaseprice'] }\n set purchaseprice(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_purchaseprice'])) {\n setDirtyFlag()\n this['_purchaseprice'] = __v__\n }\n }\n get alterationsimprovements() { return this['_alterationsimprovements'] }\n set alterationsimprovements(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_alterationsimprovements'])) {\n setDirtyFlag()\n this['_alterationsimprovements'] = __v__\n }\n }\n get landifacquiredseparately() { return this['_landifacquiredseparately'] }\n set landifacquiredseparately(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_landifacquiredseparately'])) {\n setDirtyFlag()\n this['_landifacquiredseparately'] = __v__\n }\n }\n get refinanceincldebts() { return this['_refinanceincldebts'] }\n set refinanceincldebts(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_refinanceincldebts'])) {\n setDirtyFlag()\n this['_refinanceincldebts'] = __v__\n }\n }\n get estimatedprepaiditems() { return this['_estimatedprepaiditems'] }\n set estimatedprepaiditems(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_estimatedprepaiditems'])) {\n setDirtyFlag()\n this['_estimatedprepaiditems'] = __v__\n }\n }\n get estimatedclosingcosts() { return this['_estimatedclosingcosts'] }\n set estimatedclosingcosts(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_estimatedclosingcosts'])) {\n setDirtyFlag()\n this['_estimatedclosingcosts'] = __v__\n }\n }\n get pmifundingfee() { return this['_pmifundingfee'] }\n set pmifundingfee(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_pmifundingfee'])) {\n setDirtyFlag()\n this['_pmifundingfee'] = __v__\n }\n }\n get discountifborrowerpays() { return this['_discountifborrowerpays'] }\n set discountifborrowerpays(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_discountifborrowerpays'])) {\n setDirtyFlag()\n this['_discountifborrowerpays'] = __v__\n }\n }\n get totalcosts() { return this['_totalcosts'] }\n set totalcosts(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_totalcosts'])) {\n setDirtyFlag()\n this['_totalcosts'] = __v__\n }\n }\n get subordinatefinancing() { return this['_subordinatefinancing'] }\n set subordinatefinancing(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_subordinatefinancing'])) {\n setDirtyFlag()\n this['_subordinatefinancing'] = __v__\n }\n }\n get borrowerclosingcostspaidbyseller() { return this['_borrowerclosingcostspaidbyseller'] }\n set borrowerclosingcostspaidbyseller(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_borrowerclosingcostspaidbyseller'])) {\n setDirtyFlag()\n this['_borrowerclosingcostspaidbyseller'] = __v__\n }\n }\n get othercredits() { return this['_othercredits'] }\n set othercredits(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_othercredits'])) {\n setDirtyFlag()\n this['_othercredits'] = __v__\n }\n }\n get othercreditsexplanation() { return this['_othercreditsexplanation'] }\n set othercreditsexplanation(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_othercreditsexplanation'])) {\n setDirtyFlag()\n this['_othercreditsexplanation'] = __v__\n }\n }\n get loanamountexcludefees() { return this['_loanamountexcludefees'] }\n set loanamountexcludefees(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_loanamountexcludefees'])) {\n setDirtyFlag()\n this['_loanamountexcludefees'] = __v__\n }\n }\n get pmifundingfeefinanced() { return this['_pmifundingfeefinanced'] }\n set pmifundingfeefinanced(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_pmifundingfeefinanced'])) {\n setDirtyFlag()\n this['_pmifundingfeefinanced'] = __v__\n }\n }\n get loanamoount() { return this['_loanamoount'] }\n set loanamoount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_loanamoount'])) {\n setDirtyFlag()\n this['_loanamoount'] = __v__\n }\n }\n get cashfromtoborrower() { return this['_cashfromtoborrower'] }\n set cashfromtoborrower(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_cashfromtoborrower'])) {\n setDirtyFlag()\n this['_cashfromtoborrower'] = __v__\n }\n }\n get cashdepositedby() { return this['_cashdepositedby'] }\n set cashdepositedby(__a__) {\n let __v__ = stringReader('')(__a__)\n if(!_.isEqual(__v__,this['_cashdepositedby'])) {\n setDirtyFlag()\n this['_cashdepositedby'] = __v__\n }\n }\n get depositamount() { return this['_depositamount'] }\n set depositamount(__a__) {\n let __v__ = DollarSReader('')(__a__)\n if(!_.isEqual(__v__,this['_depositamount'])) {\n setDirtyFlag()\n this['_depositamount'] = __v__\n }\n }\n get helocbalance() { return this['_helocbalance'] }\n set helocbalance(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_helocbalance'])) {\n setDirtyFlag()\n this['_helocbalance'] = __v__\n }\n }\n get helocamount() { return this['_helocamount'] }\n set helocamount(__a__) {\n let __v__ = intReader(0)(__a__)\n if(!_.isEqual(__v__,this['_helocamount'])) {\n setDirtyFlag()\n this['_helocamount'] = __v__\n }\n }\n\n toJson() { return JSON.stringify(this).split('\"_').join('\"') }\n\n static fromJson(__a__) {\n disableDF()\n let cls = new transaction()\n if(typeof __a__ === 'object' && __a__ != null) {\n cls.purchaseprice = __a__['purchaseprice']\n cls.alterationsimprovements = __a__['alterationsimprovements']\n cls.landifacquiredseparately = __a__['landifacquiredseparately']\n cls.refinanceincldebts = __a__['refinanceincldebts']\n cls.estimatedprepaiditems = __a__['estimatedprepaiditems']\n cls.estimatedclosingcosts = __a__['estimatedclosingcosts']\n cls.pmifundingfee = __a__['pmifundingfee']\n cls.discountifborrowerpays = __a__['discountifborrowerpays']\n cls.totalcosts = __a__['totalcosts']\n cls.subordinatefinancing = __a__['subordinatefinancing']\n cls.borrowerclosingcostspaidbyseller = __a__['borrowerclosingcostspaidbyseller']\n cls.othercredits = __a__['othercredits']\n cls.othercreditsexplanation = __a__['othercreditsexplanation']\n cls.loanamountexcludefees = __a__['loanamountexcludefees']\n cls.pmifundingfeefinanced = __a__['pmifundingfeefinanced']\n cls.loanamoount = __a__['loanamoount']\n cls.cashfromtoborrower = __a__['cashfromtoborrower']\n cls.cashdepositedby = __a__['cashdepositedby']\n cls.depositamount = __a__['depositamount']\n cls.helocbalance = __a__['helocbalance']\n cls.helocamount = __a__['helocamount']\n } else {\n doAlert(`transaction: an attempt to initialize from ${__a__}`)\n }\n enableDF()\n return cls\n }\n}\n\nconst IntSReader = (() => {\n const r = RegExp('^\\\\d*$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__) && r.test(__a__)) {\n return __a__\n }\n doAlert(`IntSReader: ${__a__} is not an IntS`)\n if(_.isInteger(__a__)) {\n return __a__.toString()\n }\n return __dflt__\n })\n )\n})()\nconst FloatSReader = (() => {\n const r = RegExp('^[-+]?\\\\d+[.]?\\\\d*([eE][-+]?\\\\d+)?$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__) && (__a__ === '' || r.test(__a__))) {\n return __a__\n }\n doAlert(`FloatSReader: ${__a__} is not a FloatS`)\n if(_.isFinite(__a__)) {\n return __a__.toString()\n }\n return __dflt__\n })\n )\n})()\nconst DollarSReader = (() => {\n const r = RegExp('^\\\\d*$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__) && r.test(__a__)) {\n return __a__\n }\n doAlert(`DollarSReader: ${__a__} is not a DollarS`)\n if(_.isInteger(__a__)) {\n return __a__.toString()\n }\n return __dflt__\n })\n )\n})()\nconst YearSReader = (() => {\n const r = RegExp('^\\\\d*$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__) && r.test(__a__)) {\n return __a__\n }\n doAlert(`YearSReader: ${__a__} is not a YearS`)\n if(_.isInteger(__a__)) {\n return __a__.toString()\n }\n return __dflt__\n })\n )\n})()\nconst PhoneSReader = (() => {\n // const r = RegExp('^\\\\(\\\\d{3}\\\\)-\\\\d{3}-\\\\d{4}$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__)) {\n return __a__\n }\n doAlert(`PhoneSReader: ${__a__} is not a PhoneS`)\n return __dflt__\n })\n )\n})()\nconst DateSReader = (() => {\n // const r = RegExp('^\\\\d{2}/\\\\d{2}/\\\\d{4}$')\n return ((__dflt__) =>\n ((__a__) => {\n if(_.isString(__a__)) {\n return __a__\n }\n doAlert(`DateSReader: ${__a__} is not a DateS`)\n return __dflt__\n })\n )\n})()\nfunction boolReader(__dflt__) {\n return ((__a__) => {\n if(_.isBoolean(__a__)) {\n return __a__\n }\n doAlert(`boolReader: ${__a__} is not a boolean`)\n if(__a__ === \"yes\" || __a__ === \"true\") {\n return true\n }\n if(__a__ === \"no\" || __a__ === \"false\") {\n return false\n }\n return __dflt__\n })\n}\nfunction intReader(__dflt__) {\n return ((__a__) => {\n if(_.isInteger(__a__)) {\n return __a__\n }\n doAlert(`intReader: ${__a__} is not an integer`)\n if(_.isString(__a__)) {\n let v = parseInt(__a__)\n if(_.isFinite(v)) {\n return v\n }\n }\n return __dflt__\n })\n}\nfunction floatReader(__dflt__) {\n return ((__a__) => {\n if(_.isFinite(__a__)) {\n return __a__\n }\n doAlert(`floatReader: ${__a__} is not a number`)\n if(_.isString(__a__)) {\n let v = parseFloat(__a__)\n if(_.isFinite(v)) {\n return v\n }\n }\n return __dflt__\n })\n}\nfunction stringReader(__dflt__) {\n return ((__a__) => {\n if(_.isString(__a__)) {\n return __a__\n }\n doAlert(`stringReader: ${__a__} is not a string`)\n return __dflt__\n })\n}\nfunction array1Reader(__r__) {\n return ((__a__) => {\n if(!_.isArray(__a__)) {\n doAlert(`arrayReader: ${__a__} is not an array`)\n return []\n }\n return __a__.map(__r__)\n })\n}\nfunction enumReader(__v__,__dflt__) {\n return ((__a__) => {\n if(!_.isString(__a__)) {\n doAlert(`enumReader: ${__a__} is not a string`)\n return __dflt__\n }\n if(__a__ !== __dflt__ && !_.includes(__v__,__a__)) {\n doAlert(`enumReader: ${__a__} is not in ${__v__}`)\n return __dflt__\n }\n return __a__\n })\n}\n\nlet setDirtyFlag = () => { dirtyFlag = true }\nlet [disableDF,enableDF] = (() => {\n let n = 0\n return [() => {\n if(n === 0) {\n setDirtyFlag = () => {}\n n = 1\n } else {\n n += 1\n }\n },\n () => {\n if(n === 1) {\n setDirtyFlag = () => { dirtyFlag = true }\n n = 0\n } else {\n n -= 1\n }\n }]\n})()\n","import {\n CHANGE_APPLICATION, CHANGE_APPLICATION_BY_PATH, CHANGE_BORROWER_INFO,CHANGE_HAS_COBORROWER, CHANGE_COHABITING, \n CHANGE_NONQM_INFO, CHANGE_BROKER_INFO,\n CHANGE_OCCUPATION_INFO, CHANGE_PAST_OCCUPATION_INFO,\n CLEAR_ADDITIONAL_OCCUPATIONS, ADD_ADDITIONAL_OCCUPATION, REMOVE_ADDITIONAL_OCCUPATION,\n CHANGE_JOINTLY,CHANGE_FINANCING_SAMEPROPERTY, CHANGE_APPLICATION_ATTRIBUTE,CHANGE_BORROWER_ATTRIBUTE,\n CHANGE_HARDMONEYLOAN_ATTRIBUTE,\n ADD_ADDITIONAL_INCOME, REMOVE_ADDITIONAL_INCOME, CHANGE_ADDITIONAL_INCOME, HAS_ADDITIONAL_INCOME,\n CLEAR_ADDITIONAL_INCOME, CHANGE_INCOME_MONTHLY, CHANGE_INCOME_ATTRIBUTE, CHANGE_EXPENSES, CHANGE_FINANCES, \n ADD_BORROWER_BANKACCOUNT, BULKADD_BORROWER_BANKACCOUNTS, CLEAR_BORROWER_BANKACCOUNTS, REMOVE_BORROWER_BANKACCOUNT, CHANGE_BORROWER_BANKNAME,\n CHANGE_BORROWER_BANKACCOUNT,CHANGE_BORROWER_BANKBALANCE, CHANGE_BORROWER_BANKATTRIBUTION,\n ADD_BORROWER_BROKERACCOUNT, CLEAR_BORROWER_BROKERACCOUNTS,CHANGE_BORROWER_BANKACCOUNTTYPE,\n REMOVE_BORROWER_BROKERACCOUNT, CHANGE_BORROWER_BROKERNAME, CHANGE_BORROWER_BROKERACCOUNT,\n CHANGE_BORROWER_BROKERBALANCE, CHANGE_BORROWER_BROKERATTRIBUTION, CHANGE_BORROWER_BROKERALLOCATION, \n CHANGE_BORROWER_BROKERTAXSTATUS,\n ADD_BORROWER_AUTO, REMOVE_BORROWER_AUTO, \n CLEAR_BORROWER_AUTOS, CHANGE_BORROWER_AUTO_MAKE, CHANGE_BORROWER_AUTO_YEAR, CHANGE_BORROWER_AUTO_VALUE, \n ADD_BORROWER_OTHER_ASSET, BULKADD_BORROWER_OTHER_ASSETS, REMOVE_BORROWER_OTHER_ASSET, CLEAR_BORROWER_OTHER_ASSETS,\n CHANGE_BORROWER_OTHER_ASSET_NAME, CHANGE_BORROWER_OTHER_ASSET_VALUE,CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION,CHANGE_BORROWER_OTHER_ASSET,\n ADD_BORROWER_LOAN, BULKADD_BORROWER_LOANS, REMOVE_BORROWER_LOAN, CLEAR_BORROWER_LOANS, CHANGE_BORROWER_LOAN_COMPANY, \n CHANGE_BORROWER_LOAN_ADDRESS, CHANGE_BORROWER_LOAN_ACCOUNT, CHANGE_BORROWER_LOAN_MONTHLY, \n CHANGE_BORROWER_LOAN_REMAINING, CHANGE_BORROWER_LOAN_SATISFIEDUPON, CHANGE_BORROWER_LOAN_FORSUBJECT, CHANGE_BORROWER_LOAN,\n CHANGE_BORROWER_LOAN_CORRECTION,CHANGE_BORROWER_LOAN_EXPLANATION, CHANGE_BORROWER_LOAN_RATE,\n BULKADD_BORROWER_OWNED_PROPERTIES,ADD_OWNED_PROPERTY, ADD_BORROWER_OWNED_PROPERTY, ADD_COBORROWER_OWNED_PROPERTY,PREPEND_OWNED_PROPERTY,PREPEND_BORROWER_OWNED_PROPERTY,PREPEND_COBORROWER_OWNED_PROPERTY,REMOVE_OWNED_PROPERTY, REMOVE_BORROWER_OWNED_PROPERTY, REMOVE_COBORROWER_OWNED_PROPERTY,CLEAR_OWNED_PROPERTY, CLEAR_BORROWER_OWNED_PROPERTY, CLEAR_COBORROWER_OWNED_PROPERTY,CHANGE_OWNED_PROPERTY, CHANGE_BORROWER_OWNED_PROPERTY, CHANGE_COBORROWER_OWNED_PROPERTY,\n CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY,ADD_BORROWER_ADDITIONAL_PROPERTY, REMOVE_BORROWER_ADDITIONAL_PROPERTY,\n CLEAR_BORROWER_ADDITIONAL_PROPERTY, CHANGE_ADDITIONAL_PROPERTY,CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS,\n CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS, CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE,CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE,\n CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE, CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS,\n CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME, CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT,\n CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES, CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME,CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION,\n ADD_BORROWER_ADDITIONAL_CREDITS, REMOVE_BORROWER_ADDITIONAL_CREDITS, CLEAR_BORROWER_ADDITIONAL_CREDITS, \n CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME, CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR, CHANGE_BORROWER_FREEANDCLEAR, CHANGE_REVIEWED_LOANS,\n CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT,CHANGE_PROPERTY_ADDRESS, CHANGE_PROPERTY_DESCRIPTION, CHANGE_PROPERTY_OCCUPANCY,\n CHANGE_PROPERTY_PURPOSE, CHANGE_PROPERTY_APPRAISAL, CHANGE_PROPERTY_SALESPRICE, CHANGE_PROPERTY_ATTRIBUTE, \n CHANGE_PROPERTY_UNITS, CHANGE_PROPERTY_YEARBUILT,\n CHANGE_PROPERTY_INWHATNAME, CHANGE_PROPERTY_INWHATMANNER, CHANGE_PROPERTY_ESTATEHELDIN,\n CHANGE_PROPERTY_SOURCES, CHANGE_PROPERTY_REFINANCE_YEARACQUIRED, CHANGE_PROPERTY_REFINANCE_ORIGINALCOST,\n CHANGE_PROPERTY_REFINANCE_PURPOSE, CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC, CHANGE_PROPERTY_REFINANCE_ATTRIBUTE,\n CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS, CHANGE_PROPERTY_REFINANCE_COST,CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER,\n CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED, CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST,\n CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS, CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE,\n CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS,CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS,\n CHANGE_DECLARATIONS, CHANGE_MAINPROPERTY_EXPIRATION, CHANGE_EQUAL_OPPORTUNITY, CHANGE_EQUAL_OPPORTUNITY_SUB,\n CHANGE_SELECTION_FIELD, CHANGE_SELECTEDLOAN_FIELD, CHANGE_SELECTEDLOAN_PRODUCT_FIELD, CHANGE_PREVIOUS_ADDRESS, ADD_PREVIOUS_ADDRESS, \n ADD_SELECTEDLOAN_SERVICE , REMOVE_SELECTEDLOAN_SERVICE, ADD_SELECTEDLOAN_CHARGE, REMOVE_SELECTEDLOAN_CHARGE,\n ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS,\n REMOVE_PREVIOUS_ADDRESS, CLEAR_PREVIOUS_ADDRESS, CHANGE_MAINPROPERTY_PROPERTYTYPE, CHANGE_MAINPROPERTY,CHANGE_MOBILE_HOME_INFO, COPY_BORROWER_LOAN,\n ADD_BORROWER_ALIMONY, BULKADD_BORROWER_ALIMONYS, REMOVE_BORROWER_ALIMONY, CLEAR_BORROWER_ALIMONY, \n CHANGE_BORROWER_ALIMONY_AMOUNT, CHANGE_BORROWER_ALIMONY, CHANGE_BORROWER_ALIMONY_OWEDTO, CHANGE_BORROWER_ALIMONY_TYPE,\n CHANGE_BORROWER_CLEAR_INSURANCE, CHANGE_BORROWER_DELETE_INSURANCE, \n CHANGE_BORROWER_ADD_INSURANCE, CHANGE_BORROWER_CHANGE_INSURANCE,\n ADD_REMOTE_COBORROWER, REMOVE_REMOTE_COBORROWER, CLEAR_REMOTE_COBORROWER, \n CHANGE_REMOTE_COBORROWER_FIRSTNAME, CHANGE_REMOTE_COBORROWER_LASTNAME, CHANGE_REMOTE_COBORROWER_EMAIL,\n CHANGE_REMOTE_COBORROWER_STATUS,CHANGE_REMOTE_COBORROWER_USE, CHANGE_SOLAR_PANELS,\n ADD_BORROWER_OTHER_LIEN, REMOVE_BORROWER_OTHER_LIEN, CLEAR_BORROWER_OTHER_LIENS,\n CHANGE_BORROWER_OTHER_LIEN_VALUE, CHANGE_CHOSENLOAN_ATTRIBUTE,\n ADD_BORROWER_OTHER_OCCUPATION, REMOVE_BORROWER_OTHER_OCCUPATION, CLEAR_BORROWER_OTHER_OCCUPATIONS,\n CHANGE_BORROWER_OTHER_OCCUPATION_VALUE, UPDATE_FICO, UPDATE_CR_ERRORS, CLEAR_CR_ERRORS,\n ADD_BORROWER_PREVIOUS_OCCUPATION, REMOVE_BORROWER_PREVIOUS_OCCUPATION, CLEAR_BORROWER_PREVIOUS_OCCUPATIONS, \n CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME, CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE,\n CHANGE_BORROWER_OTHER_OCCUPATION_INCOME,\n UPDATE_CANNOTSHOPSERVICES, UPDATE_CANSHOPSERVICES, UPDATE_FEES, UPDATE_ORIGINALCOSTS, UPDATE_OTHERCOSTS,\n UPDATE_PAYMENT_PERIOD, UPDATE_PAYMENT_AMOUNT, ADD_SELECTEDLOAN_PREPAID, REMOVE_SELECTEDLOAN_PREPAID,\n UPDATE_PREPAID_DEFAULT, ADD_BORROWER_GIFT,BULKADD_BORROWER_GIFTS, CLEAR_BORROWER_GIFT, CHANGE_BORROWER_GIFT, REMOVE_BORROWER_GIFT,\n ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT, ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES,\n ADD_NEW_MORTGAGE_LOAN,BULKADD_NEW_MORTGAGE_LOAN, REMOVE_NEW_MORTGAGE_LOAN, CLEAR_NEW_MORTGAGE_LOANS, UPDATE_NEW_MORTGAGE_ATTRIBUTE,\n UPDATE_ESCROW_INFO, UPDATE_APPRAISAL_INFO\n\n\n} from '../Defs/interviewdefs'\n\n\nimport {CHANGE_PRODUCT, CHANGE_TRANSACTION} from '../Defs/loinput'\nimport {previousoccupation, otherincome, account, otheroccupation,\n automobile, otherasset, loan, property, creditunderothername, application, allocation,\n alimony, address, insurance, remotecoborrower, otherlien, charge, service, payment, gift, newmortgage, OwnedProperty, escrowinfo, appraisalinfo} from '../State.js'\nconst cloneDeep = require('lodash/cloneDeep');\n\nconst applicationInitialState = new application()\nconst applicationInitialStateJSON = JSON.parse( applicationInitialState.toJson() )\n\nfunction applicationReducer(state = applicationInitialStateJSON, action) {\n\n state = application.fromJson(state)\n switch (action.type) {\n case CHANGE_APPLICATION:\n //this one IS TRICKY! \n state = application.fromJson( action.payload ); \n break;\n case CHANGE_APPLICATION_BY_PATH:\n let paths = action.path.split('.')\n let obj = state\n for(let i = 0; i < paths.length; i++) {\n if(i === paths.length - 1) {\n obj[paths[i]] = action.value\n } else {\n obj = obj[paths[i]]\n }\n }\n break;\n\n case UPDATE_FICO:\n state.scre = parseInt(action.payload)\n break;\n case UPDATE_CR_ERRORS: {\n state.assetsandliabilities.warnings = action.payload\n break\n }\n case CLEAR_CR_ERRORS:\n state.assetsandliabilities.warnings = null\n break\n case CHANGE_SELECTION_FIELD:\n state.selection[action.verb] = action.payload\n break;\n case CHANGE_SELECTEDLOAN_FIELD:\n state.selection.selectedloan[action.verb] = action.payload\n break;\n case CHANGE_SELECTEDLOAN_PRODUCT_FIELD: {\n \n state.selection.selectedloan.matchingproducts[action.index][action.verb] = action.payload\n\n break;\n }\n case CHANGE_HAS_COBORROWER:\n state.hascoborrower = action.payload; break;\n case CHANGE_BORROWER_INFO: {\n let obj = state[action.who] \n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_APPLICATION_ATTRIBUTE : {\n let obj = state\n\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_HARDMONEYLOAN_ATTRIBUTE : {\n let obj = state[\"hardmoneyloan\"]\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_BORROWER_ATTRIBUTE: {\n let obj = state[action.who]\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_CHOSENLOAN_ATTRIBUTE: {\n let obj = state.selection.selectedloan\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_COHABITING:\n state.cohabiting = action.payload; break;\n case CHANGE_FINANCING_SAMEPROPERTY:\n state.financingsameproperty = action.payload; break;\n case CHANGE_JOINTLY:\n state.assetsliabilitiesjointly = action.payload; break;\n case CHANGE_FINANCES: {\n state[action.who].finances[action.verb] = action.payload;\n break;\n }\n case CHANGE_NONQM_INFO: {\n let obj = state[action.who].nonqm\n obj[action.verb] = action.payload\n break\n }\n case CHANGE_OCCUPATION_INFO: {\n let obj = state[action.who].occupation\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_PAST_OCCUPATION_INFO: {\n let obj = state[action.who].previousoccupations[action.index]\n obj[action.verb] = action.payload\n break;\n }\n case CLEAR_ADDITIONAL_OCCUPATIONS: {\n let obj = state[action.who]\n obj.previousoccupations = []\n break;\n }\n case ADD_ADDITIONAL_OCCUPATION: {\n let obj = state[action.who]\n if(obj.previousoccupations === null)\n obj.previousoccupations = []\n let add = new previousoccupation()\n add.key = Math.random().toString() \n obj.previousoccupations.push(add)\n break;\n }\n case REMOVE_ADDITIONAL_OCCUPATION: {\n let obj = state[action.who]\n obj.previousoccupations.splice(parseInt(action.index), 1)\n obj.previousoccupations= cloneDeep(obj.previousoccupations)\n break;\n } \n\n case CHANGE_PREVIOUS_ADDRESS : {\n let obj = state[action.who].previousaddresses[action.index]\n obj[action.verb] = action.payload \n break \n }\n case CLEAR_PREVIOUS_ADDRESS: {\n let obj = state[action.who]\n obj.previousaddresses = []\n break;\n }\n case ADD_PREVIOUS_ADDRESS: {\n let obj = state[action.who]\n let add = new address()\n add.key = Math.random().toString() \n obj.previousaddresses.push(add)\n break;\n }\n case REMOVE_PREVIOUS_ADDRESS: {\n let obj = state[action.who]\n obj.previousaddresses.splice(parseInt(action.index), 1)\n obj.previousaddresses= cloneDeep(obj.previousaddresses)\n break;\n } \n case CHANGE_INCOME_MONTHLY: {\n let obj = state[action.who].occupation\n obj.income[action.verb] = action.payload\n break;\n }\n case CHANGE_INCOME_ATTRIBUTE : {\n let obj = state[action.who]\n obj.income[action.verb] = action.payload \n break;\n }\n case CLEAR_ADDITIONAL_INCOME: {\n let obj = state[action.who].income\n obj.otherincome = []\n break;\n }\n case ADD_ADDITIONAL_INCOME: {\n let obj = state[action.who].income\n if(obj.otherincome === null)\n obj.otherincome = []\n let add = new otherincome()\n add.key = Math.random().toString() \n obj.otherincome.push(add)\n break;\n }\n case HAS_ADDITIONAL_INCOME: {\n let obj = state[action.who].income\n obj.hasotherincome = action.payload\n break;\n }\n case REMOVE_ADDITIONAL_INCOME: {\n let obj = state[action.who].income\n obj.otherincome.splice(parseInt(action.payload), 1)\n state.borrower.income.otherincome = cloneDeep(obj.otherincome)\n break;\n }\n case CHANGE_EXPENSES: {\n let obj = state[action.who].expenses\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_ADDITIONAL_INCOME: {\n let obj = state[action.who].income\n obj.otherincome[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n case CLEAR_BORROWER_BANKACCOUNTS: {\n let obj = state.assetsandliabilities\n obj.accounts = []\n break;\n }\n case ADD_BORROWER_BANKACCOUNT: {\n let obj = state.assetsandliabilities\n if(null === obj.accounts)\n obj.accounts = []\n let add = new account()\n add.key = Math.random().toString() \n obj.accounts.push(add)\n break;\n }\n case BULKADD_BORROWER_BANKACCOUNTS: {\n let obj = state.assetsandliabilities\n obj.accounts = action.payload\n break;\n }\n case REMOVE_BORROWER_BANKACCOUNT: {\n let obj = state.assetsandliabilities\n obj.accounts.splice(parseInt(action.payload), 1)\n break;\n }\n case CHANGE_BORROWER_BANKNAME: {\n let obj = state.assetsandliabilities\n obj.accounts[parseInt(action.index)].bankname = action.payload\n break;\n }\n case CHANGE_BORROWER_BANKACCOUNT: {\n let obj = state.assetsandliabilities\n obj.accounts[parseInt(action.index)].account = action.payload\n break;\n }\n case CHANGE_BORROWER_BANKBALANCE: {\n let obj = state.assetsandliabilities\n obj.accounts[parseInt(action.index)].balance = action.payload\n break;\n }\n case CHANGE_BORROWER_BANKACCOUNTTYPE: {\n let obj = state.assetsandliabilities\n obj.accounts[parseInt(action.index)].accounttype = action.payload\n break;\n }\n case CHANGE_BORROWER_BANKATTRIBUTION: {\n let obj = state.assetsandliabilities\n obj.accounts[parseInt(action.index)].attribution = parseInt(action.payload)\n break;\n }\n case CLEAR_BORROWER_BROKERACCOUNTS: {\n let obj = state.assetsandliabilities\n obj.brokerages = []\n break;\n }\n case ADD_BORROWER_BROKERACCOUNT: {\n let obj = state.assetsandliabilities\n if(null === obj.brokerages)\n obj.brokerages = []\n let add = new account()\n add.key = Math.random().toString() \n add.allocation = new allocation()\n obj.brokerages.push(add)\n break;\n }\n case REMOVE_BORROWER_BROKERACCOUNT: {\n let obj = state.assetsandliabilities\n obj.brokerages.splice(parseInt(action.payload), 1)\n break;\n }\n case CHANGE_BORROWER_BROKERNAME: {\n let obj = state.assetsandliabilities\n obj.brokerages[parseInt(action.index)].bankname = action.payload\n break;\n }\n case CHANGE_BORROWER_BROKERACCOUNT: {\n let obj = state.assetsandliabilities\n obj.brokerages[parseInt(action.index)].account = action.payload\n break;\n }\n case BULKADD_BORROWER_ALIMONYS: {\n let obj = state[action.who].finances\n obj.alimony = action.payload\n break;\n }\n case ADD_BORROWER_ALIMONY: {\n if(null === state[action.who].finances.alimony)\n state[action.who].finances.alimony = []\n let obj = state[action.who].finances\n let add = new alimony()\n add.key = Math.random().toString() \n obj.alimony.push( add )\n break;\n }\n case REMOVE_BORROWER_ALIMONY: {\n let obj = state[action.who].finances\n obj.alimony.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_BORROWER_ALIMONY: {\n let obj = state[action.who].finances\n obj.alimony = []\n break;\n }\n case CHANGE_BORROWER_ALIMONY_AMOUNT: {\n let obj = state[action.who].finances\n obj.alimony[parseInt(action.index)].amount = action.payload\n break;\n }\n \n case CHANGE_BORROWER_ALIMONY: { \n let obj = state[action.who].finances\n obj.alimony[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n\n case CHANGE_BORROWER_ALIMONY_TYPE: {\n let obj = state[action.who].finances\n obj.alimony[parseInt(action.index)].alimonyorsupport = action.payload\n break;\n }\n\n \n case CHANGE_BORROWER_ALIMONY_OWEDTO: {\n let obj = state[action.who].finances\n obj.alimony[parseInt(action.index)].owedto = action.payload\n break;\n }\n \n case CHANGE_BORROWER_BROKERBALANCE: {\n let obj = state.assetsandliabilities\n obj.brokerages[parseInt(action.index)].balance = action.payload\n break;\n }\n case CHANGE_BORROWER_BROKERATTRIBUTION: {\n let obj = state.assetsandliabilities\n obj.brokerages[parseInt(action.index)].attribution = parseInt(action.payload)\n break;\n }\n case CHANGE_BORROWER_BROKERTAXSTATUS: {\n let obj = state.assetsandliabilities\n obj.brokerages[parseInt(action.index)].isretirement = action.payload\n break;\n }\n case CHANGE_BORROWER_BROKERALLOCATION: {\n let obj = state.assetsandliabilities\n let a = new allocation()\n a.stocks = action.payload[0]\n a.bonds = action.payload[1]\n a.cash = action.payload[2]\n obj.brokerages[parseInt(action.index)].allocation = a\n break;\n }\n\n case CHANGE_BROKER_INFO: {\n let obj = state.brokerinfo\n obj[action.verb] = action.payload\n break;\n }\n\n\n case CHANGE_BORROWER_CLEAR_INSURANCE: {\n let obj = state.assetsandliabilities\n obj.lifeinsurance = []\n break;\n }\n case CHANGE_BORROWER_DELETE_INSURANCE: {\n let obj = state.assetsandliabilities\n obj.lifeinsurance.splice(parseInt(action.payload), 1)\n break;\n } \n case CHANGE_BORROWER_ADD_INSURANCE: {\n let obj = state.assetsandliabilities\n if(null === obj.lifeinsurance)\n obj.lifeinsurance = []\n let add = new insurance()\n add.key = Math.random().toString() \n obj.lifeinsurance.push(add)\n break; \n }\n case CHANGE_BORROWER_CHANGE_INSURANCE: {\n let obj = state.assetsandliabilities\n obj.lifeinsurance[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n\n case CLEAR_BORROWER_AUTOS: {\n let obj = state.assetsandliabilities\n obj.automobiles = []\n break;\n }\n case ADD_BORROWER_AUTO: {\n let obj = state.assetsandliabilities\n let add = new automobile()\n add.key = Math.random().toString() \n obj.automobiles.push( add )\n break;\n }\n case REMOVE_BORROWER_AUTO: {\n let obj = state.assetsandliabilities\n obj.automobiles.splice(parseInt(action.payload), 1)\n break;\n }\n case CHANGE_BORROWER_AUTO_MAKE: {\n let obj = state.assetsandliabilities\n obj.automobiles[parseInt(action.index)].make = action.payload\n break;\n }\n case CHANGE_BORROWER_AUTO_YEAR: {\n let obj = state.assetsandliabilities\n obj.automobiles[parseInt(action.index)].year = action.payload\n break;\n }\n case CHANGE_BORROWER_AUTO_VALUE: {\n let obj = state.assetsandliabilities\n obj.automobiles[parseInt(action.index)].value = action.payload\n break;\n }\n case CLEAR_BORROWER_OTHER_ASSETS: {\n let obj = state.assetsandliabilities\n obj.otherassets = []\n break;\n }\n case ADD_BORROWER_OTHER_ASSET: {\n let obj = state.assetsandliabilities\n if(null === obj.otherassets)\n obj.otherassets = []\n let add = new otherasset()\n add.key = Math.random().toString() \n obj.otherassets.push(add)\n break;\n }\n case BULKADD_BORROWER_OTHER_ASSETS: {\n let obj = state.assetsandliabilities\n obj.otherassets = action.payload\n break;\n }\n case REMOVE_BORROWER_OTHER_ASSET: {\n let obj = state.assetsandliabilities\n obj.otherassets.splice(parseInt(action.payload), 1)\n break;\n }\n case CHANGE_BORROWER_OTHER_ASSET_NAME: {\n let obj = state.assetsandliabilities\n obj.otherassets[parseInt(action.index)].description = action.payload\n break;\n }\n case CHANGE_BORROWER_OTHER_ASSET_VALUE: {\n let obj = state.assetsandliabilities\n obj.otherassets[parseInt(action.index)].value = action.payload\n break;\n }\n\n case CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION: {\n let obj = state.assetsandliabilities\n obj.otherassets[parseInt(action.index)].attribution = action.payload\n break;\n }\n case CHANGE_BORROWER_OTHER_ASSET: {\n let obj = state.assetsandliabilities\n obj.otherassets[parseInt(action.index)][action.verb] = action.payload\n break;\n } \n \n case ADD_BORROWER_OTHER_LIEN: {\n if(null === state.otherliens) {\n state.otherliens = []\n }\n let obj = state.otherliens\n let add = new otherlien()\n add.key = Math.random().toString() \n obj.push(add)\n break;\n } \n case CLEAR_BORROWER_OTHER_LIENS: {\n state.otherliens = []\n break;\n } \n case REMOVE_BORROWER_OTHER_LIEN: {\n let obj = state.otherliens\n obj.splice(parseInt(action.payload), 1)\n break;\n } \n case CHANGE_BORROWER_OTHER_LIEN_VALUE: {\n let obj = state.otherliens\n obj[parseInt(action.index)][action.verb]= action.payload\n break;\n }\n\n case ADD_BORROWER_OTHER_OCCUPATION: {\n\n if(null === state[action.who].otheroccupations )\n state[action.who].otheroccupations = []\n let obj = state[action.who].otheroccupations\n let add = new otheroccupation()\n add.key = Math.random().toString() \n obj.push(add)\n break;\n } \n case CLEAR_BORROWER_OTHER_OCCUPATIONS: {\n\n state[action.who].otheroccupations = []\n break;\n } \n case REMOVE_BORROWER_OTHER_OCCUPATION: {\n let obj = state[action.who].otheroccupations\n obj.splice(parseInt(action.payload), 1)\n break;\n } \n case CHANGE_BORROWER_OTHER_OCCUPATION_VALUE: {\n let obj = state[action.who].otheroccupations\n obj[parseInt(action.index)][action.verb]= action.payload\n break;\n } \n case CHANGE_BORROWER_OTHER_OCCUPATION_INCOME: {\n let obj = state[action.who].otheroccupations\n obj[parseInt(action.index)].income[action.verb]= action.payload \n break;\n }\n\n case ADD_BORROWER_PREVIOUS_OCCUPATION: {\n\n if(null === state[action.who].previousoccupations )\n state[action.who].previousoccupations = []\n let obj = state[action.who].previousoccupations\n let add = new previousoccupation()\n add.key = Math.random().toString() \n obj.push(add)\n break;\n } \n case CLEAR_BORROWER_PREVIOUS_OCCUPATIONS: {\n\n state[action.who].previousoccupations = []\n break;\n } \n case REMOVE_BORROWER_PREVIOUS_OCCUPATION: {\n let obj = state[action.who].previousoccupations\n obj.splice(parseInt(action.payload), 1)\n break;\n } \n case CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE: {\n let obj = state[action.who].previousoccupations\n obj[parseInt(action.index)][action.verb]= action.payload\n break;\n } \n case CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME: {\n let obj = state[action.who].previousoccupations\n obj[parseInt(action.index)].income = action.payload \n break;\n }\n\n case BULKADD_BORROWER_LOANS: {\n let obj = state.assetsandliabilities\n obj.loans = action.payload\n break;\n }\n case ADD_BORROWER_LOAN: {\n let obj = state.assetsandliabilities\n let add = new loan()\n add.key = Math.random().toString() \n obj.loans.push( add )\n break;\n }\n case COPY_BORROWER_LOAN: {\n let obj = state.assetsandliabilities\n \n obj.loans.push( action.payload )\n break;\n } \n case REMOVE_BORROWER_LOAN: {\n let obj = state.assetsandliabilities\n obj.loans.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_BORROWER_LOANS: {\n let obj = state.assetsandliabilities\n obj.loans = []\n break;\n }\n case CHANGE_BORROWER_LOAN: {\n let obj = state.assetsandliabilities.loans\n obj[action.index][action.verb] = action.payload\n break;\n } \n \n case CHANGE_BORROWER_LOAN_COMPANY: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].name = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_ADDRESS: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].address = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_ACCOUNT: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].accountnumber = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_MONTHLY: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].monthlypayment = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_REMAINING: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].remainingbalance = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_SATISFIEDUPON: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].satisfiedupon = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_RATE: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].rate = action.payload \n break;\n }\n case CHANGE_BORROWER_LOAN_FORSUBJECT: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].forsubjectproperty = action.payload\n break;\n }\n\n case CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].monthslefttopay = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_CORRECTION: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].correction = action.payload\n break;\n }\n case CHANGE_BORROWER_LOAN_EXPLANATION: {\n let obj = state.assetsandliabilities\n obj.loans[parseInt(action.index)].explanation = action.payload\n break;\n }\n case BULKADD_BORROWER_OWNED_PROPERTIES: {\n let obj = state.assetsandliabilities\n obj.properties = action.payload\n break;\n }\n case ADD_OWNED_PROPERTY: {\n let obj = state.assetsandliabilities\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.properties == null)\n obj.properties = []\n obj.properties.push( add )\n break;\n }\n case ADD_BORROWER_OWNED_PROPERTY: {\n let obj = state.borrower\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.ownedproperties == null)\n obj.ownedproperties = []\n obj.ownedproperties.push( add )\n break;\n }\n case ADD_COBORROWER_OWNED_PROPERTY: {\n let obj = state.coborrower\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.ownedproperties == null)\n obj.ownedproperties = []\n obj.ownedproperties.push( add )\n break;\n }\n case PREPEND_OWNED_PROPERTY: {\n let obj = state.assetsandliabilities\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.ownedproperties == null)\n obj.ownedproperties = []\n obj.ownedproperties.unshift( add )\n break;\n }\n case PREPEND_BORROWER_OWNED_PROPERTY: {\n let obj = state.borrower\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.ownedproperties == null)\n obj.ownedproperties = []\n obj.ownedproperties.unshift( add )\n break;\n }\n case PREPEND_COBORROWER_OWNED_PROPERTY: {\n let obj = state.coborrower\n let add = new OwnedProperty()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.ownedproperties == null)\n obj.ownedproperties = []\n obj.ownedproperties.unshift( add )\n break;\n }\n case REMOVE_OWNED_PROPERTY: {\n let obj = state.assetsandliabilities\n obj.ownedproperties.splice(parseInt(action.payload), 1)\n break;\n }\n case REMOVE_BORROWER_OWNED_PROPERTY: {\n let obj = state.borrower\n obj.ownedproperties.splice(parseInt(action.payload), 1)\n break;\n }\n case REMOVE_COBORROWER_OWNED_PROPERTY: {\n let obj = state.coborrower\n obj.ownedproperties.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_OWNED_PROPERTY: {\n let obj = state.assetsandliabilities\n obj.ownedproperties = []\n break;\n }\n case CLEAR_BORROWER_OWNED_PROPERTY: {\n let obj = state.borrower\n obj.ownedproperties = []\n break;\n }\n case CLEAR_COBORROWER_OWNED_PROPERTY: {\n let obj = state.coborrower\n obj.ownedproperties = []\n break;\n }\n case CHANGE_OWNED_PROPERTY: {\n let obj = state.assetsandliabilities\n obj.ownedproperties[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n case CHANGE_BORROWER_OWNED_PROPERTY: { \n let obj = state.borrower\n obj.ownedproperties[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n case CHANGE_COBORROWER_OWNED_PROPERTY: { \n let obj = state.coborrower\n obj.ownedproperties[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n case ADD_BORROWER_ADDITIONAL_PROPERTY: {\n let obj = state.assetsandliabilities\n let add = new property()\n add.ownedfreeandclear = true\n add.key = Math.random().toString() \n if(obj.properties == null)\n obj.properties = []\n obj.properties.push( add )\n break;\n }\n case REMOVE_BORROWER_ADDITIONAL_PROPERTY: {\n let obj = state.assetsandliabilities\n obj.properties.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_BORROWER_ADDITIONAL_PROPERTY: {\n let obj = state.assetsandliabilities\n obj.properties = []\n break;\n }\n case CHANGE_ADDITIONAL_PROPERTY: { // catch all\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)][action.verb] = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].address = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].status = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].propertytype = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].marketvalue = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].liens = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].grossrentalincome = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].payment = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].insurancemaintenancetaxes = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].netrentalincome = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE: {\n \n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)][action.verb] = action.value\n break;\n }\n\n \n case CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION: {\n let obj = state.assetsandliabilities\n obj.properties[parseInt(action.index)].attribution = parseInt(action.payload)\n break;\n }\n case CHANGE_BORROWER_FREEANDCLEAR: {\n let obj = state.assetsandliabilities\n obj.propertyownedfreeandclear = action.payload\n break;\n }\n case CHANGE_REVIEWED_LOANS: {\n let obj = state.assetsandliabilities\n obj.loansreviewed = action.payload\n break;\n } \n \n case ADD_BORROWER_ADDITIONAL_CREDITS: {\n let obj = state[action.who].finances\n let add = new creditunderothername()\n add.key = Math.random().toString() \n obj.creditsunderothername.push( add )\n break;\n }\n case REMOVE_BORROWER_ADDITIONAL_CREDITS: {\n let obj = state[action.who].finances\n obj.creditsunderothername.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_BORROWER_ADDITIONAL_CREDITS: {\n let obj = state[action.who].finances\n obj.creditsunderothername = []\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME: {\n let obj = state[action.who].finances\n obj.creditsunderothername[parseInt(action.index)].altname = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR: {\n let obj = state[action.who].finances\n obj.creditsunderothername[parseInt(action.index)].creditor = action.payload\n break;\n }\n case CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT: {\n let obj = state[action.who].finances\n obj.creditsunderothername[parseInt(action.index)].account = action.payload\n break; \n }\n\n case ADD_BORROWER_GIFT: {\n let obj = state.assetsandliabilities\n let add = new gift()\n if(null === obj.gifts)\n obj.gifts = []\n add.key = Math.random().toString() \n obj.gifts.push( add )\n break;\n }\n case BULKADD_BORROWER_GIFTS: {\n let obj = state.assetsandliabilities\n obj.gifts = action.payload\n break;\n }\n case CLEAR_BORROWER_GIFT: {\n let obj = state.assetsandliabilities\n obj.gifts = []\n break;\n }\n case REMOVE_BORROWER_GIFT: {\n let obj = state.assetsandliabilities\n obj.gifts.splice(parseInt(action.index), 1)\n break;\n }\n case CHANGE_BORROWER_GIFT: {\n let obj = state.assetsandliabilities\n obj.gifts[action.index][action.verb] = action.value\n break;\n } \n\n case ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT: { \n let obj = state.assetsandliabilities\n obj.propertiesfrompull = action.payload\n break;\n }\n\n case ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES: {\n let obj = state.assetsandliabilities.propertiesfrompull\n obj[action.index][action.verb] = action.payload\n break; \n }\n\n case ADD_REMOTE_COBORROWER: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers.push( add )\n break;\n }\n case REMOVE_REMOTE_COBORROWER: {\n state.remotecoborrowers.splice(parseInt(action.payload), 1)\n break;\n }\n case CLEAR_REMOTE_COBORROWER: {\n state.remotecoborrowers = []\n break;\n }\n case CHANGE_REMOTE_COBORROWER_FIRSTNAME: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers[parseInt(action.index)].firstname = action.payload\n break;\n } \n case CHANGE_REMOTE_COBORROWER_LASTNAME: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers[parseInt(action.index)].lastname = action.payload\n break;\n } \n case CHANGE_REMOTE_COBORROWER_EMAIL: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers[parseInt(action.index)].email = action.payload\n break;\n } \n case CHANGE_REMOTE_COBORROWER_STATUS: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers[parseInt(action.index)].status = action.payload\n break;\n } \n \n case CHANGE_REMOTE_COBORROWER_USE: {\n let add = new remotecoborrower()\n add.key = Math.random().toString() \n state.remotecoborrowers[parseInt(action.index)].usetoqualify = action.payload\n break;\n } \n\n case CHANGE_PROPERTY_DESCRIPTION:\n state.property.description = action.payload; break;\n case CHANGE_PROPERTY_ADDRESS:\n state.property.address = action.payload; break;\n case CHANGE_PROPERTY_OCCUPANCY:\n state.property.occupancy = action.payload; break;\n case CHANGE_PROPERTY_PURPOSE:\n state.property.purpose = action.payload; break;\n case CHANGE_PROPERTY_APPRAISAL:\n state.property.appraisal = action.payload; break;\n case CHANGE_PROPERTY_SALESPRICE:\n state.property.salesprice = action.payload; break;\n case CHANGE_PROPERTY_UNITS:\n state.property.units = action.payload; break;\n case CHANGE_PROPERTY_YEARBUILT:\n state.property.yearbuilt = action.payload; break;\n case CHANGE_PROPERTY_INWHATNAME:\n state.property.inwhatname = action.payload; break;\n case CHANGE_PROPERTY_ESTATEHELDIN:\n state.property.estateheldin = action.payload; break;\n case CHANGE_PROPERTY_INWHATMANNER:\n state.property.inwhatmanner = action.payload; break;\n case CHANGE_PROPERTY_SOURCES:\n state.property.sources = action.payload; break; \n case CHANGE_PROPERTY_ATTRIBUTE: {\n state.property[action.verb] = action.payload\n break;\n } \n case CHANGE_PROPERTY_REFINANCE_YEARACQUIRED:\n state.property.refinance.yearacquired = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_ORIGINALCOST:\n state.property.refinance.originalcost = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_PURPOSE:\n state.property.refinance.purpose = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC:\n state.property.refinance.improvementsdesc = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS:\n state.property.refinance.improvementsstatus = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_COST:\n state.property.refinance.cost = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER:\n state.property.refinance.explainotherpurpose = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_ATTRIBUTE:\n state.property.refinance[action.verb] = action.payload; break;\n case CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED:\n state.property.construction.yearacquired = action.payload; break;\n case CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST:\n state.property.construction.originalcost = action.payload; break;\n case CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS:\n state.property.construction.existingliens = action.payload; break;\n case CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS:\n state.property.refinance.existingliens = action.payload; break;\n case CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE:\n state.property.construction.presentvalue = action.payload; break;\n case CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS:\n state.property.construction.costofimprovements = action.payload; break;\n case CHANGE_DECLARATIONS: {\n let obj = state[action.who].declarations \n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_MAINPROPERTY_EXPIRATION: {\n state.property.expirationdate = action.payload\n break;\n } \n case CHANGE_MAINPROPERTY_PROPERTYTYPE: {\n state.property.propertytype = action.payload\n break;\n }\n case CHANGE_MOBILE_HOME_INFO: {\n state.property.mobilehomeinfo[action.verb] = action.payload\n break;\n } \n case CHANGE_MAINPROPERTY: {\n let obj = state.property\n let secs = action.verb.split('|')\n\n for(let i = 0; i < secs.length - 1; i++) {\n obj = obj[secs[i]]\n }\n obj[secs[secs.length - 1]] = action.payload\n break;\n } \n \n case CHANGE_EQUAL_OPPORTUNITY: {\n let obj = state[action.who].equalopportunity\n obj[action.verb] = action.payload\n break;\n }\n case CHANGE_EQUAL_OPPORTUNITY_SUB: { \n let obj = state[action.who].equalopportunity\n let secs = action.section.split('|')\n secs.forEach( sec => {\n obj = obj[sec]\n })\n obj[action.verb] = action.payload\n break;\n } \n case CHANGE_PRODUCT: {\n let obj = state.product\n obj[action.verb] = action.payload \n break;\n }\n case CHANGE_TRANSACTION:{\n let obj = state.transaction\n obj[action.verb] = action.payload \n break;\n }\n case CHANGE_SOLAR_PANELS: {\n state.property.solarpanels[action.verb] = action.payload\n break\n }\n case UPDATE_CANNOTSHOPSERVICES: {\n \n let obj = state.selection.selectedloan.estimatedclosingcosts.cannotshopservices\n let i = 0\n let found = false\n for(; i < obj.length; i++) {\n if(obj[i].servicename === action.servicename) {\n obj[i].estimateamount = action.estimateamount\n found = true\n break\n }\n }\n if(found)\n break\n let newfee = new service()\n newfee.servicename = action.servicename\n newfee.estimateamount = action.estimateamount\n obj.push(newfee)\n break\n }\n case UPDATE_CANSHOPSERVICES: {\n let obj = state.selection.selectedloan.estimatedclosingcosts.canshopservices\n let i = 0\n let found = false\n for(; i < obj.length; i++) {\n if(obj[i].servicename === action.servicename) {\n obj[i].estimateamount = action.estimateamount\n found = true\n break\n }\n }\n if(found)\n break\n let newfee = new service()\n newfee.servicename = action.servicename\n newfee.estimateamount = action.estimateamount\n obj.push(newfee)\n break\n }\n case UPDATE_FEES: {\n let obj = state.selection.selectedloan.estimatedclosingcosts\n obj[action.feename] = action.estimateamount\n break\n } \n case UPDATE_ORIGINALCOSTS: {\n let obj = state.selection.selectedloan.estimatedclosingcosts.originalcosts\n let i = 0\n let found = false\n for(; i < obj.length; i++) {\n if(obj[i].chargename === action.chargename) {\n obj[i].estimateamount = action.estimateamount\n found = true\n break\n }\n }\n if(found)\n break\n let newfee = new charge()\n newfee.chargename = action.chargename\n newfee.estimateamount = action.estimateamount\n obj.push(newfee)\n break\n }\n case UPDATE_OTHERCOSTS: {\n let obj = state.selection.selectedloan.estimatedclosingcosts.othercosts\n let i = 0\n let found = false\n for(; i < obj.length; i++) {\n if(obj[i].chargename === action.chargename) {\n obj[i].estimateamount = action.estimateamount\n found = true\n break\n }\n }\n if(found)\n break\n let newfee = new charge()\n newfee.chargename = action.chargename\n newfee.estimateamount = action.estimateamount\n obj.push(newfee)\n break\n }\n case ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS: {\n state.selection.selectedloan.estimatedclosingcosts = cloneDeep(action.payload)\n break\n }\n case ADD_SELECTEDLOAN_SERVICE: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].servicename === action.chargename) {\n found = true\n break\n }\n } \n if(found)\n break \n let newfee = new service()\n newfee.servicename = action.chargename\n newfee.estimateamount = 0\n obj.push(newfee)\n break;\n }\n case REMOVE_SELECTEDLOAN_SERVICE: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].servicename === action.chargename) {\n found = true\n break\n }\n } \n if(found) {\n obj.splice(index, 1)\n } \n break;\n }\n case ADD_SELECTEDLOAN_CHARGE: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].chargename === action.chargename) {\n found = true\n break\n }\n } \n if(found)\n break \n let newfee = new charge()\n newfee.chargename = action.chargename\n newfee.estimateamount = 0\n obj.push(newfee)\n break;\n }\n case REMOVE_SELECTEDLOAN_CHARGE: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].chargename === action.chargename) {\n found = true\n break\n }\n } \n if(found) {\n obj.splice(index, 1)\n } \n break;\n } \n\n case ADD_SELECTEDLOAN_PREPAID: {\n \n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].paymentname === action.chargename) {\n found = true\n break\n }\n } \n if(found)\n break\n let newfee = new payment()\n newfee.paymentname = action.chargename\n newfee.estimateamount = 0\n newfee.period = action.period\n obj.push(newfee)\n break;\n }\n case REMOVE_SELECTEDLOAN_PREPAID: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n for(; index < obj.length; index++) {\n if(obj[index].paymentname === action.chargename) {\n found = true\n break\n }\n } \n if(found) {\n obj.splice(index, 1)\n } \n break;\n } \n\n case UPDATE_PAYMENT_PERIOD: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service] \n let index = 0\n\n for(; index < obj.length; index++) {\n if(obj[index].paymentname === action.name) {\n obj[index].prepaidperiods = action.period\n break\n }\n } \n break\n }\n case UPDATE_PAYMENT_AMOUNT: {\n let obj = state.selection.selectedloan.estimatedclosingcosts[action.service] \n let index = 0\n\n for(; index < obj.length; index++) {\n if(obj[index].paymentname === action.name) {\n obj[index ].amount = action.amount\n break\n }\n } \n break\n }\n case UPDATE_PREPAID_DEFAULT: {\n let obj = state.selection.estimatedclosingcosts[action.service]\n let found = false\n let index = 0\n let entry\n for(; index < obj.length; index++) {\n if(obj[index].paymentname === action.name) {\n found = true\n entry = obj[index]\n break\n }\n } \n if(!found) {\n entry = new payment()\n obj.push(entry) \n } \n\n entry.paymentname = action.name\n entry.amount = action.amount\n entry.period = action.period \n entry.prepaidperiods = action.prepaidperiods\n break;\n }\n case ADD_NEW_MORTGAGE_LOAN: {\n let obj = state.assetsandliabilities\n if(null === obj.newloans)\n obj.newloans = []\n let add = new newmortgage()\n add.key = Math.random().toString() \n obj.newloans.push(add)\n break; \n }\n case BULKADD_NEW_MORTGAGE_LOAN: {\n let obj = state.assetsandliabilities\n obj.newloans = action.payload\n break; \n }\n case REMOVE_NEW_MORTGAGE_LOAN: {\n let obj = state.assetsandliabilities\n obj.newloans.splice(parseInt(action.payload), 1) \n break\n }\n case CLEAR_NEW_MORTGAGE_LOANS: {\n let obj = state.assetsandliabilities\n obj.newloans = [] \n break;\n }\n case UPDATE_NEW_MORTGAGE_ATTRIBUTE: {\n\n let obj = state.assetsandliabilities\n obj.newloans[action.index][action.verb] = action.value\n break\n }\n case UPDATE_ESCROW_INFO: {\n if (state.escrowInfo === null) {\n state.escrowInfo = new escrowinfo()\n }\n state.escrowInfo[action.verb] = action.value\n break\n }\n case UPDATE_APPRAISAL_INFO: {\n if (state.appraisalInfo === null) {\n state.appraisalInfo = new appraisalinfo()\n }\n if (action.index !== undefined) {\n state.appraisalInfo.appraisaldetails[action.index][action.verb] = action.value\n } else {\n state.appraisalInfo[action.verb] = action.value\n }\n break\n }\n default:\n break;\n }\n return JSON.parse( state.toJson() );\n}\n\nexport default applicationReducer;","export const CHANGE_PROGRESS = \"CHANGE_PROGRESS\"\nexport const CHANGE_PROGRESS_TYPE = \"CHANGE_PROGRESS_TYPE\"\nexport const CHANGE_PROGRESS_VISITED = \"CHANGE_PROGRESS_VISITED\"\nexport const CHANGE_PROGRESS_LASTVISITED = \"CHANGE_PROGRESS_LASTVISITED\"\nexport const CHANGE_PROGRESS_LASTTOUCH = \"CHANGE_PROGRESS_LASTTOUCH\"\nexport const CHANGE_PROGRESS_STEP = \"CHANGE_PROGRESS_STEP\"\n","import {\n CHANGE_PROGRESS,\n CHANGE_PROGRESS_TYPE,\n CHANGE_PROGRESS_VISITED,\n CHANGE_PROGRESS_LASTVISITED,\n CHANGE_PROGRESS_LASTTOUCH,\n CHANGE_PROGRESS_STEP,\n} from '../Defs/progressdefs'\n\n\nimport { progress } from '../State.js'\n\nconst initialProgress = new progress()\nconst initialProgressJSON = JSON.parse(initialProgress.toJson() )\nexport default function progressReducer(state = initialProgressJSON, action) {\n state = progress.fromJson(state)\n\n switch (action.type) {\n case CHANGE_PROGRESS_LASTVISITED: {\n let obj = state\n\n if (!obj.tasks) {\n obj.tasks = {}\n }\n obj.tasks.lastvisited = action.payload;\n break;\n }\n case CHANGE_PROGRESS_LASTTOUCH: {\n state.lasttouch = action.payload\n break;\n }\n case CHANGE_PROGRESS_STEP: {\n state.interview.step = action.payload\n break;\n }\n case CHANGE_PROGRESS: {\n let obj = state\n if(action.stage !== \"max\")\n obj.stage = action.stage\n switch (action.stage) {\n case \"interview\":\n obj.interview.step = action.payload;\n break;\n case \"max\":\n obj.interview.max = action.payload;\n break;\n case \"loinput\":\n obj.loinput.step = action.payload;\n break;\n\n default:\n\n break;\n }\n break;\n }\n case CHANGE_PROGRESS_TYPE: {\n let obj = state\n obj.stage = action.stage\n break;\n }\n case CHANGE_PROGRESS_VISITED: {\n state.interview[action.verb] = true\n break\n }\n default:\n break;\n }\n return JSON.parse(state.toJson() );\n}\n","const initState = {\n currentInfo: {},\n\n}\nexport default function commonReducer(state = initState, action) {\n const { type, data } = action\n switch (type) {\n case 'SUBSCRIPTION_INFO': {\n return {\n\n ...state,\n currentInfo: data\n }\n\n }\n\n\n default:\n break\n }\n return state\n}","export const UPDATE_STATUS = \"UPDATE_STATUS\";","import { UPDATE_STATUS } from \"../Defs/statusdefs\";\n\nconst initialState = {\n status: \"idle\", // initial status can be 'idle'\n};\n\nconst updateStatusReducer = (state = initialState, action) => {\n switch (action.type) {\n case UPDATE_STATUS:\n return {\n ...state,\n status: action.payload,\n };\n default:\n return state;\n }\n};\n\nexport default updateStatusReducer;\n","export const ACCOUNT_INFO = \"ACCOUNT_INFO\";\nexport const IS_HARD_MONEY_LOAN = \"IS_HARD_MONEY_LOAN\";\nexport const UPDATE_LEAD_SOURCE = \"UPDATE_LEAD_SOURCE\";\n","import { IS_HARD_MONEY_LOAN, UPDATE_LEAD_SOURCE } from \"../Defs/accountinfodefs\";\n\nconst initialState = {};\n\nconst accountInfoReducer = (state = initialState, action) => {\n switch (action.type) {\n case IS_HARD_MONEY_LOAN:\n return {\n ...state,\n isHardMoneyLoan: action.payload,\n };\n case UPDATE_LEAD_SOURCE:\n return {\n ...state,\n leadSource: action.payload,\n };\n default:\n return state;\n }\n};\n\nexport default accountInfoReducer;\n","import applicationReducer from './application'\nimport progressReducer from './progress'\nimport commonReducer from './common'\nimport { combineReducers } from 'redux';\nimport updateStatusReducer from './status';\nimport accountInfoReducer from './accountinfo';\n\nlet rootReducer = combineReducers({\n application: applicationReducer,\n progress: progressReducer,\n updateStatus: updateStatusReducer,\n accountInfo: accountInfoReducer,\n common:commonReducer\n });\n\nexport default rootReducer;","export const borrower = \"borrower\"\nexport const coborrower = \"coborrower\"\n\nexport function getUserId() {\n\tconst token = sessionStorage.getItem(\"ZeitroA\")\n\tif (!token) return -1\n\n\tconst jes = atob(token.split('.')[1])\n\tconst js = JSON.parse(jes)\n\treturn js.id\n}\n\nexport function getStatus(id, list) {\n\tif (!list) return undefined\n\tconst status = list.find(item => item.ID === id)\n\treturn status === undefined ? null : status.AccountTier\n}\n\nexport function getLoId() {\n\tconst token = sessionStorage.getItem(\"ZeitroA\")\n\tif (!token) return -1\n\n\tconst jes = atob(token.split('.')[1])\n\tconst js = JSON.parse(jes)\n\treturn js.loanofficerid\n}\n\nexport function getLoInfo() {\n\tconst token = sessionStorage.getItem(\"ZeitroA\")\n\tif (!token) return -1\n\n\tconst jes = atob(token.split('.')[1])\n\tconst js = JSON.parse(jes)\n\treturn js\n}\n\nexport function getUserToken() {\n\treturn sessionStorage.getItem(\"ZeitroA\")\n}\n\nlet customerid = null\nexport function getCustomerId() {\n\tif (customerid != null) return customerid\n\n\tconst token = getUserToken()\n\tif (null == token) return null\n\tconst sp = token.split('.')\n\tconst s = atob(sp[1])\n\tconst j = JSON.parse(s)\n\tcustomerid = j.customerid\n\treturn j.customerid\n}\n\nexport function isHardMoneyLoanCustomer() {\n\tconst token = getUserToken()\n\tif (null == token) return null\n\tconst sp = token.split('.')\n\tconst s = atob(sp[1])\n\tconst j = JSON.parse(s)\n\treturn j.ishardmoneyloancustomer\n}\n\nexport function getCustomerEmail() {\n\tconst token = sessionStorage.getItem(\"ZeitroA\")\n\tif (!token) return \"\"\n\n\tconst jes = atob(token.split('.')[1])\n\tconst js = JSON.parse(jes)\n\treturn js.email\n}\n\n\nexport function hex2ascii(hex) {\n\t// first build array\n\tconst arr = []\n\tfor (let i = 0; i < hex.length; i += 2) {\n\t\tarr.push(parseInt(hex.substr(i, 2), 16))\n\t}\n\n\tconst dec = new TextDecoder()\n\tconst str = dec.decode(Uint8Array.from(arr))\n\treturn str\n}\n\nexport function ascii2hex(str) {\n\tconst encoder = new TextEncoder()\n\tconst arr = encoder.encode(str)\n\tlet hex = ''\n\tfor (let i = 0; i < arr.length; i++) {\n\t\thex += arr[i].toString(16);\n\t}\n\n\treturn hex\n}\n\nexport function fixPhoneInput(input) {\n\tif (!/^\\d$/.test(input[0]) && input[0] !== '(') {\n\t\treturn ''\n\t}\n\n\tif (input[0] === 'N') return input\n\n\tconst size = input.length\n\tif (size === 1) {\n\t\tif (input[0] !== '(')\n\t\t\tinput = '(' + input[0]\n\t} else if (size === 5) {\n\t\tif (input[4] !== ')') {\n\t\t\tinput = input.substr(0, 4) + ')-' + input[4]\n\t\t}\n\t} else if (size === 6) {\n\t\tif (input[5] !== '-') {\n\t\t\tinput = input.substr(0, 5) + '-' + input[5]\n\t\t}\n\t} else if (size === 10) {\n\t\tconst cleanedValue = input.replace(/\\D/g, '')\n\t\tif (cleanedValue.length === 10) {\n\t\t\tinput = \"(\" + cleanedValue.substr(0, 3) + \")-\" + cleanedValue.substr(3, 3) + \"-\" + cleanedValue.substr(6, 4)\n\t\t}\n\t\tif (input[9] !== '-') {\n\t\t\tinput = input.substr(0, 9) + '-' + input[9]\n\t\t}\n\t} else if (size === 11) {\n\t\tconst cleanedValue = input.replace(/\\D/g, '')\n\t\tif (cleanedValue.length === 11) {\n\t\t\tconst n = cleanedValue\n\t\t\tinput = \"(\" + n.substr(1, 3) + \")-\" + n.substr(4, 3) + \"-\" + n.substr(7, 4)\n\t\t}\n\t}\n\tinput = input.replace(/[^0-9()-]/g, '');\n\tinput = input.substring(0, 14);\n\treturn input;\n}\n\n// Regular expression for validating phone numbers in various formats\nexport const phoneRegex = /^[+]?[(]?[0-9]{3}[)]?[-\\s.]?[0-9]{3}[-\\s.]?[0-9]{4,6}$/\n\n// Regular expression for validating email addresses\nexport const emailRegex = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,})+$/\n\nexport function fixDateInput(input) {\n\t// Based upon the length of the string, we add formatting as necessary\n\tvar size = input.length;\n\tif (size === 2) {\n\t\tif (input[1] === '/')\n\t\t\tinput = '0' + input\n\t} else if (size <= 2) {\n\t\tinput = input.replace(/\\D/g, '');\n\t} else if (size === 3) {\n\t\tif (input[2] === '/') {\n\t\t} else {\n\t\t\tinput = input.substr(0, 2) + '/' + input[2]\n\t\t}\n\t} else if (size === 6) {\n\t\tif (input[5] === '/') {\n\t\t} else {\n\t\t\tinput = input.substr(0, 5) + '/' + input[5]\n\t\t}\n\t}\n\tinput = input.replace(/[^0-9/]/g, '');\n\tinput = input.substring(0, 10);\n\treturn input;\n}\n\nexport function fixSSN(input) {\n\tvar size = input.length;\n\tif (size <= 3) {\n\t\tinput = input.replace(/\\D/g, '');\n\t} else if (size === 4) {\n\t\tif (input[3] !== '-') {\n\t\t\tinput = input.substr(0, 3) + \"-\" + input[3]\n\t\t}\n\t} else if (size === 7) {\n\t\tif (input[6] !== '-') {\n\t\t\tinput = input.substr(0, 6) + \"-\" + input[6]\n\t\t}\n\t}\n\tinput = input.replace(/[^0-9-]/g, '');\n\tinput = input.substr(0, 11)\n\treturn input;\n}\nexport const mapAbbrFullName = { \"AZ\": \"Arizona\", \"AL\": \"Alabama\", \"AK\": \"Alaska\", \"AR\": \"Arkansas\", \"CA\": \"California\", \"CO\": \"Colorado\", \"CT\": \"Connecticut\", \"DC\": \"District of Columbia\", \"DE\": \"Delaware\", \"FL\": \"Florida\", \"GA\": \"Georgia\", \"HI\": \"Hawaii\", \"ID\": \"Idaho\", \"IL\": \"Illinois\", \"IN\": \"Indiana\", \"IA\": \"Iowa\", \"KS\": \"Kansas\", \"KY\": \"Kentucky\", \"LA\": \"Louisiana\", \"ME\": \"Maine\", \"MD\": \"Maryland\", \"MA\": \"Massachusetts\", \"MI\": \"Michigan\", \"MN\": \"Minnesota\", \"MS\": \"Mississippi\", \"MO\": \"Missouri\", \"MT\": \"Montana\", \"NE\": \"Nebraska\", \"NV\": \"Nevada\", \"NH\": \"New Hampshire\", \"NJ\": \"New Jersey\", \"NM\": \"New Mexico\", \"NY\": \"New York\", \"NC\": \"North Carolina\", \"ND\": \"North Dakota\", \"OH\": \"Ohio\", \"OK\": \"Oklahoma\", \"OR\": \"Oregon\", \"PA\": \"Pennsylvania\", \"RI\": \"Rhode Island\", \"SC\": \"South Carolina\", \"SD\": \"South Dakota\", \"TN\": \"Tennessee\", \"TX\": \"Texas\", \"UT\": \"Utah\", \"VT\": \"Vermont\", \"VA\": \"Virginia\", \"WA\": \"Washington\", \"WV\": \"West Virginia\", \"WI\": \"Wisconsin\", \"WY\": \"Wyoming\", \"AB\": \"Alberta\", \"BC\": \"British Columbia\", \"MB\": \"Manitoba\", \"NB\": \"New Brunswick\", \"NF\": \"Newfoundland\", \"NT\": \"Northwest Territory\", \"NS\": \"Nova Scotia\", \"NU\": \"Nunavut\", \"ON\": \"Ontario\", \"PE\": \"Prince Edward Island\", \"QC\": \"Quebec\", \"SK\": \"Saskatchewan\", \"YT\": \"Yukon\" };\nexport const mapFullNameAbbr = { \"arizona\": \"AZ\", \"alabama\": \"AL\", \"alaska\": \"AK\", \"arkansas\": \"AR\", \"california\": \"CA\", \"colorado\": \"CO\", \"connecticut\": \"CT\", \"districtofcolumbia\": \"DC\", \"delaware\": \"DE\", \"florida\": \"FL\", \"georgia\": \"GA\", \"hawaii\": \"HI\", \"idaho\": \"ID\", \"illinois\": \"IL\", \"indiana\": \"IN\", \"iowa\": \"IA\", \"kansas\": \"KS\", \"kentucky\": \"KY\", \"louisiana\": \"LA\", \"maine\": \"ME\", \"maryland\": \"MD\", \"massachusetts\": \"MA\", \"michigan\": \"MI\", \"minnesota\": \"MN\", \"mississippi\": \"MS\", \"missouri\": \"MO\", \"montana\": \"MT\", \"nebraska\": \"NE\", \"nevada\": \"NV\", \"newhampshire\": \"NH\", \"newjersey\": \"NJ\", \"newmexico\": \"NM\", \"newyork\": \"NY\", \"northcarolina\": \"NC\", \"northdakota\": \"ND\", \"ohio\": \"OH\", \"oklahoma\": \"OK\", \"oregon\": \"OR\", \"pennsylvania\": \"PA\", \"rhodeisland\": \"RI\", \"southcarolina\": \"SC\", \"southdakota\": \"SD\", \"tennessee\": \"TN\", \"texas\": \"TX\", \"utah\": \"UT\", \"vermont\": \"VT\", \"virginia\": \"VA\", \"washington\": \"WA\", \"westvirginia\": \"WV\", \"wisconsin\": \"WI\", \"wyoming\": \"WY\", \"alberta\": \"AB\", \"britishcolumbia\": \"BC\", \"manitoba\": \"MB\", \"newbrunswick\": \"NB\", \"newfoundland\": \"NF\", \"northwestterritory\": \"NT\", \"novascotia\": \"NS\", \"nunavut\": \"NU\", \"ontario\": \"ON\", \"princeedwardisland\": \"PE\", \"quebec\": \"QC\", \"saskatchewan\": \"SK\", \"yukon\": \"YT\" }\nexport const mapCountry = {\"BD\":\"Bangladesh\",\"BE\":\"Belgium\",\"BF\":\"Burkina Faso\",\"BG\":\"Bulgaria\",\"BA\":\"Bosnia and Herzegovina\",\"BB\":\"Barbados\",\"WF\":\"Wallis and Futuna\",\"BL\":\"Saint Barthelemy\",\"BM\":\"Bermuda\",\"BN\":\"Brunei\",\"BO\":\"Bolivia\",\"BH\":\"Bahrain\",\"BI\":\"Burundi\",\"BJ\":\"Benin\",\"BT\":\"Bhutan\",\"JM\":\"Jamaica\",\"BV\":\"Bouvet Island\",\"BW\":\"Botswana\",\"WS\":\"Samoa\",\"BQ\":\"Bonaire, Saint Eustatius and Saba \",\"BR\":\"Brazil\",\"BS\":\"Bahamas\",\"JE\":\"Jersey\",\"BY\":\"Belarus\",\"BZ\":\"Belize\",\"RU\":\"Russia\",\"RW\":\"Rwanda\",\"RS\":\"Serbia\",\"TL\":\"East Timor\",\"RE\":\"Reunion\",\"TM\":\"Turkmenistan\",\"TJ\":\"Tajikistan\",\"RO\":\"Romania\",\"TK\":\"Tokelau\",\"GW\":\"Guinea-Bissau\",\"GU\":\"Guam\",\"GT\":\"Guatemala\",\"GS\":\"South Georgia and the South Sandwich Islands\",\"GR\":\"Greece\",\"GQ\":\"Equatorial Guinea\",\"GP\":\"Guadeloupe\",\"JP\":\"Japan\",\"GY\":\"Guyana\",\"GG\":\"Guernsey\",\"GF\":\"French Guiana\",\"GE\":\"Georgia\",\"GD\":\"Grenada\",\"GB\":\"United Kingdom\",\"GA\":\"Gabon\",\"SV\":\"El Salvador\",\"GN\":\"Guinea\",\"GM\":\"Gambia\",\"GL\":\"Greenland\",\"GI\":\"Gibraltar\",\"GH\":\"Ghana\",\"OM\":\"Oman\",\"TN\":\"Tunisia\",\"JO\":\"Jordan\",\"HR\":\"Croatia\",\"HT\":\"Haiti\",\"HU\":\"Hungary\",\"HK\":\"Hong Kong\",\"HN\":\"Honduras\",\"HM\":\"Heard Island and McDonald Islands\",\"VE\":\"Venezuela\",\"PR\":\"Puerto Rico\",\"PS\":\"Palestinian Territory\",\"PW\":\"Palau\",\"PT\":\"Portugal\",\"SJ\":\"Svalbard and Jan Mayen\",\"PY\":\"Paraguay\",\"IQ\":\"Iraq\",\"PA\":\"Panama\",\"PF\":\"French Polynesia\",\"PG\":\"Papua New Guinea\",\"PE\":\"Peru\",\"PK\":\"Pakistan\",\"PH\":\"Philippines\",\"PN\":\"Pitcairn\",\"PL\":\"Poland\",\"PM\":\"Saint Pierre and Miquelon\",\"ZM\":\"Zambia\",\"EH\":\"Western Sahara\",\"EE\":\"Estonia\",\"EG\":\"Egypt\",\"ZA\":\"South Africa\",\"EC\":\"Ecuador\",\"IT\":\"Italy\",\"VN\":\"Vietnam\",\"SB\":\"Solomon Islands\",\"ET\":\"Ethiopia\",\"SO\":\"Somalia\",\"ZW\":\"Zimbabwe\",\"SA\":\"Saudi Arabia\",\"ES\":\"Spain\",\"ER\":\"Eritrea\",\"ME\":\"Montenegro\",\"MD\":\"Moldova\",\"MG\":\"Madagascar\",\"MF\":\"Saint Martin\",\"MA\":\"Morocco\",\"MC\":\"Monaco\",\"UZ\":\"Uzbekistan\",\"MM\":\"Myanmar\",\"ML\":\"Mali\",\"MO\":\"Macao\",\"MN\":\"Mongolia\",\"MH\":\"Marshall Islands\",\"MK\":\"Macedonia\",\"MU\":\"Mauritius\",\"MT\":\"Malta\",\"MW\":\"Malawi\",\"MV\":\"Maldives\",\"MQ\":\"Martinique\",\"MP\":\"Northern Mariana Islands\",\"MS\":\"Montserrat\",\"MR\":\"Mauritania\",\"IM\":\"Isle of Man\",\"UG\":\"Uganda\",\"TZ\":\"Tanzania\",\"MY\":\"Malaysia\",\"MX\":\"Mexico\",\"IL\":\"Israel\",\"FR\":\"France\",\"IO\":\"British Indian Ocean Territory\",\"SH\":\"Saint Helena\",\"FI\":\"Finland\",\"FJ\":\"Fiji\",\"FK\":\"Falkland Islands\",\"FM\":\"Micronesia\",\"FO\":\"Faroe Islands\",\"NI\":\"Nicaragua\",\"NL\":\"Netherlands\",\"NO\":\"Norway\",\"NA\":\"Namibia\",\"VU\":\"Vanuatu\",\"NC\":\"New Caledonia\",\"NE\":\"Niger\",\"NF\":\"Norfolk Island\",\"NG\":\"Nigeria\",\"NZ\":\"New Zealand\",\"NP\":\"Nepal\",\"NR\":\"Nauru\",\"NU\":\"Niue\",\"CK\":\"Cook Islands\",\"XK\":\"Kosovo\",\"CI\":\"Ivory Coast\",\"CH\":\"Switzerland\",\"CO\":\"Colombia\",\"CN\":\"China\",\"CM\":\"Cameroon\",\"CL\":\"Chile\",\"CC\":\"Cocos Islands\",\"CA\":\"Canada\",\"CG\":\"Republic of the Congo\",\"CF\":\"Central African Republic\",\"CD\":\"Democratic Republic of the Congo\",\"CZ\":\"Czech Republic\",\"CY\":\"Cyprus\",\"CX\":\"Christmas Island\",\"CR\":\"Costa Rica\",\"CW\":\"Curacao\",\"CV\":\"Cape Verde\",\"CU\":\"Cuba\",\"SZ\":\"Swaziland\",\"SY\":\"Syria\",\"SX\":\"Sint Maarten\",\"KG\":\"Kyrgyzstan\",\"KE\":\"Kenya\",\"SS\":\"South Sudan\",\"SR\":\"Suriname\",\"KI\":\"Kiribati\",\"KH\":\"Cambodia\",\"KN\":\"Saint Kitts and Nevis\",\"KM\":\"Comoros\",\"ST\":\"Sao Tome and Principe\",\"SK\":\"Slovakia\",\"KR\":\"South Korea\",\"SI\":\"Slovenia\",\"KP\":\"North Korea\",\"KW\":\"Kuwait\",\"SN\":\"Senegal\",\"SM\":\"San Marino\",\"SL\":\"Sierra Leone\",\"SC\":\"Seychelles\",\"KZ\":\"Kazakhstan\",\"KY\":\"Cayman Islands\",\"SG\":\"Singapore\",\"SE\":\"Sweden\",\"SD\":\"Sudan\",\"DO\":\"Dominican Republic\",\"DM\":\"Dominica\",\"DJ\":\"Djibouti\",\"DK\":\"Denmark\",\"VG\":\"British Virgin Islands\",\"DE\":\"Germany\",\"YE\":\"Yemen\",\"DZ\":\"Algeria\",\"US\":\"United States\",\"UY\":\"Uruguay\",\"YT\":\"Mayotte\",\"UM\":\"United States Minor Outlying Islands\",\"LB\":\"Lebanon\",\"LC\":\"Saint Lucia\",\"LA\":\"Laos\",\"TV\":\"Tuvalu\",\"TW\":\"Taiwan\",\"TT\":\"Trinidad and Tobago\",\"TR\":\"Turkey\",\"LK\":\"Sri Lanka\",\"LI\":\"Liechtenstein\",\"LV\":\"Latvia\",\"TO\":\"Tonga\",\"LT\":\"Lithuania\",\"LU\":\"Luxembourg\",\"LR\":\"Liberia\",\"LS\":\"Lesotho\",\"TH\":\"Thailand\",\"TF\":\"French Southern Territories\",\"TG\":\"Togo\",\"TD\":\"Chad\",\"TC\":\"Turks and Caicos Islands\",\"LY\":\"Libya\",\"VA\":\"Vatican\",\"VC\":\"Saint Vincent and the Grenadines\",\"AE\":\"United Arab Emirates\",\"AD\":\"Andorra\",\"AG\":\"Antigua and Barbuda\",\"AF\":\"Afghanistan\",\"AI\":\"Anguilla\",\"VI\":\"U.S. Virgin Islands\",\"IS\":\"Iceland\",\"IR\":\"Iran\",\"AM\":\"Armenia\",\"AL\":\"Albania\",\"AO\":\"Angola\",\"AQ\":\"Antarctica\",\"AS\":\"American Samoa\",\"AR\":\"Argentina\",\"AU\":\"Australia\",\"AT\":\"Austria\",\"AW\":\"Aruba\",\"IN\":\"India\",\"AX\":\"Aland Islands\",\"AZ\":\"Azerbaijan\",\"IE\":\"Ireland\",\"ID\":\"Indonesia\",\"UA\":\"Ukraine\",\"QA\":\"Qatar\",\"MZ\":\"Mozambique\"}\nexport function removeCountySuffix(input) {\n\tconst strInput = input.trim();\n\tif (strInput.endsWith(\" County\")) {\n\t\treturn strInput.substr(0, strInput.length - 7);\n\t}\n\n\treturn strInput;\n}\n\nexport function convertStateToAbbr(input) {\n\tif (input === undefined) return input;\n\n\tconst strInput = input.trim();\n\tif (strInput.length < 2)\n\t\treturn strInput;\n\n\tif (strInput.length === 2) {\n\t\t// already abbr, check if it's valid\n\t\tconst upStrInput = strInput.toUpperCase();\n\t\treturn mapAbbrFullName[upStrInput] ? upStrInput : strInput;\n\t}\n\n\tconst strStateToFind = strInput.toLowerCase().replace(/ /g, '');\n\tif (!(strStateToFind in mapFullNameAbbr))\n\t\treturn input;\n\n\tconst foundAbbr = mapFullNameAbbr[strStateToFind];\n\treturn foundAbbr;\n}\n\nexport function convertAbbStateToFull(input) {\n\tif (input === undefined) return input;\n\n\tconst strInput = input.trim();\n\tif (strInput.length !== 2)\n\t\treturn strInput;\n\n\tconst strStateToFind = strInput.toUpperCase().replace(/ /g, '');\n\tif (!(strStateToFind in mapAbbrFullName))\n\t\treturn input;\n\n\tconst foundAbbr = mapAbbrFullName[strStateToFind];\n\treturn foundAbbr;\n}\n\nexport function dateFromDate(input) {\n\treturn new Date(input)\n}\n\nexport function isEquivalent(a, b) {\n\tconst aProps = Object.getOwnPropertyNames(a);\n\tconst bProps = Object.getOwnPropertyNames(b);\n\n\tif (aProps.length !== bProps.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < aProps.length; i++) {\n\t\tconst propName = aProps[i];\n\t\tif (a[propName] !== b[propName]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport const relationships = {\n\tcivilunion: \"Civil union\",\n\tdomesticpartnership: \"Domestic partnership\",\n\treciprocalrelationship: \"Registered reciprocal beneficiary relationship\",\n\tother: \"Other type of legal relationship\",\n}\n\nexport const documents2sign = {\n\tform1003: [\"Form 1003\", \"Uniform Residential Loan Application - Fannie Mae\"],\n\tauthorization: [\"Autorization\", \"“Third Party Authorization Form\"],\n\tcertification: [\"Certification\", \"Certify that all the information you provided is true and complete\"],\n}\n\nexport const getDocType = (selectedfilename, comment, parsedData) => {\n\ttry {\n\t\tconst d = JSON.parse(parsedData)\n\t\tfor (const page of d.ExtractedData) {\n\t\t\tif (page.docType === \"manufactured home loan application\") {\n\t\t\t\treturn \"mobilehomeloanapplication\"\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.log(e)\n\t}\n\n\tconst m = {\n\t\t'id': documents[\"driverlicense\"].concat([\"I D\"]),\n\t\t\"w2\": documents[\"w2\"].concat([\"W2\"]),\n\t\t\"greencard\": documents[\"greencard\"].concat([\"Green Card\"]),\n\t\t\"bankstatement\": documents[\"bankstatements\"].concat([\"Bank Statement\"]),\n\t\t\"paystub\": documents[\"paystubs\"].concat([\"Paystub\"]),\n\t\t\"form1040\": documents[\"form1040\"],\n\t\t\"form1120s\": documents[\"form1120s\"],\n\t\t\"form1120\": documents[\"form1120\"],\n\t\t\"form1065\": documents[\"form1065\"],\n\t}\n\n\tfor (const doc in m) {\n\t\tfor (const name of m[doc]) {\n\t\t\tif (selectedfilename.toLowerCase().includes(name.toLowerCase()) || comment.toLowerCase().includes(name.toLowerCase()) ) {\n\t\t\t\treturn doc\n\t\t\t}\n\t\t}\n\t}\n\n\treturn \"\"\n}\n\nexport const documentsList = [\n\t\"Rental History\",\n\t\"Asset Statements\",\n\t\"Appraisal Report\",\n\t\"Bank Statements\",\n\t\"Business Tax Returns\",\n\t\"Copy of Rental/Lease Agreement\",\n\t\"Divorce Decree\",\n\t\"Drivers License\",\n\t\"Evidence of Property Insurance\",\n\t\"HOA statement\",\n\t\"Signed & Dated YTD Profit & Loss Statement with Balance Sheet\",\n\t\"Homeowners Insurance Declaration Page\",\n\t\"K-1 Statements\",\n\t\"Lease Agreement(s) for properties rented\",\n\t\"Mortgage Statement(s)\",\n\t\"Paystubs\",\n\t\"Social Security Card\",\n\t\"W-2s\",\n\t\"Permanent Resident Alien Documents\",\n\t\"Copy of the Borrower's current visa\",\n\t\"Purchase Agreement\",\n\t\"Form 1040\",\n\t\"Form 1065\",\n\t\"Form 1120S\",\n\t\"Form 1120\",\n\t\"Current mortgage statement\",\n\t\"Signed letter explaining how cash-out funds will be used\",\n\t\"Gift Letter\",\n\t\"Title Insurance Report\",\n]\n\nexport const documents = {\n\trentalhistory: [\"12 Months Rental History\", \"12 months cancelled checks, for current residence if renting, or 12 months bank transaction history, for direct transfers\"],\n\tassetstatements: [\"Asset Statements: 401k, IRA, Retirement accounts\", \"Most recent 2 months & all pages even if they are blank\"],\n\tbankstatements: [\"Bank Statements - Last 2 Months\", \"All bank statements for all accounts from the last 2 months. Include all numbered pages of all bank statements!\", \"Bank Statement\"],\n\tbusinesstaxreturns: [\"Business Tax Returns, Last 2 years\", \"Last 2 years for all businesses with 25% or more ownership. All pages and schedules.\"],\n\tbusinesstaxreturns1: [\"Business Tax Return, Last year\", \"Last year tax return for all businesses with 25% or more ownership. All pages and schedules.\"],\n\n\tcopyoflease: [\"Copy of Rental/Lease Agreement\", \"Current rental/lease agreement if renting current residence\"],\n\tdd214: [\"DD Form 214\", \"Certificate of release or discharge from active duty\"],\n\tdivorcedecree: [\"Divorce Decree\", \"Provide full divorce decree or separation agreement\"],\n\tdriverlicense: [\"Drivers License\", \"Legible state-issued drivers license\", \"I D\", \"id.\"],\n\tpropertyinsurance: [\"Evidence of Property Insurance\", \"For all properties owned\"],\n\ttaxreturns: [\"Federal Tax Returns, 2 years\", \"Last 2 years of federal tax returns to prove income, include all schedules\"],\n\ttaxreturns1: [\"Federal Tax Return, last year\", \"Last year federal tax returns to prove income, include all schedules\"],\n\tfinalclosingstatements: [\"Final Closing Statements\", \"For all properties bought in last 2 years\"],\n\thoastatement: [\"HOA statement (if applicable)\", \"Most current statement\"],\n\tytdpnl: [\"Signed & Dated YTD Profit & Loss Statement with Balance Sheet\", \"Signed and dated YTD Profit & Loss Statement with Balance Sheet for the last year\"],\n\thomeownersinsuranceinfo: [\"Homeowners Insurance Declaration Page\", \"Provide the name and contact details for your insurance agent for the subject property\"],\n\tk1: [\"K-1 Statements, last 2 years\", \"Most recent 2 years of all K-1s listed on tax returns\"],\n\tk11: [\"K-1 Statement, last year\", \"Most recent year, all K-1s listed on tax returns\"],\n\tleaseagreements: [\"Lease Agreement(s) for properties rented\", \"For all properties owned that are currently rented\"],\n\tmortgagestatements: [\"Mortgage Statement(s)\", \"Most recent for all properties owned\"],\n\tpaystubs: [\"Paystubs - Received in Last 30 Days\", \"Last 30 days of pay stubs to prove income\", \"Paystub\", \"pay stub\", \"paycheck\"],\n\tpentionstatement: [\"Pension Award Letter\", \"Most recent statement\"],\n\tprivatemoneyloan: [\"Copy of the Private Note\", \"Complete all fields\"],\n\tsocialsecurityaward: [\"Social Security Award Letter\", \"Obtained from the Social Security Administration\"],\n\tsocialsecuritycard: [\"Social Security Card\", \"Legible social security card to prove social security number\"],\n\tw2: [\"W-2s - Last 2 Years\", \"Last 2 years of W-2s to prove income\", \"W2\"],\n\tgreencard: [\"Permanent Resident Alien Documents\", `One of the following must be reviewed during underwriting and presented at closing in order to complete the Alien Status ID Certification Form:\n Valid alien registration card (INS I-551).\n Conditional alien registration receipt card (INS Form I-551) with a valid INS Form I-751 filing receipt (petition to remove the conditions of residency).\n Valid foreign passport which contains the reading “Processed for I-551, Temporary evidence of lawful admission for permanent residency. Valid from (date), Employment Authorized.`, \"Green Card\"],\n\ti94: [\"Non-permanent Resident Alien Documents\", `All non-permanent resident aliens must provide evidence of their legal presence in the U.S.\n While not mandated as required documentation, the following are examples that may assist in determining the Borrower’s legal presence in the U.S.:\n Copy of the Borrower’s current visa, or\n Copy of the Borrower’s valid I-94, or\n Copy of the Employment Authorization Document (EAD) as evidence that the borrower is authorized for employment in the U.S., or\n I-797 (Notice of Action) approval notice of an I-140 (Immigrant Petition for Alien Worker) filed by the Borrower’s employer, or\n If a Borrower has filed for permanent residency, an I-797 Receipt Notice of an I-485 (Application to Register Permanent Residence or Adjust Status).`],\n\tother: [\"Other\", \"Specified manually by loan officer\"],\n\tpurchaseagreement: [\"Purchase Agreement\", \"A legal document between the buyer and seller that outlines the terms and conditions for the sale of a property, and it is often required by the lender to assess loan eligibility and property value\"],\n\tform1040: [\"Form 1040\", \"Personal Tax Return\"],\n\tform1065: [\"Form 1065\"],\n\tform1120s: [\"Form 1120S\"],\n\tform1120: [\"Form 1120\"],\n\tyeeleecommon: [\"ID\", \"ID (Coborrower)\", \"Purchase Agreement\", \"Evidence of Insurance\", \"Preliminary Title report\", \"Real Estate Experience Proof\", \"Bank statement for recent two months\"],\n\tyeeleespouse: [\"Spousal Consent\"],\n\tyeeleeentityborrower: [\"Operating Agreement\", \"Tax ID\", \"Certificate of Good Standing\", \"Certificate of Formation\", \"Corporate Resolution\"],\n\tyeeleerehabloan: [\"Scope of work\", \"Total Cost and Breakdown\", \"Permit\"],\n\tyeeleerefinance: [\"Current mortgage statement\"],\n\tyeeleecashoutrefinance: [\"Signed letter explaining how cash-out funds will be used\"],\n\tyeeleemultifamily: [\"Rent roll\", \"Current Leases\", \"Borrower's Pro Forma\", \"Property Info: Unit mix and Sq.ft. for each unit\", \"Property Manager Contact Information\"],\n\tyeeleeloanwithbroker: [\"Broker Demand and ID\"],\n}\n\nexport function getSubaddress(address, key, typ) {\n\tif (typeof address.length === \"undefined\" || address.length === 0)\n\t\treturn \"\"\n\n\tfor (let i = 0; i < address.length; i++) {\n\t\tif (address[i].types[0] === key) {\n\t\t\treturn address[i][typ]\n\t\t}\n\t}\n\n\treturn \"\"\n}\n\nexport const streetTypeAbbreviations = {\n\t\"alley\": \"aly\",\n\t\"allee\": \"aly\",\n\t\"ally\": \"aly\",\n\t\"aly\": \"aly\",\n\n\t\"anex\": \"anx\",\n\t\"annex\": \"anx\",\n\t\"annx\": \"anx\",\n\t\"anx\": \"anx\",\n\n\t\"arcade\": \"arc\",\n\t\"arc\": \"arc\",\n\n\t\"avenue\": \"ave\",\n\t\"av\": \"ave\",\n\t\"aven\": \"ave\",\n\t\"avn\": \"ave\",\n\t\"anvue\": \"ave\",\n\t\"ave\": \"ave\",\n\n\t\"bayou\": \"byu\",\n\t\"bayoo\": \"byu\",\n\t\"byu\": \"byu\",\n\n\t\"beach\": \"bch\",\n\t\"bch\": \"bch\",\n\n\t\"bend\": \"bnd\",\n\t\"bnd\": \"bnd\",\n\n\t\"bluff\": \"blf\",\n\t\"bluf\": \"blf\",\n\t\"blf\": \"blf\",\n\n\t\"bottom\": \"btm\",\n\t\"bot\": \"btm\",\n\t\"bottm\": \"btm\",\n\t\"btm\": \"btm\",\n\n\t\"boulevard\": \"blvd\",\n\t\"boulv\": \"blvd\",\n\t\"boul\": \"blvd\",\n\t\"blvd\": \"blvd\",\n\n\t\"branch\": \"br\",\n\t\"brnch\": \"br\",\n\t\"br\": \"br\",\n\n\t\"bridge\": \"brg\",\n\t\"brdge\": \"brg\",\n\t\"brg\": \"brg\",\n\n\t\"brook\": \"brk\",\n\t\"brk\": \"brk\",\n\n\t\"brooks\": \"brks\",\n\t\"brks\": \"brks\",\n\n\t\"burg\": \"bg\",\n\t\"bg\": \"bg\",\n\n\t\"burgs\": \"bgs\",\n\t\"bgs\": \"bgs\",\n\n\t\"bypass\": \"byp\",\n\t\"bypa\": \"byp\",\n\t\"bypas\": \"byp\",\n\t\"byps\": \"byp\",\n\t\"byp\": \"byp\",\n\n\t\"camp\": \"cp\",\n\t\"cmp\": \"cp\",\n\t\"cp\": \"cp\",\n\n\t\"canyon\": \"cyn\",\n\t\"canyn\": \"cyn\",\n\t\"cnyn\": \"cyn\",\n\t\"cyn\": \"cyn\",\n\n\t\"cape\": \"cpe\",\n\t\"cpe\": \"cpe\",\n\n\t\"causeway\": \"cswy\",\n\t\"causwa\": \"cswy\",\n\t\"cswy\": \"cswy\",\n\n\t\"center\": \"ctr\",\n\t\"cen\": \"ctr\",\n\t\"cent\": \"ctr\",\n\t\"centr\": \"ctr\",\n\t\"centre\": \"ctr\",\n\t\"cnter\": \"ctr\",\n\t\"ctr\": \"ctr\",\n\n\t\"centers\": \"ctrs\",\n\t\"ctrs\": \"ctrs\",\n\n\t\"circle\": \"cir\",\n\t\"circ\": \"cir\",\n\t\"circl\": \"cir\",\n\t\"crcl\": \"cir\",\n\t\"crcle\": \"cir\",\n\t\"cir\": \"cir\",\n\n\t\"cliff\": \"clf\",\n\t\"clf\": \"clf\",\n\n\t\"cliffs\": \"clfs\",\n\t\"clfs\": \"clfs\",\n\n\t\"club\": \"clb\",\n\t\"clb\": \"clb\",\n\n\t\"common\": \"cmn\",\n\t\"cmn\": \"cmn\",\n\n\t\"commons\": \"cmns\",\n\t\"cmns\": \"cmns\",\n\n\t\"corner\": \"cor\",\n\t\"cor\": \"cor\",\n\n\t\"corners\": \"cors\",\n\t\"cors\": \"cors\",\n\n\t\"course\": \"crse\",\n\t\"crse\": \"crse\",\n\n\t\"court\": \"ct\",\n\t\"ct\": \"ct\",\n\n\t\"courts\": \"cts\",\n\t\"cts\": \"cts\",\n\n\t\"cove\": \"cv\",\n\t\"cv\": \"cv\",\n\n\t\"coves\": \"cvs\",\n\t\"cvs\": \"cvs\",\n\n\t\"cr\": \"county road\",\n\t\"county road\": \"county road\",\n\n\t\"creek\": \"crk\",\n\t\"crk\": \"crk\",\n\n\t\"crescent\": \"cres\",\n\t\"crsent\": \"cres\",\n\t\"crsnt\": \"cres\",\n\t\"cres\": \"cres\",\n\n\t\"crest\": \"crst\",\n\t\"crst\": \"crst\",\n\n\t\"crossing\": \"xing\",\n\t\"crssing\": \"xing\",\n\t\"xing\": \"xing\",\n\n\t\"crossroad\": \"xrd\",\n\t\"xrd\": \"xrd\",\n\n\t\"crossroads\": \"xrds\",\n\t\"xrds\": \"xrds\",\n\n\t\"curve\": \"curv\",\n\t\"curv\": \"curv\",\n\n\t\"dale\": \"dl\",\n\t\"dl\": \"dl\",\n\n\t\"dam\": \"dm\",\n\t\"dm\": \"dm\",\n\n\t\"divide\": \"dv\",\n\t\"div\": \"dv\",\n\t\"dvd\": \"dv\",\n\t\"dv\": \"dv\",\n\n\t\"drive\": \"dr\",\n\t\"driv\": \"dr\",\n\t\"drv\": \"dr\",\n\t\"dr\": \"dr\",\n\n\t\"drives\": \"drs\",\n\t\"drs\": \"drs\",\n\n\t\"estate\": \"est\",\n\t\"est\": \"est\",\n\n\t\"estates\": \"ests\",\n\t\"ests\": \"ests\",\n\n\t\"expressway\": \"expy\",\n\t\"expr\": \"expy\",\n\t\"express\": \"expy\",\n\t\"expw\": \"expy\",\n\t\"expy\": \"expy\",\n\n\t\"extension\": \"ext\",\n\t\"extn\": \"ext\",\n\t\"extnsn\": \"ext\",\n\t\"ext\": \"ext\",\n\n\t\"fall\": \"fall\",\n\n\t\"falls\": \"fls\",\n\t\"fls\": \"fls\",\n\n\t\"ferry\": \"fry\",\n\t\"frry\": \"fry\",\n\t\"fry\": \"fry\",\n\n\t\"field\": \"fld\",\n\t\"fld\": \"fld\",\n\n\t\"fields\": \"flds\",\n\t\"flds\": \"flds\",\n\n\t\"flat\": \"flt\",\n\t\"flt\": \"flt\",\n\n\t\"flats\": \"flts\",\n\t\"flts\": \"flts\",\n\n\t\"ford\": \"frd\",\n\t\"frd\": \"frd\",\n\n\t\"fords\": \"frds\",\n\t\"frds\": \"frds\",\n\n\t\"forest\": \"frst\",\n\t\"frst\": \"frst\",\n\n\t\"forge\": \"frg\",\n\t\"forg\": \"frg\",\n\t\"frg\": \"frg\",\n\n\t\"forges\": \"frgs\",\n\t\"frgs\": \"frgs\",\n\n\t\"fork\": \"frk\",\n\t\"frk\": \"frk\",\n\n\t\"fort\": \"ft\",\n\t\"frt\": \"ft\",\n\t\"ft\": \"ft\",\n\n\t\"freeway\": \"fwy\",\n\t\"freewy\": \"fwy\",\n\t\"frway\": \"fwy\",\n\t\"frwy\": \"fwy\",\n\t\"fwy\": \"fwy\",\n\n\t\"garden\": \"gdn\",\n\t\"gardn\": \"gdn\",\n\t\"grden\": \"gdn\",\n\t\"grdn\": \"gdn\",\n\t\"gdn\": \"gdn\",\n\n\t\"gardens\": \"gdns\",\n\t\"grdns\": \"gdns\",\n\t\"gdns\": \"gdns\",\n\n\t\"gateway\": \"gtwy\",\n\t\"gatewy\": \"gtwy\",\n\t\"gatway\": \"gtwy\",\n\t\"gtway\": \"gtwy\",\n\t\"gtwy\": \"gtwy\",\n\n\t\"glen\": \"gln\",\n\t\"gln\": \"gln\",\n\n\t\"glens\": \"glns\",\n\t\"glns\": \"glns\",\n\n\t\"green\": \"grn\",\n\t\"grn\": \"grn\",\n\n\t\"greens\": \"grns\",\n\t\"grns\": \"grns\",\n\n\t\"grove\": \"grv\",\n\t\"grov\": \"grv\",\n\t\"grv\": \"grv\",\n\n\t\"harbor\": \"hbr\",\n\t\"harb\": \"hbr\",\n\t\"harbr\": \"hbr\",\n\t\"hrbr\": \"hbr\",\n\t\"hbr\": \"hbr\",\n\n\t\"harbors\": \"hbrs\",\n\t\"hbrs\": \"hbrs\",\n\n\t\"haven\": \"hvn\",\n\t\"hvn\": \"hvn\",\n\n\t\"heights\": \"hts\",\n\t\"ht\": \"hts\",\n\t\"hts\": \"hts\",\n\n\t\"highway\": \"hwy\",\n\t\"highwy\": \"hwy\",\n\t\"hiway\": \"hwy\",\n\t\"hiwy\": \"hwy\",\n\t\"hway\": \"hwy\",\n\t\"hwy\": \"hwy\",\n\n\t\"hill\": \"hl\",\n\t\"hl\": \"hl\",\n\n\t\"hills\": \"hls\",\n\t\"hls\": \"hls\",\n\n\t\"hollow\": \"holw\",\n\t\"hllw\": \"holw\",\n\t\"hollows\": \"holw\",\n\t\"holws\": \"holw\",\n\t\"holw\": \"holw\",\n\n\t\"hodor\": \"hodor\",\n\n\t\"inlet\": \"inlt\",\n\t\"inlt\": \"inlt\",\n\n\t\"island\": \"is\",\n\t\"islnd\": \"is\",\n\t\"is\": \"is\",\n\n\t\"isle\": \"isle\",\n\t\"isles\": \"isle\",\n\n\t\"junction\": \"jct\",\n\t\"jction\": \"jct\",\n\t\"jctn\": \"jct\",\n\t\"junctn\": \"jct\",\n\t\"juncton\": \"jct\",\n\t\"jct\": \"jct\",\n\n\t\"junctions\": \"jcts\",\n\t\"jctns\": \"jcts\",\n\t\"jcts\": \"jcts\",\n\n\t\"key\": \"ky\",\n\t\"ky\": \"ky\",\n\n\t\"keys\": \"kys\",\n\t\"kys\": \"kys\",\n\n\t\"knoll\": \"knl\",\n\t\"knol\": \"knl\",\n\t\"knl\": \"knl\",\n\n\t\"knolls\": \"knls\",\n\t\"knls\": \"knls\",\n\n\t\"lake\": \"lk\",\n\t\"lk\": \"lk\",\n\n\t\"lakes\": \"lks\",\n\t\"lks\": \"lks\",\n\n\t\"land\": \"land\",\n\n\t\"landing\": \"lndg\",\n\t\"lndng\": \"lndg\",\n\t\"lndg\": \"lndg\",\n\n\t\"lane\": \"ln\",\n\t\"ln\": \"ln\",\n\n\t\"light\": \"lgt\",\n\t\"lgt\": \"lgt\",\n\n\t\"lights\": \"lgts\",\n\t\"lgts\": \"lgts\",\n\n\t\"loaf\": \"lf\",\n\t\"lf\": \"lf\",\n\n\t\"lock\": \"lck\",\n\t\"lck\": \"lck\",\n\n\t\"locks\": \"lcks\",\n\t\"lcks\": \"lcks\",\n\n\t\"lodge\": \"ldg\",\n\t\"ldge\": \"ldg\",\n\t\"lodg\": \"ldg\",\n\t\"ldg\": \"ldg\",\n\n\t\"loop\": \"loop\",\n\t\"loops\": \"loop\",\n\n\t\"mall\": \"mall\",\n\n\t\"manor\": \"mnr\",\n\t\"mnr\": \"mnr\",\n\n\t\"manors\": \"mnrs\",\n\t\"mnrs\": \"mnrs\",\n\n\t// Accoding to that table...:\n\t// \"meadow\": \"mdw\",\n\t// \"mdw\": \"mdw\",\n\n\t// But on the following line...\n\t\"meadows\": \"mdws\",\n\t\"mdw\": \"mdws\",\n\t\"meadow\": \"mdws\",\n\t\"medows\": \"mdws\",\n\t\"mdws\": \"mdws\",\n\n\t\"mews\": \"mews\",\n\n\t\"mill\": \"ml\",\n\t\"ml\": \"ml\",\n\n\t\"mission\": \"msn\",\n\t\"misn\": \"msn\",\n\t\"msn\": \"msn\",\n\n\t\"motorway\": \"mtwy\",\n\t\"mtwy\": \"mtwy\",\n\n\t\"mountain\": \"mtn\",\n\t\"mntain\": \"mtn\",\n\t\"mt\": \"mtn\",\n\t\"mountin\": \"mtn\",\n\t\"mtin\": \"mtn\",\n\t\"mtn\": \"mtn\",\n\n\t\"mountains\": \"mtns\",\n\t\"mtns\": \"mtns\",\n\n\t\"neck\": \"nck\",\n\t\"nck\": \"nck\",\n\n\t\"orchard\": \"orch\",\n\t\"orchrd\": \"orch\",\n\t\"orch\": \"orch\",\n\n\t\"oval\": \"ovl\",\n\t\"ovl\": \"ovl\",\n\n\t\"overpass\": \"opas\",\n\t\"opas\": \"opas\",\n\n\t\"park\": \"park\",\n\t\"parks\": \"park\",\n\t\"prk\": \"park\",\n\n\t\"parkway\": \"pkwy\",\n\t\"parkwy\": \"pkwy\",\n\t\"pkway\": \"pkwy\",\n\t\"pky\": \"pkwy\",\n\t\"parkways\": \"pkwy\",\n\t\"pkwys\": \"pkwy\",\n\t\"pkwy\": \"pkwy\",\n\n\t\"pass\": \"pass\",\n\n\t\"passage\": \"psge\",\n\t\"psge\": \"psge\",\n\n\t\"path\": \"path\",\n\t\"paths\": \"paths\",\n\n\t\"pike\": \"pike\",\n\t\"pikes\": \"pike\",\n\n\t\"pine\": \"pne\",\n\t\"pne\": \"pne\",\n\n\t\"pines\": \"pnes\",\n\t\"pnes\": \"pnes\",\n\n\t\"place\": \"pl\",\n\t\"pl\": \"pl\",\n\n\t\"plain\": \"pln\",\n\t\"pln\": \"pln\",\n\n\t\"plains\": \"plns\",\n\t\"plns\": \"plns\",\n\n\t\"plaza\": \"plz\",\n\t\"plza\": \"plz\",\n\t\"plz\": \"plz\",\n\n\t\"point\": \"pt\",\n\t\"pt\": \"pt\",\n\n\t\"points\": \"pts\",\n\t\"pts\": \"pts\",\n\n\t\"port\": \"prt\",\n\t\"prt\": \"prt\",\n\n\t\"ports\": \"prts\",\n\t\"prts\": \"prts\",\n\n\t\"prarie\": \"pr\",\n\t\"prr\": \"pr\",\n\t\"pr\": \"pr\",\n\n\t\"radial\": \"radl\",\n\t\"rad\": \"radl\",\n\t\"radiel\": \"radl\",\n\t\"radl\": \"radl\",\n\n\t\"ramp\": \"ramp\",\n\n\t\"ranch\": \"rnch\",\n\t\"ranches\": \"rnch\",\n\t\"rnchs\": \"rnch\",\n\t\"rnch\": \"rnch\",\n\n\t\"rapid\": \"rpd\",\n\t\"rpd\": \"rpd\",\n\n\t\"ridge\": \"rdg\",\n\t\"rdge\": \"rdg\",\n\t\"rdg\": \"rdg\",\n\n\t\"rest\": \"rst\",\n\t\"rst\": \"rst\",\n\n\t\"ridges\": \"rdgs\",\n\t\"rdgs\": \"rdgs\",\n\n\t\"road\": \"road\",\n\t\"rd\": \"rd\",\n\n\t\"route\": \"rte\",\n\t\"rte\": \"rte\",\n\n\t\"row\": \"row\",\n\n\t\"rue\": \"rue\",\n\n\t\"run\": \"run\",\n\n\t\"shoal\": \"shl\",\n\t\"shl\": \"shl\",\n\n\t\"shoals\": \"shls\",\n\t\"shls\": \"shls\",\n\n\t\"shore\": \"shr\",\n\t\"shores\": \"shr\",\n\t\"shrs\": \"shr\",\n\t\"shr\": \"shr\",\n\n\t\"skyway\": \"skwy\",\n\n\t\"spring\": \"spg\",\n\t\"spng\": \"spg\",\n\t\"sprng\": \"spg\",\n\t\"spg\": \"spg\",\n\n\t\"springs\": \"spgs\",\n\t\"spngs\": \"spgs\",\n\t\"sprngs\": \"spgs\",\n\t\"spgs\": \"spgs\",\n\n\t\"spur\": \"spur\",\n\t\"spurs\": \"spur\",\n\n\t\"square\": \"sq\",\n\t\"sqr\": \"sq\",\n\t\"sqre\": \"sq\",\n\t\"squ\": \"sq\",\n\t\"sq\": \"sq\",\n\n\t\"squares\": \"sqs\",\n\t\"sqrs\": \"sqs\",\n\t\"sqs\": \"sqs\",\n\n\t\"station\": \"sta\",\n\t\"statn\": \"sta\",\n\t\"stn\": \"sta\",\n\t\"sta\": \"sta\",\n\n\t\"stravenue\": \"stra\",\n\t\"strav\": \"stra\",\n\t\"straven\": \"stra\",\n\t\"stravn\": \"stra\",\n\t\"strvn\": \"stra\",\n\t\"strvnue\": \"stra\",\n\t\"stra\": \"stra\",\n\n\t\"stream\": \"strm\",\n\t\"streme\": \"strm\",\n\t\"strm\": \"strm\",\n\n\t\"street\": \"st\",\n\t\"strt\": \"st\",\n\t\"str\": \"st\",\n\t\"st\": \"st\",\n\n\t\"streets\": \"sts\",\n\n\t\"summit\": \"smt\",\n\t\"sumit\": \"smt\",\n\t\"sumitt\": \"smt\",\n\t\"smt\": \"smt\",\n\n\t\"terrace\": \"ter\",\n\t\"terr\": \"ter\",\n\t\"ter\": \"ter\",\n\n\t\"throughway\": \"trwy\",\n\t\"trwy\": \"trwy\",\n\n\t\"trace\": \"trce\",\n\t\"traces\": \"trce\",\n\t\"trce\": \"trce\",\n\n\t\"track\": \"trak\",\n\t\"tracks\": \"trak\",\n\t\"trk\": \"trak\",\n\t\"trks\": \"trak\",\n\t\"trak\": \"trak\",\n\n\t\"trailer\": \"trlr\",\n\t\"trlrs\": \"trlr\",\n\t\"trlr\": \"trlr\",\n\n\t\"tunnel\": \"tunl\",\n\t\"tunls\": \"tunl\",\n\t\"tunnels\": \"tunl\",\n\t\"tunnl\": \"tunl\",\n\t\"tunl\": \"tunl\",\n\n\t\"turnpike\": \"tpke\",\n\t\"trnp\": \"tpke\",\n\t\"turnpk\": \"tpke\",\n\t\"tpke\": \"tpke\",\n\n\t\"underpass\": \"upas\",\n\t\"upas\": \"upas\",\n\n\t\"union\": \"un\",\n\t\"un\": \"un\",\n\n\t\"valley\": \"vly\",\n\t\"vally\": \"vly\",\n\t\"vlly\": \"vly\",\n\t\"vly\": \"vly\",\n\n\t\"valleys\": \"vlys\",\n\t\"vlys\": \"vlys\",\n\n\t\"viaduct\": \"via\",\n\t\"vdct\": \"via\",\n\t\"viadct\": \"via\",\n\t\"via\": \"via\",\n\n\t\"view\": \"vw\",\n\t\"vw\": \"vw\",\n\n\t\"views\": \"vws\",\n\t\"vws\": \"vws\",\n\n\t\"village\": \"vlg\",\n\t\"villag\": \"vlg\",\n\t\"vill\": \"vlg\",\n\t\"villg\": \"vlg\",\n\t\"villiage\": \"vlg\",\n\t\"vlg\": \"vlg\",\n\n\t\"villages\": \"vlgs\",\n\t\"vlgs\": \"vlgs\",\n\n\t\"ville\": \"vl\",\n\t\"vl\": \"vl\",\n\n\t\"vista\": \"vis\",\n\t\"vist\": \"vis\",\n\t\"vst\": \"vis\",\n\t\"vsta\": \"vis\",\n\t\"vis\": \"vis\",\n\n\t\"walk\": \"walk\",\n\t\"walks\": \"walk\",\n\n\t\"wall\": \"wall\",\n\n\t\"way\": \"way\",\n\t\"wy\": \"way\",\n\n\t\"ways\": \"ways\",\n\n\t\"well\": \"wl\",\n\t\"wl\": \"wl\",\n\n\t\"wells\": \"wls\",\n\t\"wls\": \"wls\",\n}\n\nexport const SuiteTypeAbbreviations = {\n\t\"apartment\": \"apt\",\n\t\"#\": \"apt\",\n\t\"apt\": \"apt\",\n\n\t\"building\": \"bldg\",\n\t\"bldg\": \"bldg\",\n\n\t\"floor\": \"fl\",\n\t\"fl\": \"fl\",\n\n\t\"suite\": \"ste\",\n\t\"ste\": \"ste\",\n\n\t\"unit\": \"unit\",\n\n\t\"room\": \"rm\",\n\t\"rm\": \"rm\",\n\n\t\"department\": \"dept\",\n\t\"dept\": \"dept\",\n\n\t\"box\": \"box\",\n}\n\nexport const cardinalDirectionAbbreviations = {\n\t\"north\": \"n\",\n\t\"n\": \"n\",\n\t\"northwest\": \"nw\",\n\t\"nw\": \"nw\",\n\t\"northeast\": \"ne\",\n\t\"ne\": \"ne\",\n\t\"south\": \"s\",\n\t\"s\": \"s\",\n\t\"southwest\": \"sw\",\n\t\"sw\": \"sw\",\n\t\"southeast\": \"se\",\n\t\"se\": \"se\",\n\t\"east\": \"e\",\n\t\"e\": \"e\",\n\t\"west\": \"w\",\n\t\"w\": \"w\",\n}\n\nexport const streetsuffixes = Object.keys(streetTypeAbbreviations).map(a => a.toUpperCase())\n\nexport const remapSuffixes = { TERRACE: \"TER\" }\n\nexport const prefixes = [\"W\", \"E\", \"N\", \"S\", \"SW\", \"SE\", \"NW\", \"NE\"]\nexport function decommaizeNumeric(v) {\n\tconst n = v.replace(/[^0-9-]/g, '');\n\tif (n === \"\")\n\t\treturn n\n\n\treturn parseInt(n)\n}\n\nexport function commaize(v) {\n\tif (null === v || typeof v === \"undefined\" || v === \"\") {\n\t\treturn \"\"\n\t}\n\n\ttry {\n\t\tv = v.toString()\n\t\tlet input = v.replace(/[^0-9-.]/g, '');\n\n\t\tif (input === \"\") {\n\t\t\treturn \"\"\n\t\t}\n\n\t\tinput = parseInt(input)\n\n\t\tinput = input.toString()\n\t\tlet output = \"\"\n\t\twhile (true) {\n\t\t\tif (input.length <= 3) {\n\t\t\t\toutput = input + output\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tconst right = input.substr(-3)\n\t\t\tconst left = input.substr(0, input.length - 3)\n\t\t\tinput = left\n\t\t\toutput = \",\" + right + output\n\t\t}\n\n\t\treturn output\n\t} catch (error) {\n\t\treturn v\n\t}\n}\n\nexport function commaizeFloat(v) {\n\tif (null === v || typeof v === \"undefined\" || v === \"\") {\n\t\treturn \"\"\n\t}\n\n\tv = v.toString()\n\tlet minus = \"\"\n\tif (v.charAt(0) === '-') {\n\t\tminus = '-'\n\t\tv = v.substring(1, v.length)\n\t}\n\n\tconst parts = v.split('.')\n\tconst input = parts[0].replace(/[^0-9-]/g, '');\n\n\tparts[0] = commaize(input)\n\n\treturn minus + parts.join('.')\n}\n\nexport function splitByCapitalLetter(str) {\n\tif (typeof str !== 'string') {\n\t\treturn str\n\t}\n\treturn str.split(/(?=[A-Z])/).join(' ');\n}\n\nexport function divideStringByCapitalLetter(str) {\n\t// Use a regular expression to find positions where a space should be inserted:\n\t// Look for sequences where an uppercase letter is either preceded by a lowercase letter\n\t// or followed by a lowercase letter, and insert a space before the uppercase letter.\n\treturn str.replace(/([a-z])([A-Z])|([A-Z])([A-Z][a-z])/g, '$1$3 $2$4');\n}\nexport function divideStringByConsecutiveCapitalLetter(str) {\n\treturn str.replace(/([a-z])([A-Z])|([A-Z]+)([A-Z][a-z])/g, '$1$3 $2$4');\n}\nexport function capitalize(v) {\n\tif (v === null) {\n\t\treturn \"\"\n\t}\n\n\tconst parts = v.split(' ')\n\tconst newparts = []\n\tparts.forEach(a => {\n\t\tnewparts.push(a.charAt(0).toUpperCase() + a.slice(1).toLowerCase())\n\t})\n\n\treturn newparts.join(' ')\n}\n\nexport function unCamelCase(str) {\n\tif (str === null) {\n\t\treturn \"\"\n\t}\n\n\tconst out = []\n\tout.push(str.charAt(0))\n\tlet digit = false\n\tfor (let i = 1; i < str.length; i++) {\n\t\tconst code = str.charCodeAt(i)\n\n\t\tif (code >= 48 && code <= 57) {\n\t\t\tif (!digit) out.push(\" \")\n\t\t\tout.push(str.charAt(i))\n\t\t\tdigit = true\n\t\t\tcontinue\n\t\t}\n\n\t\tif (code >= 65 && code <= 90) {\n\t\t\tdigit = false\n\t\t\tout.push(\" \")\n\t\t\tout.push(str.charAt(i))\n\t\t\tcontinue\n\t\t}\n\n\t\tout.push(str.charAt(i))\n\t\tdigit = false\n\t}\n\n\treturn out.join('')\n}\n\nexport function loadPasswordCheck(callback) {\n\tconst existingScript = document.getElementById('zxcvbn');\n\n\tif (!existingScript) {\n\t\tconst script = document.createElement('script');\n\t\tscript.src = '/js/zxcvbn.js';\n\t\tscript.id = 'zxcvbn';\n\t\tdocument.body.appendChild(script);\n\n\t\tscript.onload = () => {\n\t\t\tif (callback) callback();\n\t\t};\n\t}\n\n\tif (existingScript && callback) callback();\n};\n\nexport function positionToStatus(pos) {\n\tlet status = \"Invited\"\n\tif (pos !== -1) {\n\t\tstatus = \"Accepted\"\n\t\tif (pos >= 0 && pos < 13) {\n\t\t\tstatus = \"Started\"\n\t\t} else {\n\t\t\tif (pos >= 13 && pos < 27) {\n\t\t\t\tstatus = \"Prequalified\"\n\t\t\t} else {\n\t\t\t\tstatus = \"Filled Out\"\n\t\t\t}\n\t\t}\n\t}\n\n\treturn status\n}\n\nexport const prefillLimit = 13\n\nexport function timeGoToJS(dat) {\n\tlet r = /([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9:]{8})(?:[0-9.]*) ([0-9-+]{5}) ([A-Z]{3})/i\n\n\tlet newdat = dat.replace(r, (match, group1, group2, group3, group4, group5, group6) => {\n\n\t\treturn group1 + \"/\" + group2 + \"/\" + group3 + \" \" + group4 + \" \" + group6\n\t});\n\n\treturn newdat\n}\n\nexport function timeGoToDateJS(dat) {\n\tconst r = /([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9:]{8})(?:[0-9.]*) ([0-9-+]{5}) ([A-Z]{3})/i\n\n\tconst newdat = dat.replace(r, (match, group1, group2, group3, group4, group5, group6) => {\n\t\treturn group1 + \"/\" + group2 + \"/\" + group3\n\t});\n\n\treturn newdat\n}\n\nexport const checkSession = (onSessionExists, onNoSession) => {\n\tconst token = window.sessionStorage.getItem(\"ZeitroA\");\n\tif (token === null) {\n\t\tconsole.log(\"not authenticated\");\n\t\tonNoSession();\n\t\treturn;\n\t}\n\tfetch(window.location.origin + \"/auth/refresh\", {\n\t\tcache: 'no-cache',\n\t\tmethod: 'POST',\n\t\tbody: \"\",\n\t\theaders: {\n\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\tCache: \"no-cache\"\n\t\t},\n\t}).then(response => {\n\t\tif (!response.ok) {\n\t\t\tsessionStorage.removeItem(\"ZeitroA\")\n\t\t\tonNoSession()\n\t\t} else {\n\t\t\tresponse.json().then(js => {\n\t\t\t\tif (js.Status !== \"OK\") {\n\t\t\t\t\tsessionStorage.removeItem(\"ZeitroA\")\n\t\t\t\t\tonNoSession()\n\t\t\t\t} else {\n\t\t\t\t\tonSessionExists()\n\t\t\t\t\tsessionStorage.setItem(\"ZeitroA\", js.Token)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}).catch(error => {\n\t\tsessionStorage.removeItem(\"ZeitroA\")\n\t\tonNoSession()\n\t})\n}\n\nexport const othersouresofincome = [\n\t// ####### deprecated and modified some items to match new 1003 URLA form section 1e options ###################\n\t// [\"AccessoryUnitIncome\", \"Accessory Unit Income\", \"The amount of rental income from a 1-unit property with an accessory dwelling unit.\"],\n\t[\"Alimony\", \"Alimony\", \"Alimony (also called maintenance or spousal support) is financial support to a spouse from the other spouse after marital separation or from the ex-spouse upon divorce.\"],\n\t[\"AutomobileAllowance\", \"Automobile Allowance\", \"Compensation for automobile-related expenses incurred\"],\n\t[\"BoarderIncome\", \"Boarder Income\", \"Income received by the borrower from an occupant of a portion of the subject property\"],\n\t[\"CapitalGains\", \"Capital Gains\", \"Amount from the sale of a capital asset at a higher value than the purchase price\"],\n\t[\"ChildSupport\", \"Child Support\", \"Child support (or child maintenance) is an ongoing, periodic payment made by a parent for the financial benefit of a child following the end of a marriage or other relationship.\"],\n\t// [\"ContractBasis\", \"Contract Work\", \"Income received on a contract or per job basis. Recipients are classified by employers as independent contractors and not considered employees.\"],\n\t// [\"DefinedContributionPlan\", \"Defined Contribution Plan\", \"A plan which provides each participant an individual account for benefits based solely on the amount contributed to the participant's account as well as any income, expenses, gains and losses. Typical examples are Individual Retirement Account (IRA) and 401k.\"],\n\t[\"Disability\", \"Disability\", \"Income from disability coverage for a condition that prevents a person from working\"],\n\t// [\"EmploymentRelatedAccount\", \"Employee Related Account\", \"An account obtained by the borrower through employment sources used to calculate a potential income stream for qualification purposes as per investor guidelines\"],\n\t[\"FosterCare\", \"Foster Care\", \"An allowance provided by a social welfare jurisdication for the care of foster children\"],\n\t// [\"HousingAllowance\", \"Housing\", \"Compensation for basic living expenses for certain employment situations\"],\n\t[\"HousingParsonage\", \"Housing or Parsonage\", \"Income received by the borrower from a parsonage (a house of worship) owned by the church\"],\n\t[\"DividendsInterest\", \"Interest and Dividends\", \"Amount from distributions from a company's earnings to a shareholder in the form of cash payments, stock, and income earned from interest-bearing financial accounts by issuer of account\"],\n\t// [\"HousingChoiceVoucherProgram\", \"Housing Choice Voucher\", \"Public assistance income in the form of a housing subsidy paid by the government to the landlord on behalf of the borrower\"],\n\t// [\"MilitaryBasePay\", \"Military Base Pay\", \"\"],\n\t// [\"MilitaryClothesAllowance\", \"Military Clothes Allowance\", \"\"],\n\t// [\"MilitaryCombatPay\", \"Military Combat Pay\", \"\"],\n\t// [\"MilitaryFlightPay\", \"Military Flight Pay\", \"\"],\n\t// [\"MilitaryHazardPay\", \"Military Hazard Pay\", \"\"],\n\t// [\"MilitaryOverseasPay\", \"Military Overseas Pay\", \"\"],\n\t// [\"MilitaryPropPay\", \"Military Prop Pay\", \"\"],\n\t// [\"MilitaryQuartersAllowance\", \"Military Quarters Allowance\", \"\"],\n\t// [\"MilitaryRationsAllowance\", \"Military Rations Allowance\", \"\"],\n\t// [\"MilitaryVariableHousingAllowance\", \"Military Variable Housing Allowance\", \"\"],\n\t[\"MortgageCreditCertificate\", \"Mortgage Credit Certificate\", \"A tax credit granted by government jurisdictions to help first-time homebuyers offset a portion of the interest on a new mortgage.\"],\n\t[\"MortgageDifferential\", \"Mortgage Differential Payments\", \"Income used when an employer subsidizes and employees mortgage payments by paying all or part of the interest differential between the employees present and proposed mortgage payments\"],\n\t// [\"NonBorrowerContribution\", \"Non Borrower Contribution\", \"\"],\n\t// [\"NonBorrowerHouseholdIncome\", \"Non Borrower Household Income\", \"The amount of income from a non-borrower household member that may be considered as a compensating factor for community lending loans when the income is greater than or equal to a percentage of the borrower’s income per investor guidelines\"],\n\t[\"NotesReceivableInstallment\", \"Notes Receivable\", \"Income received from the payment of a debt owed to the borrower\"],\n\t[\"PublicAssistance\", \"Public Assistance\", \"Amount paid to borrower by federal, state or local public assistance program\"],\n\t[\"Retirement\", \"Retirement\", \"\"],\n\t// [\"Pension\", \"Pension Income\", \"Periodic amount paid by employer to persons who have retired from employer after attaining necessary term of service and other attributes.\"],\n\t[\"Royalties\", \"Royalty Payments\", \"A payment to an owner for the use of property, patents, copyrighted works, franchises or natural resources\"],\n\t[\"SeparateMaintenance\", \"Separate Maintenance\", \"Money paid by one previously married person to the other for support if they are no longer living as Husband and Wife. Also known as Separate Support\"],\n\t[\"SocialSecurity\", \"Social Security\", \"In the US, amount paid to recipients of OASI (Old Age and Survivors Insurance)\"],\n\t// [\"TemporaryLeave\", \"Temporary Leave Income\", \"The amount of income available to the borrower during a period of approved absence\"],\n\t// [\"TipIncome\", \"Tip Income\", \"The amount of income earned through gratuity that is not part of a regular wage\"],\n\t[\"Trust\", \"Trust\", \"Income the borrower receives as the beneficiary of a trust\"],\n\t[\"Unemployment\", \"Unemployment Benefits\", \"Amount paid or payable to borrower from state or Federal unemployment insurance program\"],\n\t// [\"VABenefitsNonEducational\", \"VA Benefits Income\", \"Dollar amount of VA Benefits excluding education benefits available to a veteran borrower\"],\n\t[\"VACompensation\", \"VA Compensation\", \"Amount paid to a veteran borrower for service-connected disabilities\"],\n\t[\"Other\", \"Other\", \"Please enter the income type\"],\n]\n\nexport const bankaccounttypes = [\n\t[\"CheckingAccount\", \"Checking\", \"Transaction account with a financial institution. Accounts purpose is to effect transfer of owners funds to others by various methods (e.g., check, EFT, ACH, draft). Technical name is demand deposit account (DDA).\"],\n\t[\"SavingsAccount\", \"Savings\", \"Interest-paying account with a financial institution whose main purpose is to earn interest on owners funds held therein. This is NOT a demand deposit account.\"],\n\t[\"MoneyMarket\", \"Money Market\", \"Mutual fund that allows individuals to participate in managed investments in short-term debt securities, such as certificates of deposit and Treasury bills.\"],\n\t[\"CertificateOfDeposit\", \"Certificate of Deposit\", \"Certificates issued by financial institutions with a stated term or interest rate, and with a set maturity date. The bank pays the holder in due course at maturity. Early withdrawal subject to penalty. Considered liquid.\"],\n\t[\"Retirement\", \"Retirement\", \"\"],\n\t[\"Bonds\", \"Bonds\", \"\"],\n\t[\"Stocks\", \"Stocks\", \"\"],\n\t// ####### added some items below to match new 1003 URLA form section 2a options ###################\n\t[\"StockOptions\", \"Stock Options\", \"\"],\n\t[\"BridgeLoanProceeds\", \"Bridge Loan Proceeds\", \"\"],\n\t[\"IndividualDevelopmentAccount\", \"Individual Development Account\", \"\"],\n\t[\"TrustAccount\", \"Trust Account\", \"\"],\n\t[\"CashValueLifeInsurance\", \"Cash Value of Life Insurance\", \"\"],\n\t[\"MutualFund\", \"Mutual Fund\", \"\"],\n]\n\nexport const brokerageaccounttypes = [\n\t[\"Stock\", \"Stocks\", \"Financial instrument evidencing an ownership interest in entity that issued the stock. Typical valuation method is Market.\"],\n\t[\"Bond\", \"Bonds\", \"An interest-bearing certificate of debt with maturity date. An obligation of issuing entity. Typical valuation is face value (e.g., $1,000 denomination) & market (e.g., value of 4% bond when yields are 6%)\"],\n\t[\"StockOptions\", \"Stock Options\", \"Option given by a company to an employee to buy stock in the company at a discount or at a stated fixed price.\"],\n]\n\nexport const otherassetsandcredits = [\n\t// ####### deprecated some items to match new 1003 URLA form section 2b options ###################\n\t// [\"BridgeLoanNotDeposited\", \"Bridge Loan Not Deposited\", \"Proceeds of a loan (secured by borrowers real property) to provide homebuyer with funds for down payment and closing costs on a new home before selling the collateral property which have not yet been deposited to borrowers accounts or included with other assets disclosed\"],\n\t// [\"CashOnHand\", \"Cash On Hand\", \"Currency physically possessed by borrower, not deposited in any financial institution\"],\n\t// [\"IndividualDevelopmentAccount\", \"Individual Development Account\", \"A matching funds savings account that helps people save for the purchase of real estate\"],\n\t// [\"PendingNetSaleProceedsFromRealEstateAssets\", \"Pending Net Sale Proceeds From Real Estate Asset\", \"Estimated net cash proceeds (sales price - obligations) from anticipated sale of borrowers real estate assets\"],\n\t// [\"ProceedsFromSaleOfNonRealEstateAsset\", \"Proceeds From Sale Of Non Real Estate Asset\", \"Amount received by borrower from sale of personal property\"],\n\t// [\"ProceedsFromSecuredLoan\", \"Proceeds From Secured Loan\", \"Proceeds from a loan secured by borrowers assets\"],\n\t// [\"ProceedsFromUnsecuredLoan\", \"Proceeds From Unsecured Loan\", \"Proceeds from a loan not backed by any collateral\"],\n\t// [\"TrustAccount\", \"Trust Account\", \"Fiduciary relationship where legal title to a property is transferred to a trustee with the intention the property be administered by the trustee for benefit of the beneficiary, who holds equitable title to such property\"],\n\n\t// [\"EarnestMoney\", \"Earnest Money\", \"A deposit made as a show of good faith by buyer to bind the conditions of a sale of real estate\"],\n\t// [\"EmployerAssistedHousing\", \"Employer Assisted Housing\", \"Funds provided to borrower by employer to offset some of the initial or ongoing costs of borrowers home\"],\n\t// [\"LeasePurchaseFund\", \"Lease PurchaseFund\", \"Under a lease/purchase arrangement, owner of real estate agrees to credit some portion of rent towards down payment. This is the accumulated amount of such credits reflected at closing\"],\n\t// [\"RelocationFunds\", \"Relocation Funds\", \"Funds provided to relocating borrower (usually by employer) to offset some of the initial or ongoing costs of borrowers home at the new location\"],\n\t// [\"SweatEquity\", \"Sweat Equity\", \"Buyer/borrower agrees with owner (who is usually also builder/re-habber) that work done by Buyer/borrower to help complete the property will be credited as having specific value and will be done in lieu of some portion of the cash purchase price\"],\n\t// [\"TradeEquityFromPropertySwap\", \"Trade Equity From Property Swap\", \"Equity that results from a property purchaser giving his or her existing real property as trade as all or part of the down payment for the property that is being purchased\"],\n\t// [\"Other\", \"Other type of asset\", \"\"],\n\n\t// ####### updated items to match new 1003 URLA form section 2b options ###################\n\t[\"ProceedsFromRealEstatePropertyToBeSold\", \"Proceeds from Real Estate Property to be sold on or before closing\", \"\"],\n\t[\"ProceedsFromSaleOfNonRealEstateAsset\", \"Proceeds from Sale of Non-Real Estate Asset\", \"\"],\n\t[\"SecuredBorrowedFunds\", \"Secured Borrowed Funds\", \"\"],\n\t[\"UnsecuredBorrowedFunds\", \"Unsecured Borrowed Funds\", \"\"],\n\t[\"Other\", \"Other type of asset\", \"\"],\n\t[\"EarnestMoney\", \"Earnest Money\", \"\"],\n\t[\"EmployerAssistance\", \"Employer Assistance\", \"\"],\n\t[\"LotEquity\", \"Lot Equity\", \"\"],\n\t[\"RelocationFunds\", \"Relocation Funds\", \"\"],\n\t[\"RentCredit\", \"Rent Credit\", \"\"],\n\t[\"SweatEquity\", \"Sweat Equity\", \"\"],\n\t[\"TradeEquity\", \"Trade Equity\", \"\"],\n]\n\nexport const fundssourcetype = [\n\t// ####### deprecated and modified some items to match new 1003 URLA form section 4d options ###################\n\t[\"CommunityNonProfit\", \"Community Nonprofit\", \"A nonprofit organization with no religious affiliation\"],\n\t[\"Employer\", \"Employer\", \"Party who provides income to the borrower in exchange for work\"],\n\t[\"FederalAgency\", \"Federal Agency\", \"A department of the national government responsible for the oversight and administration of a specific function\"],\n\t// [\"Institutional\", \"Institutional\", \"\"],\n\t[\"LocalAgency\", \"Local Agency\", \"An administrative authority over areas that are smaller than a state, for example, counties, cities, or townships\"],\n\t[\"StateAgency\", \"State Agency\", \"An administrative authority one of the fifty states making up the United States\"],\n\t[\"Lender\", \"Lender\", \"Party funding the mortgage loan\"],\n\t// [\"NonParentRelative\", \"Non Parent Relative\", \"An individual related to the borrower that is not the borrower's legal parent or guardian\"],\n\t// [\"Parent\", \"Parent\", \"Borrower's mother or father\"],\n\t[\"Relative\", \"Relative\", \"An individual related to the borrower by blood, marriage, adoption, or legal guardianship\"],\n\t[\"ReligiousNonProfit\", \"Religious Nonprofit\", \"A nonprofit organization affiliated with a religion\"],\n\t[\"UnmarriedPartner\", \"Unmarried Partner\", \"Fiancé, fiancée, registered domestic partnership, civil union partner, or registered reciprocal beneficiary\"],\n\t// [\"UnrelatedFriend\", \"Unrelated Friend\", \"Party having a non-familial relationship to the borrower\"],\n\t[\"Other\", \"Other\", \"\"],\n]\n\n/*\nAssetType:\n\t- Bond # An interest-bearing certificate of debt with maturity date. An obligation of issuing entity. Typical valuation is face value (e.g., $1,000 denomination) & market (e.g., value of 4% bond when yields are 6%).\n\t- BridgeLoanNotDeposited # Proceeds of a loan (secured by borrowers real property) to provide homebuyer with funds for down payment and closing costs on a new home before selling the collateral property which have not yet been deposited to borrowers accounts or included with other assets disclosed.\n\t- CashOnHand # Currency physically possessed by borrower, not deposited in any financial institution.\n\t- CertificateOfDepositTimeDeposit # Certificates issued by financial institutions with a stated term or interest rate, and with a set maturity date. The bank pays the holder in due course at maturity. Early withdrawal subject to penalty. Considered liquid.\n\t- CheckingAccount # Transaction account with a financial institution. Accounts purpose is to effect transfer of owners funds to others by various methods (e.g., check, EFT, ACH, draft). Technical name is demand deposit account (DDA).\n\t- IndividualDevelopmentAccount # A matching funds savings account that helps people save for the purchase of real estate.\n\t- LifeInsurance # A life insurance policy with a value or investment component. Details of amounts for each policy or Accumulated investment cash value of life insurance policy, net of any loans against that amount. Detail of amounts for each policy.\n\t- MoneyMarketFund # Mutual fund that allows individuals to participate in managed investments in short-term debt securities, such as certificates of deposit and Treasury bills.\n\t- MutualFund # Financial entity that invests its shareholders funds in stocks and bonds of other entities with the objective of obtaining a return on its shareholders investment.\n\t- Other\n\t- PendingNetSaleProceedsFromRealEstateAssets # Estimated net cash proceeds (sales price - obligations) from anticipated sale of borrowers real estate assets.\n\t- ProceedsFromSaleOfNonRealEstateAsset # Amount received by borrower from sale of personal property.\n\t- ProceedsFromSecuredLoan # Proceeds from a loan secured by borrowers assets.\n\t- ProceedsFromUnsecuredLoan # Proceeds from a loan not backed by any collateral.\n\t- RetirementFund # 401Ks, IRAs, etc. controlled by borrower (vested) valued at market.\n\t- SavingsAccount # Interest-paying account with a financial institution whose main purpose is to earn interest on owners funds held therein. This is NOT a demand deposit account.\n\t- Stock # Financial instrument evidencing an ownership interest in entity that issued the stock. Typical valuation method is Market.\n\t- StockOptions # Option given by a company to an employee to buy stock in the company at a discount or at a stated fixed price.\n\t- TrustAccount # Fiduciary relationship where legal title to a property is transferred to a trustee with the intention the property be administered by the trustee for benefit of the beneficiary, who holds equitable title to such property.\n*/\n\nexport const downpaymentsources = [\n\t{ id: \"Checking\", name: \"Checking\" },\n\t{ id: \"Savings\", name: \"Savings\" },\n\t{ id: \"Certificate of Deposit\", name: \"Certificate of Deposit\" },\n\t{ id: \"Money Market\", name: \"Money Market\" },\n\t{ id: \"Mutual funds\", name: \"Mutual funds\" },\n\t{ id: \"Publicly traded stocks\", name: \"Publicly traded stocks\" },\n\t{ id: \"Stock Options\", name: \"Stock Options\" },\n\t{ id: \"Bonds\", name: \"Bonds\" },\n\t{ id: \"Bridge Loan Proceeds\", name: \"Bridge Loan Proceeds\" },\n\t{ id: \"Annuities\", name: \"Annuities\" },\n\t{ id: \"Trust Account\", name: \"Trust Account\" },\n\t{ id: \"Individual Development\tAccount (e.g. 401k or IRA)\", name: \"Individual Development Account (e.g., 401k, IRA)\" },\n\t{ id: \"Cash Value of Life Insurance (used for the transaction)\", name: \"Cash Value of Life Insurance (used for the transaction)\" },\n\t{ id: \"Other\", name: \"Other\" }\n]\n\nexport const sourcesofdownpayment = [\n\t\"Checking\",\n\t\"Savings\",\n\t\"Certificate of Deposit\",\n\t\"Money Market\",\n\t\"Mutual funds\",\n\t\"Publicly traded stocks\",\n\t\"Stock Options\",\n\t\"Bonds\",\n\t\"Bridge Loan Proceeds\",\n\t\"Annuities\",\n\t\"Trust Account\",\n\t\"Individual Development\tAccount (e.g., 401k, IRA)\",\n\t\"Cash Value of Life Insurance (used for the transaction)\",\n]\n\nexport const mannerthetitleheld = [\n\t\"Community Property\",\n\t\"Individual\",\n\t\"Joint Tenants With Right Of Survivorship\",\n\t\"Life Estate\",\n\t\"Tenants in Common\",\n\t\"Tenancy by Entirety\",\n\t\"To be Decided in Escrow\",\n\t\"Trust\",\n]\n\nexport const stageToNumber = {\n\tstart: 0,\n\tpersonal: 2,\n\tproperty: 4,\n\tincome: 6,\n\tassets: 10,\n\tliabilities: 15,\n\tprequal: 24,\n\tchoice: 25,\n\n\ttransaction: 26,\n\tdeclarations: 27,\n\tend: 31\n}\n\nexport const stageToNumberApplication = {\n\tstart: 0,\n\tapplicant: 2,\n\tresidence: 3,\n\tproperty: 4,\n\tincome: 5,\n\tassets: 7,\n\tcreditcheck: 8,\n\tliabilities: 9,\n\tpropertymoney: 10,\n\tfinances: 11,\n\tcoborrower: 12,\n\toverview: 22,\n\trates: 23,\n\tprequalletter: 24,\n\tdocuments: 25,\n\ttasks: 26,\n\tclosing: 30,\n}\n\nexport const stageToNumberRE = {\n\tstart: 0,\n\tpersonal: 2,\n\tproperty: 4,\n\tincome: 6,\n\tassets: 10,\n\tliabilities: 15,\n\tprequal: 24,\n\tchoice: 25,\n\tend: 26,\n}\n\nexport function getClosedInterestPaid(rate, loansize, termyears, spanyears) {\n\tconst termmonths = termyears * 12\n\tconst spanmonths = spanyears * 12\n\tconst monthlyrate = rate / 12.0\n\tconst expn = Math.pow(1 + monthlyrate, termmonths)\n\n\tlet payment = loansize * monthlyrate * expn / (expn - 1)\n\tpayment = (Math.round(payment * 100) / 100)\n\n\tconst accumulatedinterest = (loansize * monthlyrate - payment) *\n\t\t(Math.pow(1 + monthlyrate, spanmonths) - 1) / monthlyrate +\n\t\tspanmonths * payment\n\n\treturn accumulatedinterest\n}\n\nexport const sorts = {\n\tselectbyrate: \"Rate\",\n\tselectbyapr: \"APR\",\n\tselectbyinterestterm: \"Total Interest over XXX years\",\n\tselectbyinteresttotal: \"Interest over loan term\",\n\tselectbymonthlypayment: \"Monthly Payment\",\n\tselectbyclosingcosts: \"Closing costs\",\n\tselectbyadvanced: \"Advanced\",\n}\n\nexport const typeoptions = [\n\t{ name: 'ARM 5/1', id: \"arm51\", cliff: 5 },\n\t{ name: 'ARM 7/1', id: \"arm71\", cliff: 7 },\n\t{ name: 'ARM 10/1', id: \"arm101\", cliff: 10 },\n\t{ name: 'Fixed', id: \"fixed\", cliff: 0 },\n]\n\nexport const termoptions = [\n\t{ name: '30 year', id: \"year30\", years: 30 },\n\t{ name: '25 year', id: \"year25\", years: 25 },\n\t{ name: '20 year', id: \"year20\", years: 20 },\n\t{ name: '15 year', id: \"year15\", years: 15 },\n\t{ name: '10 year', id: \"year10\", years: 10 },\n]\n\nexport const CurrentStage = {\n Application: 1,\n Processing: 2,\n Closing: 3,\n Archived: 4,\n}\n\nexport const CurrentStatus = {\n // Application (100-199)\n ApplicationStarted: 100,\n ApplicationFinished: 101,\n PrequalSent: 102,\n\n // Processing (200-299)\n InContract: 200,\n OpenEscrow: 201,\n ConditionsRequested: 202,\n ConditionsReviewed: 203,\n OrderAppraisal: 204,\n TitleSearch: 205,\n PreApproved: 206,\n\n // Closing (300-399)\n SubmittedToUnderwriting: 300,\n ConditionalApproval: 301,\n ClearToClose: 302,\n DocsOut: 303,\n DocsSigned: 304,\n LoanFunded: 305,\n\n // Archived (400-499)\n ApplicationAbandoned: 400,\n ApplicationRejected: 401,\n PreApprovalDenied: 402,\n FileClosedForIncompleteness: 403,\n ApplicationWithdrawn: 404,\n ApplicationDenied: 405,\n ApprovedButNotAccepted: 406,\n Other: 499\n};\n\n// Reverse mapping\nexport const CurrentStatusNames = Object.fromEntries(\n Object.entries(CurrentStatus).map(([key, value]) => [value, key])\n);\n\n// Utility functions\nexport const CurrentStatusUtils = {\n getStage(statusCode) {\n if (statusCode >= 100 && statusCode < 200) return 'Application';\n if (statusCode >= 200 && statusCode < 300) return 'Processing';\n if (statusCode >= 300 && statusCode < 400) return 'Closing';\n if (statusCode >= 400 && statusCode < 500) return 'Archived';\n return 'Unknown';\n },\n\n getStatusName(status) {\n\t\tconst splitted = status.split(/(?=[A-Z])/);\n\t\tconst firstWord = splitted[0];\n\t\tconst restOfWords = splitted.slice(1).map(word => word.toLowerCase()).join(' ');\n return `${firstWord} ${restOfWords}`;\n },\n\n isFinalStatus(statusCode) {\n return statusCode >= 400;\n },\n\n isActiveStatus(statusCode) {\n return statusCode >= 200 && statusCode < 400;\n },\n\n getStatusesByStage(stage, loanPurpose) {\n const stageRanges = {\n 'Application': [100, 199],\n 'Processing': [200, 299],\n 'Closing': [300, 399],\n 'Archived': [400, 499]\n };\n\t\tconst nonEmptyLoanPurpose = loanPurpose || 'purchase';\n const range = stageRanges[stage];\n if (!range) return [];\n\n const filteredStatuses = Object.entries(CurrentStatus)\n .filter(([_, value]) => value >= range[0] && value <= range[1])\n\t\t\t.filter(([statusName, _]) => {\n\t\t\t\tif (\n\t\t\t\t\tnonEmptyLoanPurpose.toLocaleLowerCase() === 'refinance' ||\n\t\t\t\t\tnonEmptyLoanPurpose.toLocaleLowerCase() === 'cashoutrefinance'\n\t\t\t\t) {\n\t\t\t\t\treturn statusName !== 'InContract';\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n .map(([key, value]) => ({\n code: value,\n name: key\n }));\n\n return filteredStatuses;\n },\n\n\tgetStatusTextColor(status) {\n\t\tconst statusID = CurrentStatus[status];\n\t\tif (!statusID) return 'white';\n\t\tif (statusID >= 100 && statusID < 200) return '#13358D';\n\t\tif (statusID >= 200 && statusID < 300) return '#13358D';\n\t\tif (statusID >= 300 && statusID < 400) return '#2E605A';\n\t\tif (statusID >= 400 && statusID < 500) return '#6E6E70';\n\t\treturn 'white';\n\t},\n\n\tgetStatusBackgroundColor(status) {\n\t\tconst statusID = CurrentStatus[status];\n\t\tif (!statusID) return 'white';\n\t\tif (statusID >= 100 && statusID < 200) return 'white';\n\t\tif (statusID >= 200 && statusID < 300) return '#D8EAFF';\n\t\tif (statusID >= 300 && statusID < 400) return '#E1F2E2';\n\t\tif (statusID >= 400 && statusID < 500) return '#DBDCDE';\n\t\treturn 'white';\n\t},\n\tgetStatusBorderColor(status) {\n\t\tconst statusID = CurrentStatus[status];\n\t\tif (!statusID) return 'white';\n\t\tif (statusID >= 100 && statusID < 200) return '#13358D';\n\t\tif (statusID >= 200 && statusID < 300) return '#D8EAFF';\n\t\tif (statusID >= 300 && statusID < 400) return '#E1F2E2';\n\t\tif (statusID >= 400 && statusID < 500) return '#DBDCDE';\n\t\treturn 'white';\n\t}\n}\n\n// Example usage:\n/*\nconsole.log(CurrentStatus.ApplicationStarted); // 100\nconsole.log(CurrentStatusUtils.getStatusName(CurrentStatus.ApplicationStarted)); // \"Application Started\"\nconsole.log(CurrentStatusUtils.getStage(CurrentStatus.DocsSigned)); // \"Closing\"\nconsole.log(CurrentStatusUtils.getStatusesByPhase('Processing')); // Returns all processing phase statuses\n*/\n\n\nexport const loanstatuses = [\n 'interviewstarted',\n 'productselected',\n 'interviewfinished',\n 'documentationrequested',\n 'loansubmitted',\n 'conditionallyapproved',\n 'loanafinalapproved',\n 'submittedtoescrow',\n 'finaldocssigned',\n 'fundsreleased',\n 'applicationwithdrawn',\n 'applicationabandoned',\n 'aplicationrejected',\n 'borrowerwithdrew',\n 'loancanceled',\n 'loandenied',\n 'readyforsubmit',\n 'pendingrateselection',\n 'applicationdenied',\n 'indocs',\n]\n\nexport const endoflinestatuses = [\n 'fundsreleased',\n 'applicationwithdrawn',\n 'applicationabandoned',\n 'aplicationrejected',\n 'borrowerwithdrew',\n 'loancanceled',\n 'loandenied',\n]\n\nexport function getNumericalStatus(status) {\n\tlet current = 0\n\tswitch (status) {\n\t\tcase 'interviewstarted':\n\t\tdefault:\n\t\t\tcurrent = 0\n\t\t\tbreak\n\t\tcase 'productselected':\n\t\t\tcurrent = 1\n\t\t\tbreak\n\t\tcase 'interviewfinished':\n\t\t\tcurrent = 2\n\t\t\tbreak\n\t\tcase 'loansubmitted':\n\t\t\tcurrent = 3\n\t\t\tbreak\n\t\tcase 'documentationrequested':\n\t\t\tcurrent = 4\n\t\t\tbreak\n\t\tcase 'conditionallyapproved':\n\t\t\tcurrent = 5\n\t\t\tbreak\n\t\tcase 'loanafinalapproved':\n\t\t\tcurrent = 6\n\t\t\tbreak\n\t\tcase 'submittedtoescrow':\n\t\t\tcurrent = 7\n\t\t\tbreak\n\t\tcase 'finaldocssigned':\n\t\t\tcurrent = 8\n\t\t\tbreak\n\t\tcase 'fundsreleased':\n\t\t\tcurrent = 9\n\t\t\tbreak;\n\t\tcase 'applicationwithdrawn':\n\t\t\tcurrent = 10\n\t\t\tbreak\n\t\tcase 'applicationabandoned':\n\t\t\tcurrent = 11\n\t\t\tbreak\n\t\tcase 'aplicationrejected':\n\t\t\tcurrent = 12\n\t\t\tbreak\n\t\tcase \"borrowerwithdrew\":\n\t\t\tcurrent = 13\n\t\t\tbreak\n\t\tcase \"loancanceled\":\n\t\t\tcurrent = 14\n\t\t\tbreak\n\t\tcase \"loandenied\":\n\t\t\tcurrent = 15\n\t\t\tbreak\n\t}\n\treturn current\n}\n\nexport const loanStatus = [\n\t'Interview Started',\n\t'Product Selected',\n\t'Interview Finished',\n\t'Pending Tasks',\n\t'Loan Submitted',\n\t'Conditionally Approved',\n\t'Loan Final Approved',\n\t'Submitted To Escrow',\n\t'Final Docs Signed',\n\t'Loan Funded',\n\t'Application Withdrawn',\n\t'Application Abandoned',\n\t'Application Rejected',\n\t\"Borrower Withdrew\",\n\t\"Loan Cancelled\",\n\t\"Loan Denied\",\n\t'Initialized By LO',\n\t'Undefined',\n]\n\nexport const loanStatusMap = {\n\t'interviewstarted': 'Interview Started',\n\t'productselected': 'Product Selected',\n\t'interviewfinished': 'Interview Finished',\n\t'documentationrequested': 'Pending Tasks',\n\t'loansubmitted': 'Loan Submitted',\n\t'conditionallyapproved': 'Conditionally Approved',\n\t'loanafinalapproved': 'Loan Final Approved',\n\t'submittedtoescrow': 'Submitted To Escrow',\n\t'finaldocssigned': 'Final Docs Signed',\n\t'fundsreleased': 'Loan Funded',\n\t'applicationwithdrawn': 'Application Withdrawn',\n\t'applicationabandoned': 'Application Abandoned',\n\t'aplicationrejected': 'Application Rejected',\n\t\"borrowerwithdrew\": \"Borrower Withdrew\",\n\t\"loancanceled\": \"Loan Cancelled\",\n\t\"loandenied\": \"Loan Denied\",\n\t\"loinitialized\": \"Initialized By LO\",\n\t\"indocs\": \"In Docs\",\n\t\"readyforsubmit\": \"Ready For Submission\",\n\t\"applicationdenied\": \"Application Denied\",\n\t\"pendingrateselection\": \"Pending Rate Selection\"\n};\n\nexport function splitStatusByWords(status) {\n\treturn loanStatusMap[status] || 'Undefined';\n}\n\nexport function mapStatusTagColor(status) {\n\tswitch (status) {\n\t\tcase 'interviewstarted':\n\t\t\treturn 'blue'\n\t\tcase 'productselected':\n\t\t\treturn 'geekblue'\n\t\tcase 'interviewfinished':\n\t\t\treturn 'cyan'\n\t\tcase 'documentationrequested':\n\t\t\treturn 'warning'\n\t\tcase 'loansubmitted':\n\t\t\treturn 'magenta'\n\t\tcase 'conditionallyapproved':\n\t\t\treturn 'lime'\n\t\tcase 'loanafinalapproved':\n\t\t\treturn 'green'\n\t\tcase 'submittedtoescrow':\n\t\t\treturn 'purple'\n\t\tcase 'finaldocssigned':\n\t\t\treturn 'gold'\n\t\tcase 'fundsreleased':\n\t\t\treturn 'processing'\n\t\tcase 'applicationwithdrawn':\n\t\t\treturn 'error'\n\t\tcase 'applicationabandoned':\n\t\t\treturn 'warning'\n\t\tcase 'aplicationrejected':\n\t\t\treturn 'red'\n\t\tcase \"borrowerwithdrew\":\n\t\t\treturn \"volcano\"\n\t\tcase \"loancanceled\":\n\t\t\treturn \"orange\"\n\t\tcase \"loandenied\":\n\t\t\treturn \"error\"\n\t\tcase \"loinitialized\":\n\t\t\treturn \"cyan\"\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport function safeParseInt(a) {\n\tif (a === \"\")\n\t\treturn 0\n\n\tconst b = parseInt(a)\n\tif (isNaN(b))\n\t\treturn 0\n\n\treturn b\n}\n\nexport function safeParseFloat(a) {\n\tif (a === \"\")\n\t\treturn 0\n\n\tconst b = parseFloat(a)\n\tconsole.log(\"safeParseFloat\", a, b)\n\n\tif (isNaN(b))\n\t\treturn 0\n\n\treturn b\n}\n\nexport function MonthlyPayment(i, P, n) {\n\tconst out = P * i * Math.pow(1 + i, n) / (Math.pow(1 + i, n) - 1)\n\treturn out\n}\n\nfunction getRateFromExistingLien(P, n, M, ilow, ihigh, i = 0) {\n\tconst mlow = MonthlyPayment(ilow, P, n)\n\tconst imid = 0.5 * (ilow + ihigh)\n\tconst mmiddle = MonthlyPayment(imid, P, n)\n\n\tif (M >= mlow && M <= mmiddle) {\n\t\tihigh = imid\n\t} else {\n\t\tilow = imid\n\t}\n\tif (ihigh - ilow < 0.000001) {\n\t\treturn 0.5 * (ihigh + ilow)\n\t}\n\treturn getRateFromExistingLien(P, n, M, ilow, ihigh, i + 1)\n}\n\nexport function getYearlyRate(P, n, M) {\n\tconst out = getRateFromExistingLien(P, n + 1, M, 0.01 / 12, 0.2 / 12)\n\n\tlet yearly = 12 * out\n\tyearly = Math.round(yearly * 100000) / 1000\n\treturn yearly\n}\n\nexport function getMonthlyValue(value, period) {\n\tswitch (period) {\n\t\tcase \"monthly\":\n\t\tdefault:\n\t\t\treturn parseFloat(value)\n\t\tcase \"yearly\":\n\t\t\treturn parseFloat(value) / 12\n\t\tcase \"daily\":\n\t\t\treturn parseFloat(value) * 261 / 12;\n\t}\n}\n\nexport function redirectValidation() {\n\treturn returnURLs.landingurl + returnURLs.loginpath\n}\n\nexport let returnURLs = { publicSite: \"/\" }\n\nexport function redirectPublicWebsite() {\n\tconst paths = sessionStorage.getItem(\"paths\")\n\tif (paths != null && paths !== \"\") {\n\t\tconst urls = JSON.parse(paths)\n\t\treturn urls.website\n\t}\n\n\n\tif (undefined === returnURLs.landingurl) {\n\t\tconst js = localStorage.getItem(\"redirects\")\n\t\tif (js != null && js !== \"\")\n\t\t\treturnURLs = JSON.parse(js)\n\t}\n\t// now let's see where we are\n\n\treturn returnURLs.landingurl\n}\n\nexport function getCompanyName() {\n\tconst js = localStorage.getItem(\"redirects\")\n\tif (js != null && js !== \"\") {\n\t\treturnURLs = JSON.parse(js)\n\t\treturn returnURLs[\"name\"]\n\t}\n\treturn \"\"\n}\n\nexport function updateReturnUrls(s) {\n\tObject.keys(s).forEach(key => {\n\t\treturnURLs[key] = s[key]\n\t})\n\tlocalStorage.setItem(\"redirects\", JSON.stringify(returnURLs))\n}\n\nexport let customization = null\n\nexport function setCustomization(c) {\n\tcustomization = c\n\tlocalStorage.setItem(\"customization\", JSON.stringify(c))\n}\n\nexport function checkCustomization() {\n\tif (customization == null) {\n\t\tconst c = localStorage.getItem(\"customization\")\n\t\tif (c !== \"\" && c != null)\n\t\t\tcustomization = JSON.parse(c)\n\t}\n}\n\nexport function getReturnURLs() {\n\tconst token = getUserToken()\n\tfetch('/api/getreturns', {\n\t\tmethod: 'GET',\n\t\theaders: {\n\t\t\tAuthorization: \"Bearer \" + token, // may be expired\n\t\t\tCache: \"no-cache\"\n\t\t}\n\t}).then(\n\t\tresponse => {\n\t\t\tif (response.status !== 200) {\n\t\t\t\tconsole.log('Looks like there was a problem. Status Code: ' +\n\t\t\t\t\tresponse.status);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Examine the text in the response\n\t\t\tresponse.json().then(js => {\n\t\t\t\treturnURLs = js\n\t\t\t\tlocalStorage.setItem(\"redirects\", JSON.stringify(js))\n\t\t\t});\n\t\t}\n\t)\n\t\t.catch(function (err) {\n\t\t\tconsole.log('Fetch Error :', err);\n\t\t});\n\treturn\n}\n\nexport function touch() {\n\twindow.document.dispatchEvent(new Event('checkwalkback'), \"\");\n}\n\nexport const upfrontMI = \"Upfront Mortgage Insurance Premium\"\n\nexport const counties = JSON.parse('{\"ALAMEDA COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"ALPINE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"AMADOR COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"BUTTE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"CALAVERAS COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"COLUSA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"CONTRA COSTA COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"DEL NORTE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"EL DORADO COUNTY\":[\"$598,000\",\"$765,550\",\"$925,350\",\"$1,150,000\"],\"FRESNO COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"GLENN COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"HUMBOLDT COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"IMPERIAL COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"INYO COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"KERN COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"KINGS COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"LAKE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"LASSEN COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"LOS ANGELES COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"MADERA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MARIN COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"MARIPOSA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MENDOCINO COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MERCED COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MODOC COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MONO COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"MONTEREY COUNTY\":[\"$739,450\",\"$946,650\",\"$1,144,250\",\"$1,422,050\"],\"NAPA COUNTY\":[\"$816,500\",\"$1,045,250\",\"$1,263,500\",\"$1,570,200\"],\"NEVADA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"ORANGE COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"PLACER COUNTY\":[\"$598,000\",\"$765,550\",\"$925,350\",\"$1,150,000\"],\"PLUMAS COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"RIVERSIDE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SACRAMENTO COUNTY\":[\"$598,000\",\"$765,550\",\"$925,350\",\"$1,150,000\"],\"SAN BENITO COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"SAN BERNARDINO COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SAN DIEGO COUNTY\":[\"$753,250\",\"$964,300\",\"$1,165,600\",\"$1,448,600\"],\"SAN FRANCISCO COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"SAN JOAQUIN COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SAN LUIS OBISPO COUNTY\":[\"$701,500\",\"$898,050\",\"$1,085,550\",\"$1,349,050\"],\"SAN MATEO COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"SANTA BARBARA COUNTY\":[\"$660,100\",\"$845,050\",\"$1,021,450\",\"$1,269,450\"],\"SANTA CLARA COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"SANTA CRUZ COUNTY\":[\"$822,375\",\"$1,053,000\",\"$1,272,750\",\"$1,581,750\"],\"SHASTA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SIERRA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SISKIYOU COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SOLANO COUNTY\":[\"$550,850\",\"$705,200\",\"$852,400\",\"$1,059,350\"],\"SONOMA COUNTY\":[\"$707,250\",\"$905,400\",\"$1,094,450\",\"$1,360,100\"],\"STANISLAUS COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"SUTTER COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"TEHAMA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"TRINITY COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"TULARE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"TUOLUMNE COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"],\"VENTURA COUNTY\":[\"$739,450\",\"$946,650\",\"$1,144,250\",\"$1,422,050\"],\"YOLO COUNTY\":[\"$598,000\",\"$765,550\",\"$925,350\",\"$1,150,000\"],\"YUBA COUNTY\":[\"$548,250\",\"$702,000\",\"$848,500\",\"$1,054,500\"]}')\nexport const texasCounties = [\"ANDERSON COUNTY\", \"ANDREWS COUNTY\", \"ANGELINA COUNTY\", \"ARANSAS COUNTY\", \"ARCHER COUNTY\", \"ARMSTRONG COUNTY\", \"ATASCOSA COUNTY\", \"AUSTIN COUNTY\", \"BAILEY COUNTY\", \"BANDERA COUNTY\", \"BASTROP COUNTY\", \"BAYLOR COUNTY\", \"BEE COUNTY\", \"BELL COUNTY\", \"BEXAR COUNTY\", \"BLANCO COUNTY\", \"BORDEN COUNTY\", \"BOSQUE COUNTY\", \"BOWIE COUNTY\", \"BRAZORIA COUNTY\", \"BRAZOS COUNTY\", \"BREWSTER COUNTY\", \"BRISCOE COUNTY\", \"BROOKS COUNTY\", \"BROWN COUNTY\", \"BURLESON COUNTY\", \"BURNET COUNTY\", \"CALDWELL COUNTY\", \"CALHOUN COUNTY\", \"CALLAHAN COUNTY\", \"CAMERON COUNTY\", \"CAMP COUNTY\", \"CARSON COUNTY\", \"CASS COUNTY\", \"CASTRO COUNTY\", \"CHAMBERS COUNTY\", \"CHEROKEE COUNTY\", \"CHILDRESS COUNTY\", \"CLAY COUNTY\", \"COCHRAN COUNTY\", \"COKE COUNTY\", \"COLEMAN COUNTY\", \"COLLIN COUNTY\", \"COLLINGSWORTH COUNTY\", \"COLORADO COUNTY\", \"COMAL COUNTY\", \"COMANCHE COUNTY\", \"CONCHO COUNTY\", \"COOKE COUNTY\", \"CORYELL COUNTY\", \"COTTLE COUNTY\", \"CRANE COUNTY\", \"CROCKETT COUNTY\", \"CROSBY COUNTY\", \"CULBERSON COUNTY\", \"DALLAM COUNTY\", \"DALLAS COUNTY\", \"DAWSON COUNTY\", \"DEAF SMITH COUNTY\", \"DELTA COUNTY\", \"DENTON COUNTY\", \"DEWITT COUNTY\", \"DICKENS COUNTY\", \"DIMMIT COUNTY\", \"DONLEY COUNTY\", \"DUVAL COUNTY\", \"EASTLAND COUNTY\", \"ECTOR COUNTY\", \"EDWARDS COUNTY\", \"ELLIS COUNTY\", \"EL PASO COUNTY\", \"ERATH COUNTY\", \"FALLS COUNTY\", \"FANNIN COUNTY\", \"FAYETTE COUNTY\", \"FISHER COUNTY\", \"FLOYD COUNTY\", \"FOARD COUNTY\", \"FORT BEND COUNTY\", \"FRANKLIN COUNTY\", \"FREESTONE COUNTY\", \"FRIO COUNTY\", \"GAINES COUNTY\", \"GALVESTON COUNTY\", \"GARZA COUNTY\", \"GILLESPIE COUNTY\", \"GLASSCOCK COUNTY\", \"GOLIAD COUNTY\", \"GONZALES COUNTY\", \"GRAY COUNTY\", \"GRAYSON COUNTY\", \"GREGG COUNTY\", \"GRIMES COUNTY\", \"GUADALUPE COUNTY\", \"HALE COUNTY\", \"HALL COUNTY\", \"HAMILTON COUNTY\", \"HANSFORD COUNTY\", \"HARDEMAN COUNTY\", \"HARDIN COUNTY\", \"HARRIS COUNTY\", \"HARRISON COUNTY\", \"HARTLEY COUNTY\", \"HASKELL COUNTY\", \"HAYS COUNTY\", \"HEMPHILL COUNTY\", \"HENDERSON COUNTY\", \"HIDALGO COUNTY\", \"HILL COUNTY\", \"HOCKLEY COUNTY\", \"HOOD COUNTY\", \"HOPKINS COUNTY\", \"HOUSTON COUNTY\", \"HOWARD COUNTY\", \"HUDSPETH COUNTY\", \"HUNT COUNTY\", \"HUTCHINSON COUNTY\", \"IRION COUNTY\", \"JACK COUNTY\", \"JACKSON COUNTY\", \"JASPER COUNTY\", \"JEFF DAVIS COUNTY\", \"JEFFERSON COUNTY\", \"JIM HOGG COUNTY\", \"JIM WELLS COUNTY\", \"JOHNSON COUNTY\", \"JONES COUNTY\", \"KARNES COUNTY\", \"KAUFMAN COUNTY\", \"KENDALL COUNTY\", \"KENEDY COUNTY\", \"KENT COUNTY\", \"KERR COUNTY\", \"KIMBLE COUNTY\", \"KING COUNTY\", \"KINNEY COUNTY\", \"KLEBERG COUNTY\", \"KNOX COUNTY\", \"LAMAR COUNTY\", \"LAMB COUNTY\", \"LAMPASAS COUNTY\", \"LA SALLE COUNTY\", \"LAVACA COUNTY\", \"LEE COUNTY\", \"LEON COUNTY\", \"LIBERTY COUNTY\", \"LIMESTONE COUNTY\", \"LIPSCOMB COUNTY\", \"LIVE OAK COUNTY\", \"LLANO COUNTY\", \"LOVING COUNTY\", \"LUBBOCK COUNTY\", \"LYNN COUNTY\", \"MCCULLOCH COUNTY\", \"MCLENNAN COUNTY\", \"MCMULLEN COUNTY\", \"MADISON COUNTY\", \"MARION COUNTY\", \"MARTIN COUNTY\", \"MASON COUNTY\", \"MATAGORDA COUNTY\", \"MAVERICK COUNTY\", \"MEDINA COUNTY\", \"MENARD COUNTY\", \"MIDLAND COUNTY\", \"MILAM COUNTY\", \"MILLS COUNTY\", \"MITCHELL COUNTY\", \"MONTAGUE COUNTY\", \"MONTGOMERY COUNTY\", \"MOORE COUNTY\", \"MORRIS COUNTY\", \"MOTLEY COUNTY\", \"NACOGDOCHES COUNTY\", \"NAVARRO COUNTY\", \"NEWTON COUNTY\", \"NOLAN COUNTY\", \"NUECES COUNTY\", \"OCHILTREE COUNTY\", \"OLDHAM COUNTY\", \"ORANGE COUNTY\", \"PALO PINTO COUNTY\", \"PANOLA COUNTY\", \"PARKER COUNTY\", \"PARMER COUNTY\", \"PECOS COUNTY\", \"POLK COUNTY\", \"POTTER COUNTY\", \"PRESIDIO COUNTY\", \"RAINS COUNTY\", \"RANDALL COUNTY\", \"REAGAN COUNTY\", \"REAL COUNTY\", \"RED RIVER COUNTY\", \"REEVES COUNTY\", \"REFUGIO COUNTY\", \"ROBERTS COUNTY\", \"ROBERTSON COUNTY\", \"ROCKWALL COUNTY\", \"RUNNELS COUNTY\", \"RUSK COUNTY\", \"SABINE COUNTY\", \"SAN AUGUSTINE COUNTY\", \"SAN JACINTO COUNTY\", \"SAN PATRICIO COUNTY\", \"SAN SABA COUNTY\", \"SCHLEICHER COUNTY\", \"SCURRY COUNTY\", \"SHACKELFORD COUNTY\", \"SHELBY COUNTY\", \"SHERMAN COUNTY\", \"SMITH COUNTY\", \"SOMERVELL COUNTY\", \"STARR COUNTY\", \"STEPHENS COUNTY\", \"STERLING COUNTY\", \"STONEWALL COUNTY\", \"SUTTON COUNTY\", \"SWISHER COUNTY\", \"TARRANT COUNTY\", \"TAYLOR COUNTY\", \"TERRELL COUNTY\", \"TERRY COUNTY\", \"THROCKMORTON COUNTY\", \"TITUS COUNTY\", \"TOM GREEN COUNTY\", \"TRAVIS COUNTY\", \"TRINITY COUNTY\", \"TYLER COUNTY\", \"UPSHUR COUNTY\", \"UPTON COUNTY\", \"UVALDE COUNTY\", \"VAL VERDE COUNTY\", \"VAN ZANDT COUNTY\", \"VICTORIA COUNTY\", \"WALKER COUNTY\", \"WALLER COUNTY\", \"WARD COUNTY\", \"WASHINGTON COUNTY\", \"WEBB COUNTY\", \"WHARTON COUNTY\", \"WHEELER COUNTY\", \"WICHITA COUNTY\", \"WILBARGER COUNTY\", \"WILLACY COUNTY\", \"WILLIAMSON COUNTY\", \"WILSON COUNTY\", \"WINKLER COUNTY\", \"WISE COUNTY\", \"WOOD COUNTY\", \"YOAKUM COUNTY\", \"YOUNG COUNTY\", \"ZAPATA COUNTY\", \"ZAVALA COUNTY\"]\n\nexport function sortFullNameByLastAndFirst(a, b, order) {\n\tlet aFirst, aMiddle, aLast, bFirst, bMiddle, bLast\n\tconst [A, B] = [a, b].map(el => el.toUpperCase().split(/ +/))\n\tif (A.length === 2) {\n\t\t[aFirst, aLast] = A\n\t} else if (A.length === 3) {\n\t\t/* eslint-disable-next-line no-unused-vars */\n\t\t[aFirst, aMiddle, aLast] = A\n\t}\n\tif (B.length === 2) {\n\t\t[bFirst, bLast] = B\n\t} else if (B.length === 3) {\n\t\t/* eslint-disable-next-line no-unused-vars */\n\t\t[bFirst, bMiddle, bLast] = B\n\t}\n\n\tconst isAsc = order === 'asc'\n\n\tif (bLast < aLast) {\n\t\treturn isAsc ? -1 : 1\n\t} else if (bLast > aLast) {\n\t\treturn isAsc ? 1 : -1\n\t} else if (bLast === aLast) {\n\t\tif (bFirst < aFirst) {\n\t\t\treturn isAsc ? -1 : 1\n\t\t} else if (bFirst > aFirst) {\n\t\t\treturn isAsc ? 1 : -1\n\t\t}\n\t}\n}\n\nexport function getOccupancy(occupancy) {\n\tswitch (occupancy) {\n\t\tcase \"principal\":\n\t\t\treturn \"PRIMARY\"\n\t\tcase \"secondhome\":\n\t\t\treturn \"SECOND_HOME\"\n\t\tcase \"investment\":\n\t\t\treturn \"INVESTMENT\"\n\t\tdefault:\n\t\t\talert(\"wrong occupancy\")\n\t\t\treturn \"PRIMARY\"\n\t}\n}\n\nexport function getPropertyType(propertytype) {\n\tconst remap = {\n\t\tcondominiumdetached: \"CONDOMINIUM_DETACHED\",\n\t\tcondominium: \"CONDOMINIUM_ATTACHED\",\n\t\tpudattached: \"PUD_ATTACHED\",\n\t\tpuddetached: \"PUD_DETACHED\",\n\t\tsinglefamilyattached: \"SINGLE_FAMILY_ATTACHED\",\n\t\tsinglefamilydetached: \"SINGLE_FAMILY_DETACHED\",\n\t\ttwotofourfamily: \"TWO_TO_FOUR_FAMILY\",\n\t\tmanufacturedhome: \"MANUFACTURED_HOME\"\n\t}\n\tconst out = remap[propertytype]\n\treturn out\n}\n\nexport function getPropertyTypeName(propertytype) {\n\tconst remap = {\n\t\tcondominiumdetached: \"Condo\",\n\t\tcondominium: \"Condo\",\n\t\tpudattached: \"PUD\",\n\t\tpuddetached: \"PUD\",\n\t\tsinglefamilyattached: \"Single family\",\n\t\tsinglefamilydetached: \"Single family\",\n\t\ttwotofourfamily: \"Multi family\",\n\t\tmanufacturedhome: \"Manufactured home\",\n\t\tmobilehome: \"Mobile home\",\n\t}\n\tconst out = remap[propertytype]\n\treturn out\n}\n\nexport function interviewStepToSubstatus(step) {\n\tswitch (step) {\n\t\tcase 0:\n\t\t\treturn `Start/Tell us about how you are applying for a loan`\n\t\tcase 1:\n\t\t\treturn `Start/Your invited coborrowers`\n\t\tcase 2:\n\t\t\treturn `Start/Please tell us about yourself and your primary residence`\n\t\tcase 3:\n\t\t\treturn `Start/Please enter co-applicant's information`\n\t\tcase 4:\n\t\t\treturn `Property/Let's enter the subject property information`\n\t\tcase 5:\n\t\t\treturn `Property`\n\t\tcase 6:\n\t\t\treturn `Property`\n\t\tcase 7:\n\t\t\treturn `Property`\n\t\tcase 8:\n\t\t\treturn `Income/Tell us about applicant's income`\n\t\tcase 9:\n\t\t\treturn `Income/Tell us more about applicant's income`\n\t\tcase 10:\n\t\t\treturn `Income/Tell us about co applicant's income`\n\t\tcase 11:\n\t\t\treturn `Income/Tell us more about co applicant's income`\n\t\tcase 12:\n\t\t\treturn `Assets/Tell us about applicant's finances`\n\t\tcase 13:\n\t\t\treturn `Assets/More about applicant's finances`\n\t\tcase 14:\n\t\t\treturn `Assets/Tell us about applicants' finances`\n\t\tcase 15:\n\t\t\treturn `Assets/More about co applicant's finances`\n\t\tcase 16:\n\t\t\treturn `Assets`\n\t\tcase 17:\n\t\t\treturn `Liabilities/You're about to review your debts and liabilities`\n\t\tcase 18:\n\t\t\treturn `Liabilities/Please sign the authorization form`\n\t\tcase 19:\n\t\t\treturn `Liabilities/applicant's Liabilities From Credit Report`\n\t\tcase 20:\n\t\t\treturn `Liabilities/applicant's Liabilities From Credit Report`\n\t\tcase 21:\n\t\t\treturn `Liabilities/More on applicant's Liabilities`\n\t\tcase 22:\n\t\t\treturn `Liabilities/More on co applicant's Liabilities`\n\t\tcase 23:\n\t\t\treturn `Liabilities/applicants' current housing expenses for the primary residence`\n\t\tcase 24:\n\t\t\treturn `Liabilities/applicants' current housing expenses for the primary residence`\n\t\tcase 25:\n\t\t\treturn `(not done yet) Before we show you the best products out of thousands...`\n\t\tcase 26:\n\t\t\treturn `Prequal`\n\t\tcase 27:\n\t\t\treturn `Loan Choice/Select the mortgage loan`\n\t\tcase 28:\n\t\t\treturn `Transaction`\n\t\tcase 29:\n\t\t\treturn `Declarations/Declarations`\n\t\tcase 30:\n\t\t\treturn `Declarations/Information for government monitoring purposes`\n\t\tcase 31:\n\t\t\treturn `Finished`\n\t\tdefault:\n\t\t\treturn `The initial interview is complete!`\n\t}\n}\n\nexport function Purpose2Calculator(p) {\n\tswitch (p) {\n\t\tcase \"refinance\": return \"RateTermRefi\"\n\t\tcase \"cashoutrefinance\": return \"CashOutRefi\"\n\t\tcase \"purchase\": default: return \"Purchase\"\n\t}\n}\n\nexport function sortDates(date1, date2, isAsc) {\n\tlet answer = date1.getTime() - date2.getTime()\n\treturn isAsc ? answer : -answer\n}\n\nexport function dateToStringMMDDYYYY(date) {\n\tconst month = String(date.getMonth() + 1).padStart(2, \"0\");\n\tif (month === \"NaN\") {\n\t\treturn \"-\"\n\t}\n\tconst day = String(date.getDate()).padStart(2, \"0\");\n\tconst year = String(date.getFullYear()).slice(-2);\n\n\tconst formattedDate = `${month}/${day}/${year}`;\n\treturn formattedDate\n}\n\nexport function formatAddress(a) {\n\treturn a.presentaddressstreet + \", \" +\n\t\t((a.presentaddressunit != null && a.presentaddressunit !== \"\") ?\n\t\t\t(\"Apt. \" + a.presentaddressunit + \", \")\n\t\t\t: \"\") +\n\t\ta.presentaddresscity + \", \" +\n\t\ta.presentaddressstate + \" \" +\n\t\ta.presentaddresszip\n}\n\nexport function isHeloc(loan) {\n\treturn loan.creditloantype.toLowerCase().indexOf(\"homeequity\") >= 0\n}\n\nexport function isHomeloan(loan) {\n\tif (!loan.creditloantype) return false\n\treturn loan.creditloantype.toLowerCase().indexOf(\"mortgage\") >= 0 ||\n\t\tloan.creditloantype.toLowerCase().indexOf(\"homeequity\") >= 0 ||\n\t\tloan.creditloantype.toLowerCase().indexOf(\"realestate\") >= 0\n}\n\n// Zeitro logo\nexport let logo = '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';\nexport let companyName = 'Zeitro'\n\n\nexport function insertCssColors(customerID) {\n\tconst insertStyleSheet = (colors) => {\n\t\tconst style = document.createElement('style')\n\t\tstyle.type = 'text/css'\n\t\tstyle.innerHTML = colors\n\n\t\tdocument.getElementsByTagName('head')[0].appendChild(style);\n\t}\n\n\tconst defaultZeitroColors = `\n :root{\n --primary-color: #242c42;\n --primary-color-text: #eee;\n --primary-color-2: #303b57;\n --primary-color-2-text: #eee;\n --primary-color-3: #263272;\n --primary-color-3-text: #eee;\n --primary-pale: #7189c9;\n --primary-pale-text: #222;\n --secondary-color: #050c45;\n }\n `\n\n\tlet appliedColors = defaultZeitroColors;\n\n\tfetch('/data/companycustomization', {\n\t\theaders: {\n\t\t\t'X-CustomerId': customerID || 'zeitro',\n\t\t}\n\t})\n\t\t.then(async response => {\n\t\t\tif (!response.ok) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait response.json().then(json => {\n\t\t\t\tlet customizationObj = JSON.parse(json.Customization)\n\t\t\t\tif (Object.keys(customizationObj).includes('primaryColor')) {\n\t\t\t\t\tlet { primaryColor, primaryColorText, primaryColor2, primaryColor2Text, primaryColor3,\n\t\t\t\t\t\tprimaryColor3Text, paleColor, paleColorText, secondaryColor, icon } = customizationObj;\n\t\t\t\t\tappliedColors = `\n :root{\n --primary-color: ${primaryColor};\n --primary-color-text: ${primaryColorText};\n --primary-color-2: ${primaryColor2};\n --primary-color-2-text: ${primaryColor2Text};\n --primary-color-3: ${primaryColor3};\n --primary-color-3-text: ${primaryColor3Text};\n --primary-pale: ${paleColor};\n --primary-pale-text: ${paleColorText};\n --secondary-color: ${secondaryColor};\n }\n `\n\t\t\t\t\tif (icon) {\n\t\t\t\t\t\tlogo = icon;\n\t\t\t\t\t}\n\t\t\t\t\tif (json.CompanyName) {\n\t\t\t\t\t\tcompanyName = json.CompanyName;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}).finally(() => {\n\t\t\tinsertStyleSheet(appliedColors);\n\t\t});\n};\n\nexport function purpose2phrase(purpose) {\n\tswitch (purpose) {\n\t\tcase \"purchase\":\n\t\tdefault:\n\t\t\treturn \"Home Purchase\"\n\t\tcase \"refinance\":\n\t\t\treturn \"Home Refinances\"\n\t\tcase \"cashoutrefinance\":\n\t\t\treturn \"Cash Out Refinane\"\n\t}\n}\n\n/* operators\nConditionOperator:\n - equal\n - notequal\n - greater\n - less\n - greaterorequal\n - lessorequal\n*/\nexport const operatorMap = {\n\tequal: \"==\",\n\tnotequal: \"!=\",\n\tgreater: \">\",\n\tless: \"<\",\n\tgreaterorequal: \">=\",\n\tlessorequal: \"<=\"\n}\n\nexport const operatorInout = {\n\tequal: \"inside\",\n\tnotequal: \"outside\",\n}\n\nexport const operatorEnum = {\n\tequal: \"is included in\",\n\tnotequal: \"not included in\",\n}\n\nexport const operatorBool = {\n\tequal: \"Is True\",\n\tnotequal: \"Is False\",\n}\n\nexport const RuleSet = {\n\tLTVInterval: {\n\t\tname: \"LTV\",\n\t\tshort: \"LTV\",\n\t\ttyp: \"minmax\",\n\t\tvalues: \"float\",\n\t\toperators: [\"equal\", \"notequal\"],\n\t},\n\tFicoInterval: {\n\t\tname: \"FICO\",\n\t\tshort: \"FICO\",\n\t\ttyp: \"minmax\",\n\t\tvalues: \"int\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tDTIInterval: {\n\t\tname: \"DTI\",\n\t\tshort: \"DTI\",\n\t\ttyp: \"minmax\",\n\t\tvalues: \"float\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tLoanSizeInterval: {\n\t\tname: \"Loan amount\",\n\t\tshort: \"Loan amount\",\n\t\ttyp: \"minmax\",\n\t\tvalues: \"dollar\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tOccupancyType: {\n\t\tname: \"Occupancy\",\n\t\tshort: \"Occupancy\",\n\t\ttyp: \"enum\",\n\t\tvalues: {\n\t\t\tPRIMARY: \"Primary Residence\",\n\t\t\tSECOND_HOME: \"Secondary Home\",\n\t\t\tINVESTMENT: \"Investment Property\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tPurposeType: {\n\t\tname: \"Purpose\",\n\t\ttyp: \"enum\",\n\t\tvalues: {\n\t\t\tPurchase: \"Purchase\",\n\t\t\tRateTermRefi: \"Rate and Term Refinance\",\n\t\t\tCashOutRefi: \"Cash Out Refinance\",\n\t\t\tStreamlineRefi: \"Streamline Refinance\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tPropertyType: {\n\t\tname: \"Property Type\",\n\t\ttyp: \"enum\",\n\t\tvalues: {\n\t\t\tCONDOMINIUM_DETACHED: \"Condo detached\",\n\t\t\tCONDOMINIUM_ATTACHED: \"Condo attached\",\n\t\t\tPUD_ATTACHED: \"PUD attached\",\n\t\t\tPUD_DETACHED: \"PUD detached\",\n\t\t\tSINGLE_FAMILY_ATTACHED: \"Single Family Attached\",\n\t\t\tSINGLE_FAMILY_DETACHED: \"Single Family Detached\",\n\t\t\tTWO_TO_FOUR_FAMILY: \"Two to Four Family Home\",\n\t\t\tMANUFACTURED_HOME: \"Manufactured Home\",\n\t\t\tMODULAR_HOME: \"Modular Home\",\n\t\t\tMOBILE_HOME: \"Mobile Home\",\n\t\t\tCO_OP: \"Cooperative\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tUnits: {\n\t\tname: \"Number of Units\",\n\t\ttyp: \"value\",\n\t\tvalues: \"int\",\n\t\toperators: [\"equal\", \"notequal\", \"greater\",\n\t\t\t\"less\", \"greaterorequal\", \"lessorequal\"]\n\t},\n\tProductNameKeyword: {\n\t\tname: \"Product Name Keyword\",\n\t\ttyp: \"value\",\n\t\tvalues: \"string\",\n\t\toperators: [\"equal\"]\n\t},\n\tState: {\n\t\tname: \"State\",\n\t\ttyp: \"enum\",\n\t\tvalues: {\n\t\t\t\"AL\": \"Alabama\",\n\t\t\t\"AK\": \"Alaska\",\n\t\t\t\"AS\": \"American Samoa\",\n\t\t\t\"AZ\": \"Arizona\",\n\t\t\t\"AR\": \"Arkansas\",\n\t\t\t\"CA\": \"California\",\n\t\t\t\"CO\": \"Colorado\",\n\t\t\t\"CT\": \"Connecticut\",\n\t\t\t\"DE\": \"Delaware\",\n\t\t\t\"DC\": \"District Of Columbia\",\n\t\t\t\"FM\": \"Federated States Of Micronesia\",\n\t\t\t\"FL\": \"Florida\",\n\t\t\t\"GA\": \"Georgia\",\n\t\t\t\"GU\": \"Guam\",\n\t\t\t\"HI\": \"Hawaii\",\n\t\t\t\"ID\": \"Idaho\",\n\t\t\t\"IL\": \"Illinois\",\n\t\t\t\"IN\": \"Indiana\",\n\t\t\t\"IA\": \"Iowa\",\n\t\t\t\"KS\": \"Kansas\",\n\t\t\t\"KY\": \"Kentucky\",\n\t\t\t\"LA\": \"Louisiana\",\n\t\t\t\"ME\": \"Maine\",\n\t\t\t\"MH\": \"Marshall Islands\",\n\t\t\t\"MD\": \"Maryland\",\n\t\t\t\"MA\": \"Massachusetts\",\n\t\t\t\"MI\": \"Michigan\",\n\t\t\t\"MN\": \"Minnesota\",\n\t\t\t\"MS\": \"Mississippi\",\n\t\t\t\"MO\": \"Missouri\",\n\t\t\t\"MT\": \"Montana\",\n\t\t\t\"NE\": \"Nebraska\",\n\t\t\t\"NV\": \"Nevada\",\n\t\t\t\"NH\": \"New Hampshire\",\n\t\t\t\"NJ\": \"New Jersey\",\n\t\t\t\"NM\": \"New Mexico\",\n\t\t\t\"NY\": \"New York\",\n\t\t\t\"NC\": \"North Carolina\",\n\t\t\t\"ND\": \"North Dakota\",\n\t\t\t\"MP\": \"Northern Mariana Islands\",\n\t\t\t\"OH\": \"Ohio\",\n\t\t\t\"OK\": \"Oklahoma\",\n\t\t\t\"OR\": \"Oregon\",\n\t\t\t\"PW\": \"Palau\",\n\t\t\t\"PA\": \"Pennsylvania\",\n\t\t\t\"PR\": \"Puerto Rico\",\n\t\t\t\"RI\": \"Rhode Island\",\n\t\t\t\"SC\": \"South Carolina\",\n\t\t\t\"SD\": \"South Dakota\",\n\t\t\t\"TN\": \"Tennessee\",\n\t\t\t\"TX\": \"Texas\",\n\t\t\t\"UT\": \"Utah\",\n\t\t\t\"VT\": \"Vermont\",\n\t\t\t\"VI\": \"Virgin Islands\",\n\t\t\t\"VA\": \"Virginia\",\n\t\t\t\"WA\": \"Washington\",\n\t\t\t\"WV\": \"West Virginia\",\n\t\t\t\"WI\": \"Wisconsin\",\n\t\t\t\"WY\": \"Wyoming\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\n\t},\n\tCitizenship: {\n\t\tname: \"Citizenship\",\n\t\ttyp: \"enum\",\n\t\tvalues:\n\t\t{\n\t\t\tUS_CITIZENS: \"US Citizen\",\n\t\t\tPERMANENT_RESIDENT_ALIEN: \"Permanent Resident Alien\",\n\t\t\tNON_PERMANENT_RESIDENT_ALIEN: \"Non Permanent Resident Alien\",\n\t\t\t//NON_PERMANENT_RESIDENT_ALIEN_ITIN: \"\",\n\t\t\tNON_RESIDENT_ALIEN: \"Non Resident Alien\"\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\n\t},\n\tVisaType: {\n\t\tname: \"Visa Type\",\n\t\ttyp: \"enum\",\n\t\tvalues:\n\t\t{\n\t\t\tA_1: \"A1\",\n\t\t\tA_2: \"A2\",\n\t\t\tA_3: \"A3\",\n\t\t\tB_1: \"B3\",\n\t\t\tB_2: \"B2\",\n\t\t\tB_3: \"B3\",\n\t\t\tC_1: \"C1\",\n\t\t\tC_2: \"C2\",\n\t\t\tC_3: \"C3\",\n\t\t\tC_4: \"C4\",\n\t\t\tC_1D: \"C1D\",\n\t\t\tCP: \"CP\",\n\t\t\tD_1: \"D1\",\n\t\t\tD_2: \"D2\",\n\t\t\tE_1: \"E1\",\n\t\t\tE_2: \"E2\",\n\t\t\tE_3: \"E3\",\n\t\t\tF_1: \"F1\",\n\t\t\tF_2: \"F2\",\n\t\t\tF_3: \"F3\",\n\t\t\tG_1: \"G1\",\n\t\t\tG_2: \"G2\",\n\t\t\tG_3: \"G3\",\n\t\t\tG_4: \"G4\",\n\t\t\tG_5: \"G5\",\n\t\t\tH_1A: \"H1A\",\n\t\t\tH_1B: \"H1B\",\n\t\t\tH_1B1: \"H1B1\",\n\t\t\tH_1C: \"H1C\",\n\t\t\tH_2: \"H2\",\n\t\t\tH_2A: \"H2A\",\n\t\t\tH_2B: \"H2B\",\n\t\t\tH_3: \"H3\",\n\t\t\tH_4: \"H4\",\n\t\t\tI: \"I\",\n\t\t\tOR_1: \"OR1\",\n\t\t\tJ_1: \"J1\",\n\t\t\tJ_2: \"J2\",\n\t\t\tK_1: \"K1\",\n\t\t\tK_2: \"K2\",\n\t\t\tK_3: \"K3\",\n\t\t\tK_4: \"K4\",\n\t\t\tL_1: \"L1\",\n\t\t\tL_2: \"L2\",\n\t\t\tM_1: \"M1\",\n\t\t\tM_2: \"M2\",\n\t\t\tM_3: \"M3\",\n\t\t\tN_8: \"N8\",\n\t\t\tN_9: \"N9\",\n\t\t\tNACARA: \"NACARA\",\n\t\t\tNATO_1_6: \"NATO 1 6\",\n\t\t\tNATO_7: \"NATO 7\",\n\t\t\tO_1: \"O1\",\n\t\t\tO_2: \"O2\",\n\t\t\tO_3: \"O3\",\n\t\t\tP_1: \"P1\",\n\t\t\tP_2: \"P2\",\n\t\t\tP_3: \"P3\",\n\t\t\tP_4: \"P4\",\n\t\t\tQ_1: \"Q1\",\n\t\t\tQ_2: \"Q2\",\n\t\t\tQ_3: \"Q3\",\n\t\t\tR_1: \"R1\",\n\t\t\tR_2: \"R2\",\n\t\t\tS_5: \"S5\",\n\t\t\tS_6: \"S6\",\n\t\t\tS_7: \"S7\",\n\t\t\tT_1: \"T1\",\n\t\t\tT_2: \"T2\",\n\t\t\tT_3: \"T3\",\n\t\t\tT_4: \"T4\",\n\t\t\tTD: \"TD\",\n\t\t\tTN_1: \"TN1\",\n\t\t\tTN_2: \"TN2\",\n\t\t\tU_1: \"U1\",\n\t\t\tU_2: \"U2\",\n\t\t\tU_3: \"U3\",\n\t\t\tU_4: \"U4\",\n\t\t\tV_1: \"V1\",\n\t\t\tV_2: \"V2\",\n\t\t\tV_3: \"V3\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tMortgageType: {\n\t\tname: \"Mortgage Type\",\n\t\ttyp: \"enum\",\n\t\tvalues:\n\t\t{\n\t\t\tCONFORMING: \"Conforming\",\n\t\t\tSUPER_CONFORMING: \"Super Conforming\",\n\t\t\tJUMBO: \"Jumbo\",\n\t\t\tFHA: \"FHA\",\n\t\t\tFHA_STREAMLINE: \"FHA Streamline\",\n\t\t\tFHA_STREAMLINE_JUMBO: \"FHA Streamline Jumbo\",\n\t\t\tFHA_HIGH_BALANCE: \"FHA High Balance\",\n\t\t\tFHA_JUMBO: \"FHA Jumbo\",\n\t\t\tFHA_HIGH_BALANCE_STREAMLINE: \"FHA High Balance Streamline\",\n\t\t\tFHA_203K: \"FHA 203K\",\n\t\t\tFHA_203K_HIGH_BALANCE: \"FHA 203K High Balance\",\n\t\t\tVA: \"VA\",\n\t\t\tVA_HIGH_BALANCE: \"VA High Balance\",\n\t\t\tVA_JUMBO: \"VA Jumbo\",\n\t\t\tVA_IRRRL: \"VA IRRRL\",\n\t\t\tVA_HIGH_BALANCE_IRRRL: \"VA High Balance IRRRL\",\n\t\t\tVA_IRRRL_JUMBO: \"VA IRRRL Jumbo\",\n\t\t\tVA_RENOVATION: \"VA Renovation\",\n\t\t\tUSDA: \"USDA\",\n\t\t\tUSDA_STREAMLINE: \"USDA Streamline\",\n\t\t\tNON_QM: \"Non QM\",\n\t\t\tHOME_READY: \"Home Ready\",\n\t\t\tHOME_POSSIBLE: \"Home Possible\",\n\t\t\tHOME_READY_HIGH_BALANCE: \"Home Ready High Balance\",\n\t\t\tHOME_POSSIBLE_HIGH_BALANCE: \"Home Possible High Balance\",\n\t\t\tHOME_ONE: \"Home One\",\n\t\t\tHOME_STYLE: \"Home Style\",\n\t\t\tHOME_STYLE_HIGH_BALANCE: \"Home Style High Balance\",\n\t\t\tREFI_NOW: \"Refi Now\",\n\t\t\tCOMBINATION: \"Combination\",\n\t\t\tCHOICERenovation: \"Choice Renovation\",\n\t\t\tCHOICERenovation_SUPER_CONFORMING: \"Choice Renovation Super Conforming\",\n\t\t\tDOCTOR: \"Doctor\",\n\t\t\tDOCTOR_HIGH_BALANCE: \"Doctor High Balance\",\n\t\t\tENHANCED_RELIEF_REFINANCE: \"Enhanced Relief Refinance\",\n\t\t\tENHANCED_RELIEF_REFINANCE_HIGH_BALANCE: \"Enhanced Relief Refinance High Balance\",\n\t\t\tHIGH_LTV_REFINANCE: \"High LTV Refinance\",\n\t\t\tHIGH_LTV_REFINANCE_HIGH_BALANCE: \"High LTV Refinance High Balance\",\n\t\t},\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tNumberOfOwnedProperties: {\n\t\tname: \"Number Of Owned Properties\",\n\t\ttyp: \"value\",\n\t\tvalues: \"int\",\n\t\toperators: [\"equal\", \"notequal\", \"greater\",\n\t\t\t\"less\", \"greaterorequal\", \"lessorequal\"]\n\t},\n\tIsSelfEmployed: {\n\t\tname: \"Is Self Employed\",\n\t\ttyp: \"bool\",\n\t\tvalues: \"bool\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tEscrowWaiver: {\n\t\tname: \"Escrow Waiver\",\n\t\ttyp: \"bool\",\n\t\tvalues: \"bool\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tAppraisalWaiver: {\n\t\tname: \"Appraisal Waiver\",\n\t\ttyp: \"bool\",\n\t\tvalues: \"bool\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tCurrentJobInMonths: {\n\t\tname: \"Current Job In Months\",\n\t\ttyp: \"value\",\n\t\tvalues: \"int\",\n\t\toperators: [\"greater\",\n\t\t\t\"less\", \"greaterorequal\", \"lessorequal\"]\n\t},\n\tJobGapInMonths: {\n\t\tname: \"Job Gap In Months\",\n\t\ttyp: \"value\",\n\t\tvalues: \"int\",\n\t\toperators: [\"greater\",\n\t\t\t\"less\", \"greaterorequal\", \"lessorequal\"]\n\t},\n\tRSUAsIncome: {\n\t\tname: \"RSU As Income\",\n\t\ttyp: \"value\",\n\t\tvalues: \"dollar\",\n\t\toperators: [\"greater\",\n\t\t\t\"less\", \"greaterorequal\", \"lessorequal\"]\n\t},\n\tUseGiftFund: {\n\t\tname: \"Use Gift Fund\",\n\t\ttyp: \"bool\",\n\t\tvalues: \"bool\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t},\n\tFamilyRelatedOrSmallBusiness: {\n\t\tname: \"Family Related Or Small Business\",\n\t\ttyp: \"bool\",\n\t\tvalues: \"bool\",\n\t\toperators: [\"equal\", \"notequal\"]\n\t}\n}\n\nexport const LenderRelationshhip = {\n\tBroker: {\n\t\tname: \"Broker\",\n\t},\n\tNondedicatedCorrespondentLender: {\n\t\tname: \"Non-delegated Correspondent Lender\",\n\n\t},\n\tDedicatedCorrespondentLender: {\n\t\tname: \"Delegated Correspondent Lender\",\n\t},\n\tDirecttLender: {\n\t\tname: \"Direct Lender\",\n\t}\n}\n\nexport function getPrimaryAddress(who, application) {\n\tlet _who = who\n\tif (application.cohabiting && who === \"coborrower\")\n\t\t_who = \"borrower\"\n\n\tconst st = application[_who].presentaddressstreet\n\tconst city = application[_who].presentaddresscity\n\tconst state = application[_who].presentaddressstate\n\tconst zip = application[_who].presentaddresszip\n\tconst apt = application[_who].presentaddressunit\n\n\tlet address = st\n\tif (apt != null && apt !== \"\")\n\t\taddress += ', Apt ' + apt\n\n\taddress += ', ' + city\n\taddress += ', ' + state\n\taddress += ' ' + zip\n\n\treturn address\n}\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n]\n\nexport const callReportInitValues = {\n\tapplicationdata: [\n\t\t{\n\t\t\tdatapoint: \"AC010\",\n\t\t\tparameters: \"Applications in Process at the Beignning of the Period\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC020\",\n\t\t\tparameters: \"Applications Received\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC030\",\n\t\t\tparameters: \"Applications Approved but not Accepted\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC040\",\n\t\t\tparameters: \"Applications Denied\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC050\",\n\t\t\tparameters: \"Applications Withdrawn\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC060\",\n\t\t\tparameters: \"File Closed for Incompleteness\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC062\",\n\t\t\tparameters: \"Pre-Approval Requests Denied\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC064\",\n\t\t\tparameters: \"Pre-Approval Requests Approved but not Accepted\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC065\",\n\t\t\tparameters: \"Net Changes in Application Amount (decreases should be reflected as negative)\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC066\",\n\t\t\tparameters: \"Total Application Pipeline\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC070\",\n\t\t\tparameters: \"Loan Closed and Funded\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC080\",\n\t\t\tparameters: \"Applications in Process at the End of the Period\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC090\",\n\t\t\tparameters: \"Total Application Pipeline Results\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tthirdpartyamount: 0,\n\t\t\tthirdpartycount: 0,\n\t\t\tthirdpartyaverage: 0,\n\t\t},\n\t],\n\tclosedloandata: [\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Loan Type\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC100\",\n\t\t\tparameters: \"Conventional\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC110\",\n\t\t\tparameters: \"FHA-Insured\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC120\",\n\t\t\tparameters: \"VA-Guaranteed\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC130\",\n\t\t\tparameters: \"FSA/RHS-Guaranteed\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC190\",\n\t\t\tparameters: \"Total Loan Type - Forward Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Property Type\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC200\",\n\t\t\tparameters: \"One to Four Family Dwelling\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC210\",\n\t\t\tparameters: \"Manufactured Housing\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC220\",\n\t\t\tparameters: \"Multifamily Dwelling\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC290\",\n\t\t\tparameters: \"Total Property Type\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Purpose of Loan or Application\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC300\",\n\t\t\tparameters: \"Home Purchase\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC310\",\n\t\t\tparameters: \"Home Improvement\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC320\",\n\t\t\tparameters: \"Refinancing\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC390\",\n\t\t\tparameters: \"Total Purpose of Loan or Application\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC400\",\n\t\t\tparameters: \"HOEPA\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Lien Status\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC500\",\n\t\t\tparameters: \"First Lien\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC510\",\n\t\t\tparameters: \"Subordinate Lien\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC520\",\n\t\t\tparameters: \"Not Secured by a Lien\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC590\",\n\t\t\tparameters: \"Total Lien Status\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Fee Information\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC600\",\n\t\t\tparameters: \"Broker Fees Collected - Forward Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC610\",\n\t\t\tparameters: \"Lender Fees Collected - Forward Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Loan Type\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC700\",\n\t\t\tparameters: \"HECM - Standard\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC710\",\n\t\t\tparameters: \"HECM - Saver\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC720\",\n\t\t\tparameters: \"Proprietary / Other\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC790\",\n\t\t\tparameters: \"Total Loan Type - Reverse Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Purpose of Reverse Mortgage\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC800\",\n\t\t\tparameters: \"Home Purchase\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC810\",\n\t\t\tparameters: \"Other\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC890\",\n\t\t\tparameters: \"Total Purpose of Reverse Mortgage\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Fee Information\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC620\",\n\t\t\tparameters: \"Broker Fees Collected - Reverse Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC630\",\n\t\t\tparameters: \"Lender Fees Collected - Reverse Mortgages\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Forward and Reverse Mortgages Loans\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC900\",\n\t\t\tparameters: \"Total Loans Brokered by your Company\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC910\",\n\t\t\tparameters: \"Total Loans Funded by your Company\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"QM and Non-QM\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC920\",\n\t\t\tparameters: \"Qualified Mortgage (QM)\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC930\",\n\t\t\tparameters: \"Non-Qualified Mortgage (Non-QM)\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC940\",\n\t\t\tparameters: \"Non-Subject to QM\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC990\",\n\t\t\tparameters: \"Total Closed Loans\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"type\",\n\t\t\tparameters: \"Repurchase Information\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\t\t{\n\t\t\tdatapoint: \"AC1000\",\n\t\t\tparameters: \"Loans Made and Assigned but Required to Repurchase in Period\",\n\t\t\tbrokeredamount: 0,\n\t\t\tbrokeredcount: 0,\n\t\t\tbrokeredaverage: 0,\n\t\t\tNDCamount: 0,\n\t\t\tNDCcount: 0,\n\t\t\tNDCaverage: 0,\n\t\t},\n\n\t],\n\trevenuedata: [\n\t\t{\n\t\t\tdatapoint: \"AC1100\",\n\t\t\tparameters: \"Gross Revenue From Operations\",\n\t\t\tamount: 0,\n\t\t\tcount: 0,\n\t\t\taverage: 0,\n\t\t},\n\t],\n\tmlodata: [],\n}\n\nexport const callReportFieldIndex = {\n\tapplicationdata: {\n\t\tAC010: 0,\n\t\tAC020: 1,\n\t\tAC030: 2,\n\t\tAC040: 3,\n\t\tAC050: 4,\n\t\tAC060: 5,\n\t\tAC062: 6,\n\t\tAC064: 7,\n\t\tAC065: 8,\n\t\tAC066: 9,\n\t\tAC070: 10,\n\t\tAC080: 11,\n\t\tAC090: 12,\n\t},\n\tclosedloandata: {\n\t\tAC100: 1,\n\t\tAC110: 2,\n\t\tAC120: 3,\n\t\tAC130: 4,\n\t\tAC190: 5,\n\t\tAC200: 7,\n\t\tAC210: 8,\n\t\tAC220: 9,\n\t\tAC290: 10,\n\t\tAC300: 12,\n\t\tAC310: 13,\n\t\tAC320: 14,\n\t\tAC390: 15,\n\t\tAC400: 16,\n\t\tAC500: 18,\n\t\tAC510: 19,\n\t\tAC520: 20,\n\t\tAC590: 21,\n\t\tAC600: 23,\n\t\tAC610: 24,\n\t\tAC700: 26,\n\t\tAC710: 27,\n\t\tAC720: 28,\n\t\tAC790: 29,\n\t\tAC800: 31,\n\t\tAC810: 32,\n\t\tAC890: 33,\n\t\tAC620: 35,\n\t\tAC630: 36,\n\t\tAC900: 38,\n\t\tAC910: 39,\n\t\tAC920: 41,\n\t\tAC930: 42,\n\t\tAC940: 43,\n\t\tAC990: 44,\n\t\tAC1000: 46,\n\t},\n\trevenuedata: {\n\t\tAC1100: 0,\n\t},\n}\n\nexport const allIncomeTypes = {\n VOE: 'VOE',\n VOE24Mo: '2-Year VOE',\n PersonalBankStatement12Mo: '1-Year personal bank statement',\n PersonalBankStatement24Mo: '2-Year personal bank statement',\n BusinessBankStatement12Mo: '1-Year business bank statement',\n BusinessBankStatement24Mo: '2-Year business bank statement',\n Form109924Mo: '2-Year form 1099',\n Form109912Mo: '1-Year form 1099',\n PL12: '1-Year P & L',\n PL24: '2-Year P & L',\n AssetUtilization: 'Asset utilization',\n DebtServiceCoverageRatio: 'DSCR',\n}\n","import * as interview from '../Defs/interviewdefs'\nimport * as loinput from '../Defs/loinput'\n\n\nexport function updateApplication(t) {\n return { type: interview.CHANGE_APPLICATION, payload: t };\n}\nexport function updateApplicationByPath (path, value) {\n return { type: interview.CHANGE_APPLICATION_BY_PATH, value: value, path: path };\n\n}\n// interview functions\nexport function UpdateHasCoborrower(t) {\n return { type: interview.CHANGE_HAS_COBORROWER, payload: t };\n}\nexport function UpdateApplicationAttribute(t, verb) {\n return { type: interview.CHANGE_APPLICATION_ATTRIBUTE, payload: t, verb: verb };\n}\nexport function UpdateHardMoneyLoanAttribute(t, verb) {\n return { type: interview.CHANGE_HARDMONEYLOAN_ATTRIBUTE, payload: t, verb: verb}\n \n}\nexport function UpdateBorrowerAttribute(who, t, verb) {\n return { type: interview.CHANGE_BORROWER_ATTRIBUTE, who, payload: t, verb };\n}\nexport function UpdateSelectedLoanAttribute(t, verb) {\n return { type: interview.CHANGE_CHOSENLOAN_ATTRIBUTE, payload: t, verb: verb };\n}\n\nexport function UpdateCohabiting(t) {\n return { type: interview.CHANGE_COHABITING, payload: t };\n}\nexport function UpdateCurrentResidence(t) {\n return {type: interview.CHANGE_RENTOROWN_CURRENT_RESIDENCE, payload: t}\n}\nexport function UpdateSameProperty(t) {\n return {type: interview.CHANGE_FINANCING_SAMEPROPERTY, payload: t}\n}\nexport function AddAdditionaOccupation(t, who) {\n return { type: interview.ADD_ADDITIONAL_OCCUPATION, payload: t, who: who };\n}\nexport function RemoveAdditionalOccupation(t, who, i) {\n return { type: interview.REMOVE_ADDITIONAL_OCCUPATION, payload: t, who: who, index: i };\n}\nexport function ClearAdditionalOccupations(t, who) {\n return { type: interview.CLEAR_ADDITIONAL_OCCUPATIONS, payload: t, who: who };\n}\nexport function UpdateBorrowerHasOccupation(t) {\n return { type: interview.CHANGE_BORROWER_HASOCCUPATION, payload: t };\n}\nexport function UpdateIncomeMonthly(t, who, verb) {\n return { type: interview.CHANGE_INCOME_MONTHLY, payload: t, who: who, verb: verb };\n}\nexport function UpdateIncomeAtttribute(t, who, verb) {\n return { type: interview.CHANGE_INCOME_ATTRIBUTE, payload: t, who: who, verb: verb };\n}\nexport function UpdateIncomeAttribute(t, who, verb) {\n return { type: interview.CHANGE_INCOME_ATTRIBUTE, payload: t, who: who, verb: verb };\n\n}\nexport function SetBorrowerHasAdditionalIncome(t, who) {\n return { type: interview.HAS_ADDITIONAL_INCOME, payload: t, who: who };\n}\n\nexport function AddBorrowerAdditionalIncome(t, who) {\n return { type: interview.ADD_ADDITIONAL_INCOME, payload: t, who: who };\n}\nexport function RemoveBorrowerAdditionalIncome(t, who) {\n return { type: interview.REMOVE_ADDITIONAL_INCOME, payload: t, who: who };\n}\nexport function ClearBorrowerAdditionalIncome(who) {\n return { type: interview.CLEAR_ADDITIONAL_INCOME, who: who };\n}\n\nexport function UpdateBorrowerAdditionalIncome(t, who, verb, n) {\n return { type: interview.CHANGE_ADDITIONAL_INCOME, payload: t, who:who, verb:verb, index: n };\n}\nexport function UpdateExpenses(t, who, verb) {\n return { type: interview.CHANGE_EXPENSES, payload: t, who:who, verb:verb };\n}\nexport function UpdateJointly(t) {\n return { type: interview.CHANGE_JOINTLY, payload: t };\n}\nexport function UpdateFinances(t, who, verb) {\n return { type: interview.CHANGE_FINANCES, payload: t, who: who, verb: verb };\n}\nexport function AddBorrowerBankAccount(t, who) {\n return { type: interview.ADD_BORROWER_BANKACCOUNT, payload: t, who:who };\n}\nexport function BulkAddBorrowerBankAccounts(t, who) {\n return { type: interview.BULKADD_BORROWER_BANKACCOUNTS, payload: t, who:who };\n}\nexport function RemoveBorrowerBankAccount(t, who) {\n return { type: interview.REMOVE_BORROWER_BANKACCOUNT, payload: t, who:who };\n}\nexport function ClearBorrowerBankAccounts(t, who) {\n return { type: interview.CLEAR_BORROWER_BANKACCOUNTS, payload: t, who:who };\n}\nexport function ChangeBorrowerBankName(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BANKNAME, payload: t, index: i, who:who };\n}\nexport function ChangeBorrowerBankAccount(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BANKACCOUNT, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBankBalance(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BANKBALANCE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBankAccountType(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BANKACCOUNTTYPE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBankAttribution(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BANKATTRIBUTION, payload: t, index: i, who: who };\n}\n\nexport function UpdateBrokerInfo(t, verb) {\n return { type: interview.CHANGE_BROKER_INFO, payload: t, verb: verb };\n}\n\nexport function AddBorrowerBrokerAccount(t, who) {\n return { type: interview.ADD_BORROWER_BROKERACCOUNT, payload: t, who:who };\n}\nexport function RemoveBorrowerBrokerAccount(t, who) {\n return { type: interview.REMOVE_BORROWER_BROKERACCOUNT, payload: t, who:who };\n}\nexport function ClearBorrowerBrokerAccounts(t, who) {\n return { type: interview.CLEAR_BORROWER_BROKERACCOUNTS, payload: t, who:who };\n}\nexport function ChangeBorrowerBrokerName(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERNAME, payload: t, index: i, who:who };\n}\nexport function ChangeBorrowerBrokerAccount(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERACCOUNT, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBrokerBalance(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERBALANCE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBrokerAttribution(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERATTRIBUTION, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerBrokerAllocation(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERALLOCATION, payload: t, index: i, who: who };\n}\n\nexport function ChangeBorrowerInsuranceValue(t, i, verb) {\n return { type: interview.CHANGE_BORROWER_CHANGE_INSURANCE, payload: t, index: i, verb: verb };\n}\nexport function AddBorrowerInsurance(t) {\n return { type: interview.CHANGE_BORROWER_ADD_INSURANCE, payload: t };\n}\nexport function ClearBorrowerInsurance(t) {\n return { type: interview.CHANGE_BORROWER_CLEAR_INSURANCE, payload: t };\n}\nexport function RemoveBorrowerInsurance(t, i) {\n return { type: interview.CHANGE_BORROWER_DELETE_INSURANCE, payload: t, index: i };\n}\n\n\nexport function ChangeBorrowerBrokerTaxStatus(t, i, who) {\n return { type: interview.CHANGE_BORROWER_BROKERTAXSTATUS, payload: t, index: i, who: who };\n}\n\n\nexport function AddBorrowerAuto(t, who) {\n return { type: interview.ADD_BORROWER_AUTO, payload: t, who:who };\n}\nexport function RemoveBorrowerAuto(t, who) {\n return { type: interview.REMOVE_BORROWER_AUTO, payload: t , who:who};\n}\nexport function ClearBorrowerAutos(t, who) {\n return { type: interview.CLEAR_BORROWER_AUTOS, payload: t, who:who };\n}\nexport function ChangeBorrowerAutoMake(t, i, who) {\n return { type: interview.CHANGE_BORROWER_AUTO_MAKE, payload: t, index: i, who:who };\n}\nexport function ChangeBorrowerAutoYear(t, i, who) {\n return { type: interview.CHANGE_BORROWER_AUTO_YEAR, payload: t, index: i, who:who };\n}\nexport function ChangeBorrowerAutoValue(t, i, who) {\n return { type: interview.CHANGE_BORROWER_AUTO_VALUE, payload: t, index: i, who:who };\n}\nexport function AddBorrowerOtherAsset(t, who) {\n return { type: interview.ADD_BORROWER_OTHER_ASSET, payload: t, who:who };\n}\nexport function BulkAddBorrowerOtherAssets(t, who) {\n return { type: interview.BULKADD_BORROWER_OTHER_ASSETS, payload: t, who:who };\n}\nexport function RemoveBorrowerOtherAsset(index, who) {\n return { type: interview.REMOVE_BORROWER_OTHER_ASSET, payload:index, who:who };\n}\nexport function ClearBorrowerOtherAssets(t, who) {\n return { type: interview.CLEAR_BORROWER_OTHER_ASSETS, payload: t, who:who };\n}\nexport function ChangeBorrowerOtherAssetName(t, i, who) {\n return { type: interview.CHANGE_BORROWER_OTHER_ASSET_NAME, payload: t, index: i, who:who };\n}\nexport function ChangeBorrowerOtherAssetValue(t, i, who) {\n return { type: interview.CHANGE_BORROWER_OTHER_ASSET_VALUE, payload: t, index: i, who:who };\n}\n\nexport function ChangeBorrowerOtherAssetAttribution(t, i){\n return { type: interview.CHANGE_BORROWER_OTHER_ASSET_ATTRIBUTION, payload: t, index: i };\n}\nexport function ChangeBorrowerOtherAsset(t, verb, i){\n return { type: interview.CHANGE_BORROWER_OTHER_ASSET, payload: t, verb, index: i };\n}\n\nexport function AddBorrowerLoan(t, who) {\n return { type: interview.ADD_BORROWER_LOAN, payload: t, who: who };\n}\nexport function BulkAddBorrowerLoans(t, who) {\n return { type: interview.BULKADD_BORROWER_LOANS, payload: t, who: who };\n}\nexport function CopyBorrowerLoan(t, who) {\n return { type: interview.COPY_BORROWER_LOAN, payload: t, who: who };\n}\n\nexport function RemoveBorrowerLoan(t, i, who) {\n return { type: interview.REMOVE_BORROWER_LOAN, payload: t, index: i, who: who };\n}\nexport function ClearBorrowerLoans(t, who) {\n return { type: interview.CLEAR_BORROWER_LOANS, payload: t, who: who };\n}\nexport function ChangeBorrowerLoanCompany(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_COMPANY, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanAddress(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_ADDRESS, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanAccount(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_ACCOUNT, payload: t, index: i , who: who};\n}\nexport function ChangeBorrowerLoanMonthly(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_MONTHLY, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanRemaining(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_REMAINING, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoan(payload, index, verb) {\n return { type: interview.CHANGE_BORROWER_LOAN, payload, index, verb };\n}\nexport function ChangeBorrowerLoanSatisfiedUpon(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_SATISFIEDUPON, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanRate(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_RATE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanForSubject(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_FORSUBJECT, payload: t, index: i, who: who };\n}\n\nexport function ChangeBorrowerLoanCorrection(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_CORRECTION, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerLoanExplanation(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_EXPLANATION, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerMonthsLeftToPay(t, i, who) {\n return { type: interview.CHANGE_BORROWER_LOAN_MONTHSLEFTTOPAY, payload: t, index: i, who: who };\n}\n\nexport function BulkAddBorrowerOwnedProperties(t) {\n return { type: interview.BULKADD_BORROWER_OWNED_PROPERTIES, payload: t };\n}\nexport function AddOwnedProperty(t) {\n return { type: interview.ADD_OWNED_PROPERTY, payload: t };\n}\nexport function AddBorrowerOwnedProperty(t) {\n return { type: interview.ADD_BORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function AddCoborrowerOwnedProperty(t) {\n return { type: interview.ADD_COBORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function PrependOwnedProperty(t) {\n return { type: interview.PREPEND_OWNED_PROPERTY, payload: t };\n}\nexport function PrependBorrowerOwnedProperty() {\n return { type: interview.PREPEND_BORROWER_OWNED_PROPERTY };\n}\nexport function PrependCoborrowerOwnedProperty() {\n return { type: interview.PREPEND_COBORROWER_OWNED_PROPERTY };\n}\nexport function RemoveOwnedProperty(t) {\n return { type: interview.REMOVE_OWNED_PROPERTY, payload: t };\n}\nexport function RemoveBorrowerOwnedProperty(t) {\n return { type: interview.REMOVE_BORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function RemoveCoborrowerOwnedProperty(t) {\n return { type: interview.REMOVE_COBORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function ClearOwnedProperty(t) {\n return { type: interview.CLEAR_OWNED_PROPERTY, payload: t };\n}\nexport function ClearBorrowerOwnedProperty(t) {\n return { type: interview.CLEAR_BORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function ClearCoborrowerOwnedProperty(t) {\n return { type: interview.CLEAR_COBORROWER_OWNED_PROPERTY, payload: t };\n}\nexport function ChangeOwnedProperty(t, i, verb) {\n return { type: interview.CHANGE_OWNED_PROPERTY, payload: t, index: i, verb: verb };\n}\nexport function ChangeBorrowerOwnedProperty(t, i, verb) {\n return { type: interview.CHANGE_BORROWER_OWNED_PROPERTY, payload: t, index: i, verb: verb };\n}\nexport function ChangeCoborrowerOwnedProperty(t, i, verb) {\n return { type: interview.CHANGE_COBORROWER_OWNED_PROPERTY, payload: t, index: i, verb: verb };\n}\n\nexport function AddBorrowerAdditionalProperty(t, who) {\n return { type: interview.ADD_BORROWER_ADDITIONAL_PROPERTY, payload: t, who: who };\n}\nexport function RemoveBorrowerAdditionalProperty(t, who) {\n return { type: interview.REMOVE_BORROWER_ADDITIONAL_PROPERTY, payload: t, who: who };\n}\nexport function ClearBorrowerAdditionalProperty(t, who) {\n return { type: interview.CLEAR_BORROWER_ADDITIONAL_PROPERTY, payload: t, who: who };\n}\nexport function ChangeAdditionalProperty(t, i, verb, who) {\n return { type: interview.CHANGE_ADDITIONAL_PROPERTY, payload: t, index: i, verb: verb, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyAddress(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_ADDRESS, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyStatus(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_STATUS, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyType(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_TYPE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyValue(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_VALUE, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyLiens(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_LIENS, payload: t, index: i , who: who};\n}\nexport function ChangeBorrowerAdditionalPropertyGrossIncome(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_GROSSINCOME, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyPayment(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_PAYMENT, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyExpenses(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_EXPENSES, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalPropertyNetIncome(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_NETINCOME, t, i, who };\n}\nexport function ChangeBorrowerAdditionalPropertyAttribute(value, index, verb) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTE, value, index, verb};\n}\n\nexport function ChangeBorrowerAdditionalPropertyAttribution(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_PROPERTY_ATTRIBUTION, payload: t, index: i, who: who };\n}\n\nexport function ChangeBorrowerFreeAndClear(t, i, who) {\n return { type: interview.CHANGE_BORROWER_FREEANDCLEAR, payload: t, who: who };\n}\nexport function ChangeReviewedLoans(t) {\n return { type: interview.CHANGE_REVIEWED_LOANS, payload: t };\n}\n\n\n\nexport function AddBorrowerAdditionaCredits(t, who) {\n return { type: interview.ADD_BORROWER_ADDITIONAL_CREDITS, payload: t, who: who };\n}\nexport function RemoveBorrowerAdditionalCredits(t, who) {\n return { type: interview.REMOVE_BORROWER_ADDITIONAL_CREDITS, payload: t, who: who };\n}\nexport function ClearBorrowerAdditionalCredits(t, who) {\n return { type: interview.CLEAR_BORROWER_ADDITIONAL_CREDITS, payload: t, who: who };\n}\nexport function ChangeBorrowerAdditionalCreditAltName(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_CREDIT_ALTNAME, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalCreditCreditor(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_CREDIT_CREDITOR, payload: t, index: i, who: who };\n}\nexport function ChangeBorrowerAdditionalCreditAccount(t, i, who) {\n return { type: interview.CHANGE_BORROWER_ADDITIONAL_CREDIT_ACCOUNT, payload: t, index: i, who: who };\n}\nexport function ChangeMainPropertyDescription(t) {\n return { type: interview.CHANGE_PROPERTY_DESCRIPTION, payload: t };\n}\n\nexport function ChangeMainPropertyAddress(t) {\n return { type: interview.CHANGE_PROPERTY_ADDRESS, payload: t };\n}\nexport function ChangeMainPropertyOccupancy(t) {\n return { type: interview.CHANGE_PROPERTY_OCCUPANCY, payload: t };\n}\nexport function ChangeMainPropertyPurpose(t) {\n return { type: interview.CHANGE_PROPERTY_PURPOSE, payload: t };\n}\nexport function ChangeMainPropertyAppraisal(t) {\n return { type: interview.CHANGE_PROPERTY_APPRAISAL, payload: t };\n}\nexport function ChangeMainPropertySalesPrice(t) {\n return { type: interview.CHANGE_PROPERTY_SALESPRICE, payload: t };\n}\nexport function ChangeMainPropertyAttribute(t, verb) {\n return { type: interview.CHANGE_PROPERTY_ATTRIBUTE, payload: t, verb };\n}\nexport function ChangeMainPropertyUnits(t) {\n return { type: interview.CHANGE_PROPERTY_UNITS, payload: t };\n}\nexport function ChangeMainPropertyYearBuilt(t) {\n return { type: interview.CHANGE_PROPERTY_YEARBUILT, payload: t };\n}\nexport function ChangeMainPropertyInWhatName(t) {\n return { type: interview.CHANGE_PROPERTY_INWHATNAME, payload: t };\n}\nexport function ChangeMainPropertyEstateHeldIn(t) {\n return { type: interview.CHANGE_PROPERTY_ESTATEHELDIN, payload: t };\n}\nexport function ChangeMainPropertyInWhatManner(t) {\n return { type: interview.CHANGE_PROPERTY_INWHATMANNER, payload: t };\n}\nexport function ChangeMainPropertySources(t) {\n return { type: interview.CHANGE_PROPERTY_SOURCES, payload: t };\n}\nexport function ChangeMainPropertyRefinanceYearAcquired(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_YEARACQUIRED, payload: t };\n}\nexport function ChangeMainPropertyRefinanceOriginalCost(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_ORIGINALCOST, payload: t };\n}\nexport function ChangeMainPropertyRefinancePurpose(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_PURPOSE, payload: t };\n}\nexport function ChangeMainPropertyRefinanceImprovementsDesc(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSDESC, payload: t };\n}\nexport function ChangeMainPropertyRefinanceImprovementsStatus(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_IMPROVEMENTSSTATUS, payload: t };\n}\nexport function ChangeMainPropertyRefinanceCost(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_COST, payload: t };\n}\nexport function ChangeMainPropertyRefinanceExplainOther(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_EXPLAINOTHER, payload: t };\n}\nexport function ChangeMainPropertyRefinanceAttribute(t, verb) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_ATTRIBUTE, payload: t, verb };\n}\n\nexport function ChangeMainPropertyConstructionYearAcquired(t) {\n return { type: interview.CHANGE_PROPERTY_CONSTRUCTION_YEARACQUIRED, payload: t };\n}\nexport function ChangeMainPropertyConstructionOriginalCost(t) {\n return { type: interview.CHANGE_PROPERTY_CONSTRUCTION_ORIGINALCOST, payload: t };\n}\nexport function ChangeMainPropertyConstructionExistingLiens(t) {\n return { type: interview.CHANGE_PROPERTY_CONSTRUCTION_EXISTINGLIENS, payload: t };\n}\nexport function ChangeMainPropertyRefinanceExistingLiens(t) {\n return { type: interview.CHANGE_PROPERTY_REFINANCE_EXISTINGLIENS, payload: t };\n}\nexport function ChangeMainPropertyConstructionPresentValue(t) {\n return { type: interview.CHANGE_PROPERTY_CONSTRUCTION_PRESENTVALUE, payload: t };\n}\nexport function ChangeMainPropertyConstructionCostOfImprovements(t) {\n return { type: interview.CHANGE_PROPERTY_CONSTRUCTION_COSTOFIMPROVEMENTS, payload: t };\n}\nexport function ChangeDeclaration(t, who, v) {\n return { type: interview.CHANGE_DECLARATIONS, payload: t, who: who, verb: v };\n}\nexport function ChangeBorrowerInfo(t, who, v) {\n return { type: interview.CHANGE_BORROWER_INFO, payload: t, who: who, verb: v };\n}\nexport function ChangeNonQMInfo(t, who, v) {\n return { type: interview.CHANGE_NONQM_INFO, payload: t, who: who, verb: v };\n}\nexport function ChangeOccupationInfo(t, who, v) {\n return { type: interview.CHANGE_OCCUPATION_INFO, payload: t, who: who, verb: v };\n}\nexport function ChangePastOccupationInfo(t, who, v, i) {\n return { type: interview.CHANGE_PAST_OCCUPATION_INFO, payload: t, who: who, verb: v, index: i };\n}\nexport function ChangeMainPropertyExpirationDate(t) {\n return { type: interview.CHANGE_MAINPROPERTY_EXPIRATION, payload: t };\n}\n\nexport function ChangeMainPropertyPropertyType(t) {\n return { type: interview.CHANGE_MAINPROPERTY_PROPERTYTYPE, payload: t };\n}\nexport function ChangeMainProperty(t, verb) {\n return { type: interview.CHANGE_MAINPROPERTY, payload: t, verb: verb };\n}\nexport function ChangeMobileHomeInfo(t, verb) {\n return { type: interview.CHANGE_MOBILE_HOME_INFO, payload: t, verb: verb };\n}\n\nexport function UpdateEqualOpportunity(t, who, verb) {\n return { type: interview.CHANGE_EQUAL_OPPORTUNITY, payload: t, who: who, verb: verb };\n}\nexport function UpdateEqualOpportunitySub(t, who, section, verb) {\n return { type: interview.CHANGE_EQUAL_OPPORTUNITY_SUB, payload: t, who: who, section: section, verb: verb };\n}\nexport function UpdateSelectField(t, verb) {\n return { type: interview.CHANGE_SELECTION_FIELD, payload: t, verb: verb };\n}\n\nexport function UpdateSelectedLoanField(t, verb) {\n return { type: interview.CHANGE_SELECTEDLOAN_FIELD, payload: t, verb: verb };\n}\nexport function UpdateProduct(t, verb) {\n return { type: loinput.CHANGE_PRODUCT, payload: t, verb: verb };\n}\nexport function UpdateTransaction(t, verb) {\n return { type: loinput.CHANGE_TRANSACTION, payload: t, verb: verb };\n}\n\nexport function UpdateSelectedLoanProductField(t, index, verb) {\n return { type: interview.CHANGE_SELECTEDLOAN_PRODUCT_FIELD, payload: t, index, verb: verb };\n}\n\n\nexport function UpdatePreviousAddress(t, who, verb, n) {\n return { type: interview.CHANGE_PREVIOUS_ADDRESS, payload: t, who:who, verb:verb, index: n };\n}\n\nexport function AddPreviousAddress(t, who) {\n return { type: interview.ADD_PREVIOUS_ADDRESS, payload: t, who:who };\n}\nexport function RemovePreviousAddress(t, who, i) {\n return { type: interview.REMOVE_PREVIOUS_ADDRESS, payload: t, who:who, index:i };\n}\nexport function ClearPreviousAddress(t, who) {\n return { type: interview.CLEAR_PREVIOUS_ADDRESS, payload: t, who:who };\n}\n\nexport function BulkAddAlimonys(t, who) {\n return { type: interview.BULKADD_BORROWER_ALIMONYS, payload: t, who: who };\n}\nexport function AddAlimony(t, who) {\n return { type: interview.ADD_BORROWER_ALIMONY, payload: t, who: who };\n}\nexport function RemoveAlimony(t, who, i) {\n return { type: interview.REMOVE_BORROWER_ALIMONY, payload: t, index: i, who: who };\n}\nexport function ClearAlimonies(t, who) {\n return { type: interview.CLEAR_BORROWER_ALIMONY, payload: t, who: who };\n}\nexport function ChangeOwedTo(t, who, i) {\n return { type: interview.CHANGE_BORROWER_ALIMONY_OWEDTO, payload: t, index: i, who: who };\n}\nexport function ChangeAlimony(t, who, i) {\n return { type: interview.CHANGE_BORROWER_ALIMONY_AMOUNT, payload: t, index: i, who: who };\n}\nexport function ChangeAlimonyField(t, verb, who, i) {\n return { type: interview.CHANGE_BORROWER_ALIMONY, payload: t, verb, index: i, who: who };\n}\nexport function ChangePaymentType(t, who, i) {\n return { type: interview.CHANGE_BORROWER_ALIMONY_TYPE, payload: t, index: i, who: who };\n}\n\n\nexport function AddRemoteCoborrower(t) {\n return { type: interview.ADD_REMOTE_COBORROWER, payload: t };\n}\nexport function RemoveRemoteCoborrower(t) {\n return { type: interview.REMOVE_REMOTE_COBORROWER, payload: t };\n}\nexport function ClearRemoteCoborrower(t) {\n return { type: interview.CLEAR_REMOTE_COBORROWER, payload: t };\n}\nexport function ChangeRemoteCoborrowerFirstName(t, i) {\n return { type: interview.CHANGE_REMOTE_COBORROWER_FIRSTNAME, payload: t, index: i };\n}\nexport function ChangeRemoteCoborrowerLastName(t, i) {\n return { type: interview.CHANGE_REMOTE_COBORROWER_LASTNAME, payload: t, index: i };\n}\nexport function ChangeRemoteCoborrowerEmail(t, i) {\n return { type: interview.CHANGE_REMOTE_COBORROWER_EMAIL, payload: t, index: i };\n}\nexport function ChangeRemoteCoborrowerStatus(t, i) {\n return { type: interview.CHANGE_REMOTE_COBORROWER_STATUS, payload: t, index: i };\n}\nexport function ChangeRemoteCoborrowerUse(t, i) {\n return { type: interview.CHANGE_REMOTE_COBORROWER_USE, payload: t, index: i };\n}\n\nexport function UpdateSolarPanels(t, verb) {\n return { type: interview.CHANGE_SOLAR_PANELS, payload: t, verb:verb};\n}\n\n\nexport function AddOtherLien() {\n return { type: interview.ADD_BORROWER_OTHER_LIEN, };\n}\nexport function RemoveOtherLien(index) {\n return { type: interview.REMOVE_BORROWER_OTHER_LIEN, payload:index };\n}\nexport function ClearBorrowerOtherLiens() {\n return { type: interview.CLEAR_BORROWER_OTHER_LIENS};\n}\nexport function ChangeBorrowerOtherLienValue(t, i, verb) {\n return { type: interview.CHANGE_BORROWER_OTHER_LIEN_VALUE, payload: t, index: i, verb:verb };\n}\n\nexport function AddBorrowerOtherOccupation( who) {\n return { type: interview.ADD_BORROWER_OTHER_OCCUPATION, who:who};\n}\nexport function RemoveBorrowerOtherOccupation(who, index) {\n return { type: interview.REMOVE_BORROWER_OTHER_OCCUPATION, payload:index, who:who };\n}\nexport function ClearBorrowerOtherOccupations(who) {\n return { type: interview.CLEAR_BORROWER_OTHER_OCCUPATIONS, who:who};\n}\nexport function ChangeBorrowerOtherOccupationValue(t, i, who, verb) {\n return { type: interview.CHANGE_BORROWER_OTHER_OCCUPATION_VALUE, payload: t, index: i, who:who, verb:verb };\n}\n\nexport function ChangeBorrowerOtherOccupationIncome(t, i, who, verb) {\n return { type: interview.CHANGE_BORROWER_OTHER_OCCUPATION_INCOME, payload: t, index: i, who:who, verb:verb };\n}\n\nexport function AddBorrowerPreviousOccupation( who) {\n return { type: interview.ADD_BORROWER_PREVIOUS_OCCUPATION, who:who};\n}\nexport function RemoveBorrowerPreviousOccupation(who, index) {\n return { type: interview.REMOVE_BORROWER_PREVIOUS_OCCUPATION, payload:index, who:who };\n}\nexport function ClearBorrowerPreviousOccupations(who) {\n return { type: interview.CLEAR_BORROWER_PREVIOUS_OCCUPATIONS, who:who};\n}\nexport function ChangeBorrowerPreviousOccupationValue(t, i, who, verb) {\n return { type: interview.CHANGE_BORROWER_PREVIOUS_OCCUPATION_VALUE, payload: t, index: i, who:who, verb:verb };\n}\n\nexport function ChangeBorrowerPreviousOccupationIncome(t, i, who, verb) {\n return { type: interview.CHANGE_BORROWER_PREVIOUS_OCCUPATION_INCOME, payload: t, index: i, who:who, verb:verb };\n}\n\nexport function UpdateFico(score) {\n return { type: interview.UPDATE_FICO, payload: score};\n}\n\nexport function UpdateCRErrors(ar) {\n return { type: interview.UPDATE_CR_ERRORS, payload: ar};\n}\nexport function ClearCRErrors(ar) {\n return { type: interview.CLEAR_CR_ERRORS, payload: ar};\n}\n\nexport function UpdateCannotShopServices(name, amount) {\n return { type: interview.UPDATE_CANNOTSHOPSERVICES, servicename: name, estimateamount: amount};\n}\n\nexport function UpdateCanShopServices(name, amount) {\n return { type: interview.UPDATE_CANSHOPSERVICES, servicename: name, estimateamount: amount};\n}\n\nexport function UpdateFees(name, amount) {\n return { type: interview.UPDATE_FEES, feename: name, estimateamount: amount};\n}\n\nexport function UpdateOriginalCosts(name, amount) {\n return { type: interview.UPDATE_ORIGINALCOSTS, chargename: name, estimateamount: amount};\n}\nexport function UpdateOtherCosts(name, amount) {\n return { type: interview.UPDATE_OTHERCOSTS, chargename: name, estimateamount: amount};\n}\nexport function UpdatePaymentPeriod(name, service, period) {\n return { type: interview.UPDATE_PAYMENT_PERIOD, name, service, period};\n}\nexport function UpdatePaymentAmount(name, service, amount) {\n return { type: interview.UPDATE_PAYMENT_AMOUNT, name, service, amount};\n}\nexport function UpdatePrepaidDefault(name, service, period, prepaidperiods, amount) {\n return { type: interview.UPDATE_PREPAID_DEFAULT, name, service, period, prepaidperiods, amount};\n}\nexport function AddSelectedLoanService(service, chargename) {\n return { type: interview.ADD_SELECTEDLOAN_SERVICE, service, chargename};\n}\nexport function AddSelectedLoanEstimatedClosingCosts(payload) {\n return { type: interview.ADD_SELECTEDLOAN_ESTIMATEDCLOSING_COSTS, payload};\n}\nexport function RemoveSelectedLoanService(service, chargename) {\n return { type: interview.REMOVE_SELECTEDLOAN_SERVICE, service, chargename};\n}\nexport function AddSelectedLoanCharge(service, chargename) {\n return { type: interview.ADD_SELECTEDLOAN_CHARGE, service, chargename};\n}\nexport function RemoveSelectedLoanCharge(service, chargename) {\n return { type: interview.REMOVE_SELECTEDLOAN_CHARGE, service, chargename};\n}\nexport function AddSelectedLoanPrepaid(service, chargename, period) {\n return { type: interview.ADD_SELECTEDLOAN_PREPAID, service, chargename, period};\n}\nexport function RemoveSelectedLoanPrepaid(service, chargename, period) {\n return { type: interview.REMOVE_SELECTEDLOAN_PREPAID, service, chargename, period};\n}\n\n\n\nexport function AddBorrowerGift() {\n return { type: interview.ADD_BORROWER_GIFT };\n}\nexport function BulkAddBorrowerGifts(payload) {\n return { type: interview.BULKADD_BORROWER_GIFTS, payload: payload };\n}\nexport function RemoveBorrowerGift(index) {\n return { type: interview.REMOVE_BORROWER_GIFT, index };\n}\nexport function ClearBorrowerGift() {\n return { type: interview.CLEAR_BORROWER_GIFT };\n}\nexport function UpdateBorrowerGift(value, verb, index) {\n return { type: interview.CHANGE_BORROWER_GIFT, value, verb, index };\n}\n\n\nexport function AddBorrowerAdditionalPropertiesFromCredit(payload) {\n return { type: interview.ADD_BORROWER_ADDITIONAL_PROPERTIES_CREDIT, payload };\n}\nexport function ChangeBorrowerAdditionalPropertiesFromCreditAttr(payload, index, verb) {\n return { type: interview.ADD_BORROWER_ADDITIONAL_PROPERTIES_ATTRIBUTES, payload, index, verb };\n}\n\n\nexport function BulkAddNewMortgageLoan(payload) {\n return { type: interview.BULKADD_NEW_MORTGAGE_LOAN, payload: payload };\n}\nexport function AddNewMortgageLoan() {\n return { type: interview.ADD_NEW_MORTGAGE_LOAN };\n}\nexport function RemoveNewMortgageLoan(index) {\n return { type: interview.REMOVE_NEW_MORTGAGE_LOAN, payload:index };\n}\nexport function ClearNewMortgageLoans() {\n return { type: interview.CLEAR_NEW_MORTGAGE_LOANS };\n}\nexport function UpdateNewMortgageLoanAttribute(value, index, verb) {\n return { type: interview.UPDATE_NEW_MORTGAGE_ATTRIBUTE, value, index, verb };\n}\n\nexport function UpdateEscrowInfo(value, verb) {\n return { type: interview.UPDATE_ESCROW_INFO, value, verb };\n}\n\nexport function UpdateAppraisalInfo(value, verb, index) {\n return { type: interview.UPDATE_APPRAISAL_INFO, value, verb, index };\n}\n\n","import { createStore } from \"redux\"\nimport throttle from 'lodash.throttle'\nimport rootReducer from \"../Reducers/index\"\nimport * as com from \"../Common.js\"\nimport { State } from '../State.js'\nimport { updateApplication } from './actions'\nvar stringify = require('fast-json-stable-stringify')\nvar md5 = require('md5')\nconst merge = require('deepmerge')\nconst cloneDeep = require('lodash/cloneDeep')\n//var jsonDiff = require('json-diff')\n\nlet inCurrentState = false\nlet stampCurrentState = 0\nexport const initialState = JSON.parse((() => { let a = new State(); return a.toJson() })())\n\nexport const loadState = () => {\n try {\n const serializedState = sessionStorage.getItem('state')\n\n if (serializedState === null) {\n return undefined\n }\n return JSON.parse(serializedState)\n } catch (err) {\n console.log(\"loadState: parse failed!!\")\n return new State()\n }\n}\n\nexport const saveState = (state) => {\n try {\n if (!state)\n state = store.getState()\n const serializedState = JSON.stringify(state)\n sessionStorage.setItem('state', serializedState)\n } catch {\n // ignore write errors\n }\n}\n\nconst overwriteMerge = (destinationArray, sourceArray, options) => sourceArray\n\nlet persistedState = loadState()\n\nif (typeof persistedState !== 'undefined') {\n persistedState = merge(initialState, persistedState, { arrayMerge: overwriteMerge })\n} else {\n persistedState = initialState\n}\nconst store = createStore(rootReducer, persistedState, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__({ trace: true }))\n\nlet lastSentHash = \"\"\n\nstore.subscribe(throttle(() => {\n if (sessionStorage.getItem(\"edit\") === \"false\") return\n let current = store.getState()\n saveState(current)\n}, 1000))\n\nstore.subscribe(throttle(() => {\n if (sessionStorage.getItem(\"edit\") === \"false\") return\n let current = store.getState()\n let currentHash = md5(stringify(current))\n if (currentHash !== lastSentHash) {\n let token = window.sessionStorage.getItem(\"ZeitroA\")\n if (null != token) {\n if (!inCurrentState) {\n getCurrentState()\n lastSentHash = currentHash\n } else {\n //console.log(\"skip getCurrentState\")\n }\n }\n }\n}, 5000))\n\nexport function mergeState(origin, masterState = cloneDeep(store.getState()), ps = sessionStorage.getItem(\"originalstate\")) {\n let originState\n let broken = false\n\n try {\n originState = JSON.parse(origin)\n } catch (e) {\n console.log(\"Error: Invalid json from the server in merge\")\n broken = true\n }\n\n let previousState\n if (broken) {\n console.log(\"state broken\")\n originState = new State()\n previousState = new State()\n } else {\n try {\n previousState = (ps === \"{}\" || ps === null) ? cloneDeep(store.getState()) : JSON.parse(ps)\n } catch (x) {\n originState = new State()\n previousState = new State()\n }\n }\n let appAtOrigin = originState.application\n let appCurrent = masterState.application\n let appPrevious = previousState.application\n let inp = stringify(appCurrent)\n let pr = stringify(appPrevious)\n let or = stringify(appAtOrigin)\n /* eslint-disable-next-line */\n if (pr != inp) {\n console.log(\"new local changes detected\")\n //console.log(jsonDiff.diffString(appPrevious, appCurrent))\n } else {\n /* eslint-disable-next-line */\n if (inp != or)\n console.log(\"new remote changes detected\")\n }\n let gettype = o => {\n let whattype = typeof o\n if (\"object\" === whattype) {\n if (Array.isArray(o)) {\n whattype = \"array\"\n }\n }\n return whattype\n }\n let dumpArray = (obj, prev, origin, level) => {\n for (let i = 0; i < obj.length; i++) {\n let whattype = gettype(obj[i])\n if (whattype === \"object\") {\n dumpObject(obj[i], prev[i], origin[i], level + 1)\n } else if (whattype === \"array\") {\n dumpArray(obj[i], prev[i], origin[i], level + 1)\n } else { // number, boolean, string\n if (obj[i] === prev[i] && obj[i] !== origin[i]) {\n obj[i] = origin[i]\n continue\n }\n }\n }\n }\n let dumpObject = (obj, prev, origin, level) => {\n for (var propertyName in obj) {\n let whattype = gettype(obj[propertyName])\n if (obj == null || origin == null) {\n // console.log(obj, origin, propertyName)\n continue\n }\n if (obj[propertyName] == null && origin[propertyName] != null)\n whattype = gettype(origin[propertyName])\n\n if (whattype === \"object\") {\n if (prev == null) // new wins\n continue\n if (origin == null) // local wins\n continue\n dumpObject(obj[propertyName], prev[propertyName], origin[propertyName], level + 1)\n } else if (whattype === \"array\") {\n if (prev == null || prev[propertyName] == null) // local change wins\n continue\n\n if (origin == null || origin[propertyName] == null) // nothing to merge with\n continue\n\n if (obj[propertyName].length === prev[propertyName].length && prev[propertyName].length === origin[propertyName].length) {\n // just iterate\n dumpArray(obj[propertyName], prev[propertyName], origin[propertyName], level + 1)\n } else {\n if (obj[propertyName].length === prev[propertyName].length) {\n // use reliable serializer\n let pa = stringify(prev[propertyName])\n let oa = stringify(obj[propertyName])\n if (pa === oa) {\n // take remote, SUBPAR, todo\n obj[propertyName] = origin[propertyName]\n prev[propertyName] = origin[propertyName]\n }\n }\n // keep local\n }\n } else { // number, bool, string\n if (prev == null || origin == null)\n continue\n if (undefined === typeof origin[propertyName])\n continue\n\n if (obj[propertyName] === prev[propertyName] && obj[propertyName] !== origin[propertyName]) {\n\n console.log(\"set \", propertyName, \" to remote value: \", origin[propertyName],\n \" local value: \", obj[propertyName], \", previous: \", prev[propertyName])\n obj[propertyName] = origin[propertyName]\n continue\n }\n }\n }\n }\n\n try {\n dumpObject(appCurrent, appPrevious, appAtOrigin, 0)\n } catch (x) {\n console.log(\"exception in dumpObject\", x)\n }\n let out = stringify(appCurrent)\n\n masterState.application = appCurrent\n /* eslint-disable-next-line */\n if (or != out) {\n // application part mediated\n\n sessionStorage.setItem(\"originalstate\", JSON.stringify(masterState))\n\n const unsubscribe = store.subscribe(handleChange)\n function handleChange() {\n unsubscribe()\n if (inp !== or) {\n console.log(\"Update the remote state\")\n updateState(masterState)\n } else {\n console.log(\"don't update the remote state, it is the same, updated local\")\n }\n }\n store.dispatch(updateApplication(appCurrent))\n } else {\n inCurrentState = false\n sessionStorage.setItem(\"originalstate\", JSON.stringify(masterState))\n //console.log(\"no change from origin, no local changes\")\n }\n return masterState\n}\n\nexport function getCurrentState(masterState = cloneDeep(store.getState()), previousState = sessionStorage.getItem(\"originalstate\")) {\n if (inCurrentState) {\n const elapsed = Date.now() - stampCurrentState\n if (elapsed < 10000) {\n return // should be more sophisticated?\n }\n console.log(\"Error: 10 sec state management timeout! Elapsed \", elapsed)\n }\n\n stampCurrentState = Date.now()\n inCurrentState = true\n\n saveState(masterState)\n\n const token = window.sessionStorage.getItem(\"ZeitroA\")\n fetch(window.location.origin + \"/borrower/currentstate\", {\n cache: 'no-cache',\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (!response.ok) {\n console.log(\"getCurrentState: Auth fetch error\")\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n } else {\n response.json().then(js => {\n if (js.Status !== \"OK\") {\n console.log(\"State Update Error: \" + js.Status)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n } else {\n if (js.Text !== '{}') {\n masterState = store.getState()\n previousState = sessionStorage.getItem(\"originalstate\")\n if (typeof masterState === 'undefined' && typeof previousState === 'undefined') {\n mergeState(js.Text)\n } else {\n mergeState(js.Text, masterState, previousState)\n }\n } else {\n saveState(masterState)\n sessionStorage.setItem(\"originalstate\", JSON.stringify(store.getState()))\n updateState(masterState)\n }\n }\n })\n }\n }).catch(error => {\n inCurrentState = false\n console.log(\"getCurrentState: error\")\n })\n}\n\nexport function updateState(s) {\n const sstate = JSON.stringify(s)\n sessionStorage.setItem(\"originalstate\", sstate)\n const tosend = com.ascii2hex(sstate)\n\n const token = window.sessionStorage.getItem(\"ZeitroA\")\n if (token === null) {\n console.log(\"updateState: not authenticated\")\n window.location.href = \"/#home\"\n return\n }\n if (sessionStorage.getItem(\"edit\") === \"false\") {\n console.log(\"Editing is not allowed.\")\n return\n };\n\n inCurrentState = true\n\n fetch(window.location.origin + \"/auth/updatestate\", {\n cache: 'no-cache',\n method: 'POST',\n body: tosend,\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (!response.ok) {\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n this.setState({ show: true })\n } else {\n response.json().then(js => {\n if (js.Status !== \"OK\") {\n console.log(\"State Update Error: \" + js.Status)\n if (js.Status.indexOf(\"token is expired\")) {\n sessionStorage.removeItem(\"ZeitroA\")\n }\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n }\n inCurrentState = false\n })\n }\n }).catch(error => {\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n console.log(\"updateState: error\")\n inCurrentState = false\n })\n}\n\nwindow.setInterval(() => {\n if (sessionStorage.getItem(\"edit\") === \"false\") return\n let token = window.sessionStorage.getItem(\"ZeitroA\")\n if (null != token)\n getCurrentState()\n}, 5000)\n\nexport default store","import React, { Component } from 'react';\nimport Modal from 'react-bootstrap/Modal'\nimport Button from 'react-bootstrap/Button'\nimport * as com from \"./Common.js\"\n\nconst sessionTimeoutMin = 20\n\nexport default class Auth extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n lastActivity: 0,\n active: false,\n }\n this.state.lastActivity = Date.now()/1000\n this.lastSessionUpdate = 0\n this.showtimer = null\n window.addEventListener(\"mousemove\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"keydown\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"wheel\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"DOMMouseScroll\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"mouseWheel\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"mousedown\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"touchstart\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"touchmove\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"MSPointerDown\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"MSPointerMove\", this.onActivity.bind(this), {passive: true} )\n window.addEventListener(\"visibilitychange\", this.onActivity.bind(this), {passive: true} )\n\n window.document.addEventListener('reauthenticate', this.onReauthenticate);\n\n }\n onReauthenticate = (e) =>{\n console.log(\"Reauthentication requested on failed fetch!\")\n this.revalidate()\n }\n onTimeout = () => {\n let d = new Date()\n console.log(\"in onTimeout, revalidate possible expiration, %s\", d.toLocaleString() )\n console.log(\"Elapsed: \" + (Date.now()/1000 - this.lastSessionUpdate))\n this.revalidate();\n }\n onActivity = (e) => {\n let now = Date.now()/1000 // in seconds\n if (now - this.lastSessionUpdate >= 30) {\n //console.log(\"last session update was \" + this.lastSessionUpdate + \", elapsed \" + \n //(now - this.lastSessionUpdate))\n \n this.lastSessionUpdate =now \n //console.log(\"in onActivity, session active, revalidate at\" + d.toLocaleString())\n //console.log(\"last session update set to \" + d.toLocaleString())\n // update every minute now, later change to sessionTimeoutMin\n // less a minute\n // eslint-disable-next-line react/no-direct-mutation-state\n\n this.revalidate();\n }\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.lastActivity = now\n clearTimeout(this.timeoutId)\n // trigger failed revalidation in sessionTimeToLive + 5 sec\n // eslint-disable-next-line react/no-direct-mutation-state\n this.timeoutId = setTimeout(this.onTimeout, 1000*(sessionTimeoutMin*60 + 5))\n\n }\n revalidate () {\n if(!this.active)\n return\n let token = window.sessionStorage.getItem(\"ZeitroA\");\n this.lastSessionUpdate = Date.now()/1000 \n if (token === null) {\n console.log(\"not authenticated\");\n window.location.href = com.redirectPublicWebsite();\n return;\n }\n fetch(window.location.origin + \"/auth/refresh\", {\n cache: 'no-cache',\n method: 'POST',\n body: \"\", \n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\" \n },\n }).then(response => {\n let d = new Date()\n //console.log(JSON.stringify(response))\n if (!response.ok) {\n console.log(\"Auth fetch error, at: \" + d.toLocaleString())\n sessionStorage.removeItem(\"ZeitroA\")\n this.setState({ show: true })\n } else {\n response.json().then(js => {\n if (js.Status !== \"OK\") {\n console.log(\"Status not OK, \" + JSON.stringify(js) + \", at: \" + d.toLocaleString())\n sessionStorage.removeItem(\"ZeitroA\")\n console.log(\"Pop the message\")\n this.showtimer = setTimeout(t => { \n console.log(\"Don't wait until popup shows, close the view\")\n window.location.href = com.redirectPublicWebsite()\n }, 30000)\n if(window.location.pathname !== '/')\n this.setState({ show: true })\n } else {\n //console.log(\"Revalidated ok, at:\" + d.toLocaleString())\n sessionStorage.setItem(\"ZeitroA\", js.Token)\n }\n })\n }\n }).catch(error => {\n let d = new Date()\n console.log(\"Revalidate catch error \" + error + \", at: \" + d.toLocaleString())\n })\n }\n\n componentDidMount() {\n if(this.timeoutId)\n clearTimeout(this.timeoutId)\n this.timeoutId = setTimeout(this.onTimeout, 1000*(sessionTimeoutMin*60 + 5))\n\n this.active=true\n this.revalidate();\n com.getReturnURLs()\n this.handleShow()\n }\n componentWillUnmount() {\n if(this.timeoutId)\n clearTimeout(this.timeoutId)\n this.timeoutId = null \n this.active=false\n\n }\n onShow = () => {\n if(this.showtimer)\n clearTimeout(this.showtimer)\n this.showtimer = null\n setTimeout(t => { \n console.log(\"kill the popup from popup\")\n window.location.href = com.redirectPublicWebsite()\n }, 5000)\n }\n handleClose = () => { this.setState({ show: true }); window.location.href = com.redirectPublicWebsite(); }\n handleShow = () => this.setState({ show: false });\n render() {\n return (\n
\n \n \n Session Expired\n \n This session timed out because of inactivity\n \n \n \n \n
\n )\n }\n}\n\n","let token = sessionStorage.getItem(\"ZeitroA\")\nexport default async (url = '', data = {}, type = 'GET',header={}) => {\n\n type = type.toUpperCase()\n\n let requestConfig = {\n credentials: 'same-origin',\n method: type,\n headers: {\n ...header,\n Authorization: \"Bearer \" + token,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n mode: \"cors\",\n cache: \"force-cache\"\n }\n\n if (type == 'POST') {\n\n Object.defineProperty(requestConfig, 'body', {\n value: JSON.stringify(data)\n })\n }\n try {\n const response = await fetch(url, requestConfig)\n \n // response.json().then((reserves) => {\n // console.log(reserves)\n // })\n const responseJson = await response.json()\n // console.log(responseJson)\n return responseJson\n } catch (error) {\n throw new Error(error)\n }\n}","import api from './service'\n\n\nexport const getLoans = (params) => api(`/auth/getloans`, params)\nexport const createNewApplication = (data) => api(`/auth/createnewapplication`, data,'post')\nexport const Switch = (data) => api(`/auth/switch`, data,'post')\nexport const CheckSignInMethod = (data) => api(`/auth/checksigninmethod`, data,'post')\nexport const checkCustomerInfo = (header) => api(`/data/companycustomization`, {},'get',header)\nexport const SetUpOrChangePassword = (data) => api(`/auth/setuporchangepassword`, data,'post')","\nimport * as com from \"./Common.js\"\n\nexport const TASK_STATUS_UPDATE_EVENT = 'task-status-update';\n\nexport function dispatchTaskStatusUpdate(taskData) {\n const event = new CustomEvent(TASK_STATUS_UPDATE_EVENT, {\n detail: taskData \n });\n document.dispatchEvent(event);\n }\n\nexport function addTaskStatusUpdateListener(handler) {\n document.addEventListener(TASK_STATUS_UPDATE_EVENT, handler);\n}\n\nexport function removeTaskStatusUpdateListener(handler) {\n document.removeEventListener(TASK_STATUS_UPDATE_EVENT, handler);\n}\n\nexport function updateTaskStatus() {\n const mergeTasks = (list) => {\n let updatedTaskList = []\n let tasksByType = {}\n list.forEach(task => {\n if (!(task.TaskType in tasksByType)) {\n tasksByType[task.TaskType] = []\n }\n tasksByType[task.TaskType].push(task)\n })\n for (let taskType in tasksByType) {\n let tasks = tasksByType[taskType]\n\n tasks.sort((a, b) => b.ID - a.ID)\n\n for (let i = 0; i < tasks.length; i++) {\n let currentTask = tasks[i]\n let mergedTask = { ...currentTask }\n\n if (taskType === 'action') {\n for (let j = i + 1; j < tasks.length; j++) {\n let nextTask = tasks[j]\n mergedTask.Items.push(...nextTask.Items)\n }\n }else {\n for (let j = i + 1; j < tasks.length; j++) {\n let nextTask = tasks[j]\n mergedTask.Documents.push(...nextTask.Documents)\n }\n }\n updatedTaskList.push(mergedTask)\n i = tasks.length\n }\n }\n return updatedTaskList\n } \n let token = com.getUserToken()\n fetch('/auth/tasks', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n return\n }\n // Examine the text in the response\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(\"Error: \" + js.Text)\n } else {\n const data = js.Tasks\n const filterData = data.filter(item => item.TaskType !== 'upload')\n const tasks = filterData.length > 0 ? mergeTasks(filterData) : []\n let totalLength = 0\n if (tasks.length > 0) {\n tasks.forEach(task => {\n if (task.TaskType === 'action') {\n totalLength += task.Items.length\n } else {\n totalLength += task.Documents.length\n }\n })\n }\n dispatchTaskStatusUpdate(totalLength)\n }\n })\n }).catch(function (err) {\n console.log('Fetch Error :', err)\n })\n}\n","import { compact, join, startCase, toLower, upperFirst, isNumber, isString, isNaN, toNumber } from 'lodash'\n\n/**\n * Assemble full name from first name, middle name, and last name\n * @param {string} firstName - The first name\n * @param {string} middleName - The middle name\n * @param {string} lastName - The last name\n * @returns {string} The assembled full name\n */\nexport const assembleFullName = (firstName, middleName, lastName) => {\n return join(compact([firstName, middleName, lastName]), ' ')\n}\n\n/**\n * Convert camelCase string to Title Case with spaces\n * Example:\n * - \"firstName\" -> \"First name\"\n * - \"lastNameUSA\" -> \"Last name usa\"\n * - \"SSNNumber\" -> \"Ssn number\"\n *\n * @param {string} str - The camelCase string to convert\n * @return {string} Converted string with first word capitalized and others lowercase\n */\nexport const camelToTitleCase = (str) => {\n if (!str) return ''\n return upperFirst(toLower(startCase(str)))\n}\n\n/**\n * Checks if a variable is a number or a string that can be converted to a number.\n * @param {*} value - The variable to check.\n * @return {boolean} Returns true if the variable is a number or a string that can be converted to a number, otherwise false.\n */\nexport const isNumericOrNumericString = (value) => {\n // Check if it is a number\n if (isNumber(value)) {\n return true\n }\n\n // If it's a string, check if it can be parsed as a valid number and is not an empty string\n if (isString(value) && value.trim() !== '' && !isNaN(toNumber(value))) {\n return true\n }\n\n // It is neither a number nor a numeric string\n return false\n}\n","import { isEmpty } from 'lodash'\nimport { isNumericOrNumericString } from './String'\nimport * as com from '../Common'\nimport * as st from '../State'\n\n/**\n * Get loan address from loan object\n * @param {object} loan - The loan object\n * @returns {string} The loan address\n */\nexport const getLoanAddress = (loan) => {\n const { address, county, state } = loan.state.application.property\n\n // Return TBD if both address and county are empty\n if (isEmpty(address) && isEmpty(county)) {\n return 'TBD'\n }\n\n // Return address if it exists, otherwise format county and state\n return isEmpty(address)\n ? `${com.removeCountySuffix(county)}, ${com.convertStateToAbbr(state)}`\n : address\n}\n\n/**\n * Skip the loan\n * @param {object} l - The loan object\n * @returns {boolean} Whether to skip the loan\n */\nexport function skipLoan(l) {\n if (l.correction !== 'none' && l.correction !== '') return true\n\n if (\n !(\n l.creditloantype.toLowerCase().indexOf('mortgage') >= 0 ||\n l.creditloantype.toLowerCase().indexOf('homeequity') >= 0 ||\n l.creditloantype.toLowerCase().indexOf('realestate') >= 0\n )\n )\n return true\n\n return false\n}\n\n/**\n * Count the subject mortgages\n * @param {string} purpose - The purpose of the loan\n * @param {array} loans - The loans\n * @param {array} otherliens - The other liens\n * @returns {number} The number of subject mortgages\n */\nexport function countSubjectMortgages(purpose, loans, otherliens) {\n if (purpose === st.POL_Purchase) return 0\n\n let counter = 0\n\n if (loans === null) {\n return 0\n }\n\n loans.forEach(l => {\n if (skipLoan(l)) return\n if (l.forsubjectproperty) {\n counter += 1\n }\n })\n\n if (!isEmpty(otherliens)) {\n otherliens.forEach(l => {\n counter += 1\n })\n }\n\n return counter\n}\n\n/**\n * Check loan is mortgage or not\n * @param {*} loan\n * @returns\n */\nexport function isMortgageLoan(loan) {\n if (!loan.creditloantype) return false\n const creditLoanType = loan.creditloantype.toLowerCase()\n return creditLoanType.indexOf('mortgage') >= 0 || creditLoanType.indexOf('homeequity') >= 0 || creditLoanType.indexOf('realestate') >= 0\n}\n\n/**\n * Calculate the balances and payments of the loans\n * @param {string} purpose - The purpose of the loan\n * @param {array} loans - The loans\n * @param {array} otherliens - The other liens\n * @returns {array} The balances and payments\n */\nexport function calculateBalancesAndPayments(purpose, loans, otherliens) {\n let firstmortgage = 0\n let firstmortgagebalance = 0\n let othermortgage = 0\n let otherbalance = 0\n let cashout = 0\n let loanmount = 0\n\n const subjectmortgages = countSubjectMortgages(purpose, loans, otherliens)\n\n if (isEmpty(loans)) {\n return [\n firstmortgage,\n firstmortgagebalance,\n othermortgage,\n otherbalance,\n cashout,\n loanmount,\n ]\n }\n\n const len = loans.length\n if (subjectmortgages === 1 && purpose !== st.POL_Purchase) {\n // mark the only mortgage as primary\n for (let index = 0; index < len; index++) {\n const loan = loans[index]\n if (loan.forsubjectproperty === true) {\n loan.isprimary = true\n }\n }\n if (otherliens != null) {\n for (let index = 0; index < otherliens.length; index++) {\n const loan = otherliens[index]\n loan.isprimary = true\n loan.satisfiedupon = 'withproceeds'\n }\n }\n }\n\n for (let index = 0; index < len; index++) {\n const loan = loans[index]\n if (com.isHomeloan(loan)) {\n if (loan.correction !== 'none' && loan.correction !== '') continue\n\n const mopayment = parseInt(loan.monthlypayment)\n const rembalance = parseInt(loan.remainingbalance)\n if (purpose !== st.POL_Purchase && loan.forsubjectproperty) {\n if (loan.satisfiedupon === 'withproceeds') {\n if (loan.isprimary) {\n firstmortgage += mopayment\n firstmortgagebalance += rembalance\n } else {\n if (\n purpose === st.POL_Refinance &&\n loan.partoforiginalpurchase === true\n ) {\n othermortgage += mopayment\n otherbalance += rembalance\n } else {\n othermortgage += mopayment\n otherbalance += rembalance\n cashout += rembalance\n }\n }\n }\n }\n\n if (purpose === st.POL_Purchase && loan.forprimaryresidence) {\n if (firstmortgagebalance === 0) {\n firstmortgage += mopayment\n firstmortgagebalance += rembalance\n } else {\n othermortgage += mopayment\n otherbalance += rembalance\n cashout += rembalance\n }\n }\n }\n }\n\n if (!isEmpty(otherliens)) {\n for (let i = 0; i < otherliens.length; i++) {\n const lien = otherliens[i]\n if ('' !== lien.balance) {\n if (lien.isHELOC) {\n if (lien.satisfiedupon !== 'withproceeds') continue\n }\n firstmortgagebalance += parseInt(lien.balance)\n firstmortgage += parseInt(lien.monthly)\n }\n }\n }\n\n switch (purpose) {\n case st.POL_Refinance:\n loanmount = firstmortgagebalance + otherbalance\n break\n case st.POL_Cashoutrefinance:\n loanmount = firstmortgagebalance + cashout\n break\n default:\n break\n }\n\n return [\n firstmortgage,\n firstmortgagebalance,\n othermortgage,\n otherbalance,\n cashout,\n loanmount,\n ]\n}\n\n/**\n * Get the loan amount\n * @param {string} purpose - The purpose of the loan\n * @param {string} mortgageapplied - The mortgage applied\n * @param {number} salesprice - The sales price\n * @param {number} downpayment - The down payment\n * @param {number} initialloanamount - The initial loan amount\n * @param {number} refinanceloanamount - The refinance loan amount\n * @param {number} loansize - The loan size\n * @returns {string} The loan amount\n */\nexport function getLoanAmount(\n purpose,\n mortgageapplied,\n salesprice,\n downpayment,\n initialloanamount,\n refinanceloanamount,\n loansize,\n hascontract,\n appraisal\n) {\n if (mortgageapplied === st.TOM_Hardmoneyloan) {\n if (purpose === st.POL_Purchaserehab) {\n return isNumericOrNumericString(initialloanamount) ? `$ ${com.commaize(initialloanamount)}` : '$--'\n }\n if (purpose === st.POL_Refinance) {\n return isNumericOrNumericString(refinanceloanamount) ? `$ ${com.commaize(refinanceloanamount)}` : '$--'\n }\n if (purpose === st.POL_Cashoutrefinance) {\n return isNumericOrNumericString(refinanceloanamount) ? `$ ${com.commaize(refinanceloanamount)}` : '$--'\n }\n return '$--'\n } else {\n if (purpose === st.POL_Purchase) {\n const price = hascontract ? salesprice : appraisal\n const salesPrice = isNumericOrNumericString(price) ? Number(price) : 0\n const downPayment = isNumericOrNumericString(downpayment) ? Number(downpayment) : 0\n return `$ ${com.commaize(salesPrice - downPayment)}`\n }\n return isNumericOrNumericString(loansize) ? `$ ${com.commaize(loansize)}` : '$--'\n }\n}\n","import { LeftOutlined } from '@ant-design/icons'\nimport { Dropdown, Tag, Tooltip, Progress } from 'antd'\nimport { useEffect, useMemo, useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport { Link } from 'react-router-dom'\nimport { isEmpty, trim, every } from 'lodash'\nimport { CheckSignInMethod, checkCustomerInfo } from '../api/api'\nimport './styles/newSideBarApplication.css'\nimport { getLoans } from '../api/api'\nimport {\n addTaskStatusUpdateListener,\n removeTaskStatusUpdateListener,\n updateTaskStatus,\n} from '../../AppEvents'\nimport * as com from '../../Common'\nimport { assembleFullName, camelToTitleCase } from '../../Tools/String'\nimport { getLoanAddress } from '../../Tools/Loan'\n\nfunction NewSideBarApplication(props) {\n const [method, setMethod] = useState('')\n const [taskCount, setTaskCount] = useState(0)\n const [companyName, setCompanyName] = useState('')\n const customerId = com.getCustomerId()\n const application = useSelector((state) => state.application)\n const progress = useSelector((state) => state.progress)\n\n const purpose = useMemo(() => application.property.purpose, [application.property.purpose])\n const address = useMemo(() => application.property.address, [application.property.address])\n const county = useMemo(() => application.property.county, [application.property.county])\n const state = useMemo(() => application.property.state, [application.property.state])\n const step = useMemo(() => progress.interview.step, [progress.interview.step])\n const maxStep = useMemo(() => progress.interview.max, [progress.interview.max])\n const firstName = useMemo(() => application.borrower.firstname, [application.borrower.firstname])\n const email = useMemo(() => application.borrower.email, [application.borrower.email])\n const hasCoBorrower = useMemo(() => application.hascoborrower === 'withcoborrower', [application.hascoborrower])\n\n // const [percent, setPercent] = useState(25)\n\n const [loanCurrentStatus, setLoanCurrentStatus] = useState(localStorage.getItem('LOAN_CURRENT_STATUS') || '')\n const [loanCurrentStage, setLoanCurrentStage] = useState(localStorage.getItem('LOAN_CURRENT_STAGE') || '')\n const [isPrequalLetterNew, setIsPrequalLetterNew] = useState(false)\n\n useEffect(() => {\n getLoans().then((res) => {\n if (res.Status === 'OK') {\n const loan = res.loans.find((item) => item.loanid === res.loanid)\n if (loan) {\n loan.state = JSON.parse(loan.state)\n loan.lostate = JSON.parse(loan.lostate)\n const { currentStage, currentStatus } = loan.state.application\n setLoanCurrentStatus(currentStatus)\n setLoanCurrentStage(currentStage)\n localStorage.setItem('LOAN_OFFICER_NAME', loan.loanofficername)\n localStorage.setItem('LOAN_CURRENT_STAGE', currentStage)\n localStorage.setItem('LOAN_CURRENT_STATUS', currentStatus)\n localStorage.setItem('LOAN_ADDRESS', getLoanAddress(loan))\n\n const token = com.getUserToken()\n fetch('/borrower/get_all_prequal_letters_for_loan', {\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n },\n body: JSON.stringify({ loanid: res.loanid }),\n })\n .then((res) => {\n if (res.status === 200) {\n res.json().then((data) => {\n if (!isEmpty(data) && data.length >= 1) {\n setIsPrequalLetterNew(true)\n }\n })\n }\n })\n .catch((err) => {\n console.error('Get prequal letters error: ', err)\n })\n }\n }\n }).catch((err) => {\n console.error('Get loans error: ', err)\n })\n }, [])\n\n useEffect(() => {\n\n }, [])\n\n const borrowerFullName = useMemo(() => {\n return assembleFullName(\n firstName,\n application.borrower.middlename,\n application.borrower.lastname\n )\n }, [firstName, application.borrower])\n\n const coBorrowerFullName = useMemo(() => {\n if (hasCoBorrower) {\n return assembleFullName(\n application.coborrower.firstname,\n application.coborrower.middlename,\n application.coborrower.lastname\n )\n }\n }, [hasCoBorrower, application.coborrower])\n\n const dropdownMenuItems = useMemo(\n () => [\n {\n label: (\n \n {method === 'email' ? 'Set up password' : 'Change password'}\n \n ),\n key: '1',\n },\n { type: 'divider' },\n {\n label: (\n \n Sign out\n \n ),\n key: '3',\n },\n ],\n [method]\n )\n\n const applicationURL = useMemo(() => {\n const baseUrl = '/application/interview/main/applicant'\n return maxStep ? `${baseUrl}/${maxStep}` : baseUrl\n }, [maxStep])\n\n const isApplicationActive = useMemo(() => com.CurrentStage[loanCurrentStage] >= 1, [loanCurrentStage])\n const isProcessingActive = useMemo(() => com.CurrentStage[loanCurrentStage] >= 2, [loanCurrentStage])\n const isClosingActive = useMemo(() => com.CurrentStage[loanCurrentStage] === 3, [loanCurrentStage])\n\n const purposeImage = useMemo(\n () =>\n purpose !== 'purchase' ? (\n \"money\"\n ) : (\n \"house\"\n ),\n [purpose]\n )\n\n const displayAddress = useMemo(() => {\n // Return TBD if both address and county are empty\n if (isEmpty(address) && isEmpty(county)) {\n return 'TBD'\n }\n\n // Return address if it exists, otherwise format county and state\n return isEmpty(address)\n ? `${com.removeCountySuffix(county)}, ${com.convertStateToAbbr(state)}`\n : address\n }, [address, county, state])\n\n useEffect(() => {\n let isMounted = true\n\n const fetchData = async () => {\n updateTaskStatus()\n addTaskStatusUpdateListener((e) => {\n if (isMounted) {\n const taskDataLength = e.detail\n setTaskCount(taskDataLength)\n }\n })\n\n try {\n const { Method } = await CheckSignInMethod({\n CustomerID: sessionStorage.getItem('cid'),\n Email: application.borrower.email,\n })\n if (isMounted) setMethod(Method)\n\n const { CompanyName } = await checkCustomerInfo({\n 'X-CustomerId': com.getCustomerId(),\n })\n if (isMounted) setCompanyName(CompanyName)\n } catch (error) {\n console.error('Error fetching data:', error)\n }\n }\n\n fetchData()\n\n return () => {\n isMounted = false\n removeTaskStatusUpdateListener((e) => {\n const taskDataLength = e.detail\n setTaskCount(taskDataLength)\n })\n }\n }, [application.borrower.email])\n\n function progressIndicator(isCoBorrower = false, fullName) {\n if (isCoBorrower && !hasCoBorrower) {\n return <>\n }\n\n const completedsteps = isCoBorrower ? application.coborrower.completedsteps : application.borrower.completedsteps\n const isNewBorrower = every(completedsteps, (step) => step === false)\n\n if (isNewBorrower) {\n const isValidName = fullName && !isEmpty(fullName.trim())\n if (!isValidName) {\n return <>\n }\n return (\n
\n null}\n strokeColor=\"#325CEB\"\n trailColor=\"#BDCBFB\"\n />\n
NEW
\n
\n )\n }\n\n let totalSteps = 0\n if (application.hascoborrower !== 'remote') {\n totalSteps += 1 // personal info\n totalSteps += 1 // current residence\n totalSteps += 1 // property\n }\n totalSteps += 1 // employment\n totalSteps += 1 // other income\n totalSteps += 1 // assets\n totalSteps += 1 // credit check\n totalSteps += 1 // liabilities\n totalSteps += 1 // declarations\n totalSteps += 1 // finances\n\n const {\n yourinfo,\n residence,\n property,\n employment,\n otherincome,\n assets,\n creditcheck,\n liabilities,\n propertymoney,\n finances,\n } = completedsteps\n\n let completedSteps = 0\n if (application.hascoborrower !== 'remote') {\n if (yourinfo) completedSteps += 1\n if (residence) completedSteps += 1\n if (property) completedSteps += 1\n }\n if (employment) completedSteps += 1\n if (otherincome) completedSteps += 1\n if (assets) completedSteps += 1\n if (creditcheck) completedSteps += 1\n if (liabilities) completedSteps += 1\n if (propertymoney) completedSteps += 1\n if (finances) completedSteps += 1\n\n const percent = Math.round((completedSteps / totalSteps) * 100)\n\n return percent === 100 ? (\n \n ) : (\n
\n null}\n strokeColor=\"#325CEB\"\n trailColor=\"#BDCBFB\"\n />\n
{percent}%
\n
\n )\n }\n\n const highlightSection = (section) => {\n switch (section) {\n case 'overview':\n return step === com.stageToNumberApplication.overview\n case 'applicant':\n return step >= com.stageToNumberApplication.applicant && step < com.stageToNumberApplication.coborrower\n case 'coborrower':\n return step >= com.stageToNumberApplication.coborrower && step < com.stageToNumberApplication.overview\n case 'rates':\n return step === com.stageToNumberApplication.rates\n case 'prequalletter':\n return step === com.stageToNumberApplication.prequalletter\n case 'documents':\n return step === com.stageToNumberApplication.documents\n case 'tasks':\n return step === com.stageToNumberApplication.tasks\n default:\n return false\n }\n }\n\n return (\n
\n
\n
\n
{companyName}
\n
\n
\n\n {\n window.open('/application/myloans', '_self')\n }}\n >\n \n Back to Loans\n
\n\n \n {purposeImage}\n
\n \n OVERVIEW\n
\n
{displayAddress}
\n
\n {camelToTitleCase(loanCurrentStatus)}\n
\n
\n \n\n
\n {/* Application */}\n
\n
\n
1
\n
\n APPLICATION\n
\n
\n
\n \n \n {borrowerFullName}\n \n {progressIndicator(false, borrowerFullName)}\n \n \n \n {hasCoBorrower && !isEmpty(trim(coBorrowerFullName)) ? coBorrowerFullName : '+ Co-borrower'}\n \n {progressIndicator(true, coBorrowerFullName)}\n \n {/* \n Credit report\n \n */}\n \n Rates\n \n {customerId !== 'serenityhomeloans' && (\n \n Pre-qual letter\n {isPrequalLetterNew && (\n \n New\n \n )}\n \n )}\n
\n
\n\n {/* Processing */}\n
\n
\n
2
\n
\n PROCESSING\n
\n
\n
\n {/* \n Escrow info\n \n */}\n \n Documents\n \n \n Tasks\n {taskCount > 0 && (\n \n {taskCount}\n \n )}\n \n
\n
\n\n {/* Closing */}\n
\n {\n if (!isClosingActive) {\n e.preventDefault()\n }\n }}\n style={{ cursor: isClosingActive ? 'pointer' : 'not-allowed' }}\n >\n \n 3\n
\n \n CLOSING\n
\n \n
\n \n \n\n
\n
\n
\n \n
\n
{firstName.charAt(0)}
\n
\n \n
\n {borrowerFullName}\n
\n
\n \n
\n {email}\n
\n
\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default NewSideBarApplication\n","import React, { Component } from 'react'\nimport Navbar from 'react-bootstrap/Navbar'\nimport Nav from 'react-bootstrap/Nav'\nimport NavDropdown from 'react-bootstrap/NavDropdown'\nimport Button from 'react-bootstrap/Button'\nimport { LinkContainer } from 'react-router-bootstrap'\nimport { Link, withRouter } from \"react-router-dom\"\nimport { HashLink } from \"react-router-hash-link\"\nimport * as com from \"../Common.js\"\nimport '../App.css'\nimport './Landing.css'\nimport Auth from \"../Auth\"\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport { Dropdown, Drawer, Space } from 'antd'\nimport { DownOutlined, SmileOutlined } from '@ant-design/icons'\nimport { connect } from \"react-redux\"\nimport {\n LeftOutlined\n} from '@ant-design/icons'\nimport { CheckSignInMethod } from '../newContent/api/api'\nimport NewSidebarApplication from '../newContent/page/newSideBarApplication'\nimport { matchPath } from \"react-router\"\n\nclass LandingMenu extends Component {\n constructor(props) {\n super(props)\n let sess = window.sessionStorage.getItem(\"ZeitroA\")\n this.state = {\n noactivesession: (null == sess || sess.length === 0),\n redirect: \"\",\n showAuth: false,\n logo: '/logo.png',\n companyName: 'Zeitro',\n openMenu: false,\n method: ''\n }\n this.timerId = null\n window.sessionStorage.setItem(\"step\", 0)\n\n this.public = \"ml-2 mr-2 pt-4 mb-3 py-0\"\n this.private = \"mt-1 mb-1 py-0 my-0\"\n }\n ontimer = () => {\n let sess = window.sessionStorage.getItem(\"ZeitroA\")\n let notalive = (null == sess || sess.length === 0)\n\n if (this.state.noactivesession !== notalive) {\n this.setState({ noactivesession: notalive })\n } else {\n if (window.location.pathname === \"/\") {\n this.setState({ showAuth: true })\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n }\n }\n this.timerId = setTimeout(this.ontimer, 1000)\n }\n\n loadLoanOfficer = () => {\n let token = com.getUserToken()\n\n fetch('/borrower/getloanofficer', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n return\n }\n response.json().then(js => {\n if (js.Status !== \"OK\") {\n console.log(\"Error: \" + js.Status)\n } else {\n this.setState({ logo: js.Image, companyName: js.Name })\n }\n })\n }\n )\n .catch(function (err) {\n console.log('Fetch Error :', err)\n })\n }\n\n componentDidMount() {\n this.timerId = setTimeout(this.ontimer, 1000)\n document.getElementById('')\n //style=\"background-color: rgb(50, 194, 77); color: rgb(255, 255, 255); fill: rgb(50, 194, 77);\"\n\n let searchparams = new URLSearchParams(window.location.search)\n let customerid = searchparams.get(\"customerid\")\n if (!customerid) {\n customerid = com.getCustomerId()\n }\n\n\n if (customerid === \"individualcustomers\") {\n this.loadLoanOfficer()\n } else {\n fetch('/data/companycustomization', {\n headers: {\n 'X-CustomerId': customerid || 'zeitro',\n }\n })\n .then(async response => {\n if (!response.ok) {\n return\n }\n response.json().then(json => {\n this.setState({ companyName: json.CompanyName })\n let customization = JSON.parse(json.Customization)\n if (Object.keys(customization).includes('primaryColor')) {\n this.setState({ logo: `data:image/png;base64, ${customization.icon}` })\n }\n })\n })\n }\n this.getMethod()\n\n }\n\n componentWillUnmount() {\n if (this.timerId)\n clearTimeout(this.timerId)\n this.timerId = null\n }\n getMethod = async () => {\n try {\n const { Method } = await CheckSignInMethod({\n CustomerID: sessionStorage.getItem('cid'),\n Email: this.props.application.borrower.email\n ,\n\n })\n this.setState({ method: Method })\n\n } catch (error) {\n\n }\n }\n renderNav = () => {\n\n let path = this.props.location\n let inapp = false\n if (path.pathname.indexOf('/application/') >= 0 || path.pathname.indexOf('/application/') >= 0) {\n inapp = true\n }\n\n if (this.state.noactivesession)\n return (\n
\n \n \n \n \n \n \n
\n )\n else\n return (\n
\n {!inapp ?\n \n \n \n : \"\"}\n {!inapp ?\n \n \n : \"\"}\n\n
\n )\n }\n question = () => {\n document.getElementById(\"alterra-chat-button\").click()\n }\n render = () => {\n let path = this.props.location\n let inapp = false\n if (path.pathname.indexOf('/app/') >= 0 || path.pathname.indexOf('/application/') >= 0 || path.pathname === \"/preapp\") {\n inapp = true\n }\n return (\n
\n \n \n\n {inapp ? \n :\n \n \"zeitro\"\n
{this.state.companyName}
\n
\n }\n
\n\n\n
\n {this.state.showAuth ? : \"\"}\n
\n )\n }\n};\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n})\n\nexport class PrequalHeader extends Component {\n constructor(props) {\n super(props)\n let sess = window.sessionStorage.getItem(\"ZeitroA\")\n this.state = {\n noactivesession: (null == sess || sess.length === 0),\n redirect: \"\",\n showAuth: false,\n logo: '/logo.png',\n companyName: '',\n customerid: \"\",\n loname: \"\",\n lophone: \"\",\n loemail: \"\",\n }\n this.timerId = null\n window.sessionStorage.setItem(\"step\", 0)\n\n this.public = \"ml-2 mr-2 pt-4 mb-3 py-0\"\n this.private = \"mt-1 mb-1 py-0 my-0\"\n }\n ontimer = () => {\n let sess = window.sessionStorage.getItem(\"ZeitroA\")\n let notalive = (null == sess || sess.length === 0)\n\n if (this.state.noactivesession !== notalive) {\n this.setState({ noactivesession: notalive })\n } else {\n if (window.location.pathname === \"/\") {\n this.setState({ showAuth: true })\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n }\n }\n this.timerId = setTimeout(this.ontimer, 1000)\n }\n\n loadLoanOfficer = (loid) => {\n fetch(\"/data/getindividualcustomerprofilebyid/\" + loid, {\n method: \"GET\",\n headers: {\n Cache: \"no-cache\",\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.log(\n \"Looks like there was a problem. Status Code: \" + response.status\n )\n return\n }\n response.json().then((js) => {\n this.setState({ companyName: js.FirstName + \" \" + js.LastName, logo: js.Image })\n\n sessionStorage.setItem(\"paths\", JSON.stringify({\n website: js.Domain,\n login: js.LoginPath,\n }))\n })\n })\n .catch(function (err) {\n console.log(\"Fetch Error /individualcustomers/getprofilebyid/:-S\", err)\n })\n };\n getLoadLoanOfficer = () => {\n let token = com.getUserToken()\n\n fetch('/borrower/getloanofficer', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"X-Borrower\": this.props.borrowerid\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n\n return\n }\n // Examine the text in the response\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(\"Error: \" + js.Status)\n } else {\n this.setState({ loname: js.Name, lophone: js.Phone, loemail: js.Email })\n }\n })\n }\n )\n .catch(function (err) {\n console.log('Fetch Error :', err)\n })\n }\n componentDidMount() {\n this.getLoadLoanOfficer()\n this.timerId = setTimeout(this.ontimer, 1000)\n document.getElementById('')\n\n let searchparams = new URLSearchParams(window.location.search)\n let customerid = searchparams.get(\"customerid\")\n if (this.props.customerid) {\n customerid = this.props.customerid\n }\n let loid = searchparams.get(\"loid\")\n if (!customerid) {\n customerid = com.getCustomerId()\n }\n this.setState({ customerid: customerid })\n if (this.props.setid) {\n sessionStorage.setItem(\"cid\", customerid)\n if (loid !== null) {\n sessionStorage.setItem(\"loid\", loid)\n }\n }\n if (customerid === null) {\n customerid = sessionStorage.getItem(\"cid\")\n }\n if (loid === null) {\n loid = sessionStorage.getItem(\"loid\")\n }\n if (customerid === \"individualcustomers\") {\n this.loadLoanOfficer(loid)\n } else {\n fetch('/data/companycustomization', {\n headers: {\n 'X-CustomerId': customerid,\n }\n })\n .then(async response => {\n if (!response.ok) {\n return\n }\n response.json().then(json => {\n this.setState({ companyName: json.CompanyName })\n let customization = JSON.parse(json.Customization)\n sessionStorage.setItem(\"paths\", JSON.stringify(json.Paths))\n if (Object.keys(customization).includes('primaryColor')) {\n this.setState({ logo: `data:image/png;base64, ${customization.icon}` })\n }\n })\n })\n }\n }\n\n componentWillUnmount() {\n if (this.timerId)\n clearTimeout(this.timerId)\n this.timerId = null\n }\n\n renderNav = () => {\n\n let path = this.props.location\n let inapp = false\n if (path.pathname.indexOf('/app/') >= 0 || path.pathname.indexOf('/application/') >= 0) {\n inapp = true\n }\n\n if (this.state.noactivesession)\n return (\n
\n \n \n \n \n \n \n
\n )\n else\n return (\n
\n {!inapp ?\n \n \n \n : \"\"}\n {!inapp ?\n \n \n : \"\"}\n\n
\n )\n }\n question = () => {\n document.getElementById(\"alterra-chat-button\").click()\n }\n\n onCloseMenu = () => {\n this.setState({\n openMenu: false\n })\n }\n render = () => {\n let paths = sessionStorage.getItem(\"paths\")\n let redirectSite = \"/\"\n if (paths !== null) {\n redirectSite = JSON.parse(paths)[\"website\"]\n }\n let asklogin = sessionStorage.getItem(\"ZeitroA\") === null\n let isNewApplication = window.location.pathname === '/services/preapp' || window.location.pathname === '/services/preapp/personalinfo'\n let isEmailverification = window.location.pathname === '/services/preapp/emailverification'\n let isPrequal = false\n try {\n if (this.props.application.property.purpose === \"purchase\" && !this.props.application.property.hascontract) {\n isPrequal = true\n }\n } catch (error) {\n\n }\n let propertyType = {\n 'singlefamilydetached': 'Single Family',\n 'singlefamilyattached': 'Townhouse',\n 'twotofourfamily': 'Multi-family',\n 'condominium': 'Condo',\n 'mobilehome': 'Mobile home',\n }\n let navRight = () => {\n if (isNewApplication) {\n return (\n \n

\n \n e.preventDefault()} className=\"d-flex\" style={{ color: \"#325CE9\" }}>\n\n {com.getCustomerEmail()}\n \n\n \n \n

\n
\n )\n } else {\n return (\n
Exit
\n )\n }\n }\n const items = [\n {\n label: (\n \n My loans\n \n ),\n key: '0',\n },\n {\n label: (\n \n Current application\n \n ),\n key: '1',\n },\n {\n label: (\n \n Tasks\n \n ),\n key: '1',\n },\n {\n type: 'divider',\n },\n {\n label: (\n \n Log out\n \n ),\n key: '3',\n },\n ]\n const dropdownItems = [\n {\n label: (\n
\n
{this.props.application.borrower.firstname.charAt(0)}
\n
\n
{this.props.application.borrower.firstname} {this.props.application.borrower.lastname}
\n
{this.props.application.borrower.email}
\n
\n
\n \n ),\n key: '0',\n },\n {\n type: 'divider',\n },\n {\n label: (\n \n \n {\n this.state.method === 'email' ? 'Set up password' : \"Change password\"\n }\n \n ),\n key: '1',\n },\n {\n type: 'divider',\n },\n {\n label: \n Sign out\n ,\n key: '3',\n \n },\n ]\n let navText = () => {\n if (window.location.pathname.split(\"/\").pop() === \"yourloans\") {\n return 'My loans'\n } else if (this.props.progress.interview.step < com.stageToNumberApplication.rates) {\n return sessionStorage.getItem('CompanyName')\n } else if (this.props.progress.interview.step === com.stageToNumberApplication.rates) {\n return 'My rates'\n } else if (this.props.progress.interview.step >= com.stageToNumberApplication.declarations) {\n return 'Declarations'\n }\n }\n let applicationInfo = [\n {\n label: 'Property type',\n value: propertyType[this.props.application.property.propertytype]\n }\n ]\n let isHardMoneyLoan = this.props.application.product.mortgageapplied === \"hardmoneyloan\"\n let pageGroupName = ''\n const matchHardMoneyLoanPath = matchPath(window.location.pathname, {\n path: \"/application/hardMoneyLoan/interview/main/:page\",\n exact: true,\n strict: false\n })\n if (matchHardMoneyLoanPath && matchHardMoneyLoanPath.params['page']) {\n isHardMoneyLoan = true\n switch (matchHardMoneyLoanPath.params['page']) {\n case 'borrower':\n case 'property':\n case 'experience':\n case 'declarations':\n pageGroupName = 'My application'\n break\n case 'myTasks':\n pageGroupName = 'My tasks'\n break\n case 'documentsUploaded':\n case 'documentsReceived':\n pageGroupName = 'My documents'\n default:\n break\n }\n }\n\n if (!isPrequal) {\n applicationInfo.push({\n label: 'Address',\n value: this.props.application.property.address === '' ? '-' : this.props.application.property.address\n })\n }\n const showPurpose = () => {\n if (this.props.application.property.purpose === null) return \"Loan Application\"\n if (this.props.application.property.purpose === \"cashoutrefinance\") return \"Cashout\"\n if (isHardMoneyLoan) return \"Hard Money Loan\"\n return \"Home \" + this.props.application.property.purpose.charAt(0).toUpperCase() + this.props.application.property.purpose.slice(1)\n }\n const { serialnumber } = this.props.application.hardmoneyloan\n return (\n //
\n
\n \n {\n asklogin || isNewApplication ? (\n <>\n {\n (!asklogin && window.location.pathname !== '/services/preapp/personalinfo' && window.location.pathname !== '/services/preapp') || isEmailverification ? (\n <>\n
this.props.history.go(-1)}>Back
\n {\n window.location.href = redirectSite\n }}>{this.state.customerid === \"gmcc\" ? :{this.state.companyName}}\n \n ) : (\n {\n window.location.href = redirectSite\n }}> {this.state.customerid === \"gmcc\" ? :{this.state.companyName}} \n )\n }\n\n \n ) : (\n
\n {isHardMoneyLoan ? <>\n My Loans\n {\n serialnumber && <>\n \n Loan {serialnumber}\n \n }\n {\n pageGroupName && <>\n \n {pageGroupName}\n \n }\n :
\n
{navText()}
\n
this.setState({\n placement: 'left',\n openMenu: !this.state.openMenu \n })}\n >\n \n
\n \n
{this.props.application.borrower.firstname.charAt(0)}
\n
\n
}\n \n \n \n
\n )\n }\n {asklogin ? \n
Already have an account?
\n
window.location.href=\"/services/signin?customerid=\" + this.state.customerid}\n style={{cursor:\"pointer\",color: \"white\", backgroundColor:\"#325CEB\", padding:\"5px 20px\",borderRadius:\"4px\", marginLeft:\"10px\"}}>\n Sign in\n
\n
: navRight()}\n
\n {/* {asklogin || isNewApplication ? (\n ''\n ) : (\n
\n Quick View\n
\n
\n
Loan officer:
\n
{this.state.loname}
\n
{this.state.lophone}
\n
{this.state.loemail}
\n\n\n
\n \n {\n applicationInfo.map((ele, index) => {\n return (\n
\n
{ele.label}:
\n
{ele.value}
\n
\n )\n })\n }\n
\n
\n )} */}\n {this.state.showAuth ? : \"\"}\n
\n )\n }\n};\n\nPrequalHeader = withRouter(connect(mapStateToProps, mapDispatchToProps)(PrequalHeader))\n\n\nexport default withRouter(LandingMenu)\n\nexport class CustomerHeader extends Component {\n constructor(props) {\n super(props)\n this.state = {\n redirect: \"\",\n showAuth: false,\n logo: '/logo.png',\n companyName: '',\n customerid: \"\",\n }\n\n this.public = \"ml-2 mr-2 pt-4 mb-3 py-0\"\n this.private = \"mt-1 mb-1 py-0 my-0\"\n }\n\n loadLoanOfficer = (loid) => {\n fetch(\"/data/getindividualcustomerprofilebyid/\" + loid, {\n method: \"GET\",\n headers: {\n Cache: \"no-cache\",\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.log(\n \"Looks like there was a problem. Status Code: \" + response.status\n )\n return\n }\n // Examine the text in the response\n response.json().then((js) => {\n this.setState({ companyName: js.FirstName + \" \" + js.LastName, logo: js.Image })\n\n sessionStorage.setItem(\"paths\", JSON.stringify({\n website: js.Domain,\n login: js.LoginPath,\n }))\n })\n })\n .catch(function (err) {\n console.log(\"Fetch Error /individualcustomers/getprofilebyid/:-S\", err)\n })\n };\n componentDidMount() {\n let searchparams = new URLSearchParams(window.location.search)\n let customerid = searchparams.get(\"customerid\")\n let loid = searchparams.get(\"loid\")\n if (!customerid) {\n customerid = com.getCustomerId()\n }\n if (this.props.setid) {\n sessionStorage.setItem(\"cid\", customerid)\n sessionStorage.setItem(\"loid\", loid)\n }\n if (customerid === null) {\n customerid = sessionStorage.getItem(\"cid\")\n }\n if (loid === null) {\n loid = sessionStorage.getItem(\"loid\")\n }\n this.setState({ customerid: customerid })\n\n\n if (customerid === \"individualcustomers\") {\n this.loadLoanOfficer(loid)\n } else {\n fetch('/data/companycustomization', {\n headers: {\n 'X-CustomerId': customerid,\n }\n })\n .then(async response => {\n if (!response.ok) {\n return\n }\n response.json().then(json => {\n this.setState({ companyName: json.CompanyName })\n let customization = JSON.parse(json.Customization)\n sessionStorage.setItem(\"paths\", JSON.stringify(json.Paths))\n if (Object.keys(customization).includes('primaryColor')) {\n this.setState({ logo: `data:image/png;base64, ${customization.icon}` })\n }\n })\n })\n }\n }\n\n componentWillUnmount() {\n if (this.timerId)\n clearTimeout(this.timerId)\n this.timerId = null\n }\n\n\n question = () => {\n document.getElementById(\"alterra-chat-button\").click()\n }\n render = () => {\n let paths = sessionStorage.getItem(\"paths\")\n let redirectSite = \"/\"\n if (paths !== null) {\n redirectSite = JSON.parse(paths)[\"website\"]\n }\n return (\n
\n \n \n {/* \"zeitro\" */}\n {\n window.location.href = redirectSite\n }}>{this.state.customerid === \"gmcc\" ? : {this.state.companyName}}\n \n\n \n {this.state.showAuth ? : \"\"}\n
\n )\n }\n};\n","import React, { Component } from 'react'\nimport '../App.css'\n\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Button from 'react-bootstrap/Button'\nimport Alert from 'react-bootstrap/Alert'\n\n\n\nexport default class LandingCopyright extends Component {\n\n constructor (props) {\n super()\n this.state = {\n email: \"\",\n show: false,\n showFailure: false,\n message: 'Please enter your email address'\n }\n }\n onEmail = (e) => {\n this.setState({email: e.target.value})\n }\n join = (email) => {\n\n let tosend =\n JSON.stringify({\n email: email,\n\n })\n \n fetch('/serives/joinmailinglist', {\n method: 'POST',\n body: tosend,\n headers: { 'Content-Type': 'application/json' },\n }).then(\n response => {\n if (response.status !== 200) {\n this.setState({\n message: 'Looks like there was a problem. Status Code: ' +\n response.status, showFailure: true\n })\n\n return;\n }\n // Examine the text in the response\n response.json().then(js => {\n\n \n this.setState({show: true, email: \"\", message: \"Joined mailing list successfully\"})\n \n });\n }\n ).catch((err) => {\n console.log('Fetch Error :', err);\n this.setState({ message: \"Our servers are experiencing problems. Please check later.\", show: true })\n\n });\n } \n sendEmail = (e) => {\n if(this.state.email !== \"\") {\n this.join(this.state.email)\n } else\n this.setState({showFailure: true, message: 'Please enter your email address'})\n }\n render = () => {\n return (\n
\n
\n \n {this.state.showFailure ? \n this.setState({showFailure: false})} dismissible>\n Zeitro\n

\n {this.state.message}\n

\n
: \n \"\" }\n\n{this.state.show ? \n this.setState({show: false})} dismissible>\n Zeitro\n

\n You have successfully subscribed to the Zeitro newsletter\n

\n
: \n \"\" }\n\n
\n \n \n
\n
\n \"twitter\"\n
\n
\n \"instagram\"\n
\n
\n \"linkedin\"\n
\n
\n \"facebook\"\n
\n
\n \n
\n
\"\"
\n \n \n \n \n
RESOURCES
\n \n \n \n \n \n
COMPANY
\n \n \n \n \n \n
CONTACT US
\n \n
340 E Middlefield Rd
Mountain View, CA 94043
\n \n \n
SUBSCRIBE TO LATEST NEWS
\n
\n
\n \n
\n \n
\n \n \n \n © 2021 Zeitro. All rights reserved. Zeitro is a registered mortgage broker. NMLS ID 1971695\n \n\n \n
\n )\n }\n}","import React, { Component } from \"react\";\nimport '@fortawesome/fontawesome-free/css/fontawesome.min.css'\nimport PropTypes from 'prop-types'\n\n\nexport default class HomeButton extends Component {\n\n static contextTypes = {\n router: PropTypes.object\n }\n constructor(props) {\n super(props);\n this.df_stl = \"btn btn-info btn-circle btn-xl\"\n this.state = {\n stl: this.df_stl,\n redirect: \"\"\n };\n } \n\n click = () => {\n // this does not reload the page\n window.location.hash=\"\"\n window.scrollTo(0,0);\n }\n\n listenScrollEvent = e => {\n if (window.pageYOffset < 500) {\n this.setState({stl: this.df_stl + \" d-none\"})\n } else {\n this.setState({stl: this.df_stl})\n }\n }\n \n componentDidMount() {\n window.addEventListener('scroll', this.listenScrollEvent)\n this.listenScrollEvent()\n }\n componentWillUnmount() {\n window.removeEventListener('scroll', this.listenScrollEvent)\n }\n\n render() {\n return (\n
\n \n {this.state.redirect}\n
\n )\n }\n}","import React, { Component } from 'react'\nimport 'awesome-steps/dist/style.css'\nimport './App.css'\n\nimport Steps from 'awesome-steps'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport { LinkContainer } from 'react-router-bootstrap'\nimport { HashLink } from \"react-router-hash-link\"\nimport LandingMenu from './Landing/LandingMenu'\nimport LandingCopyright from './Landing/LandingCopyright'\nimport Button from 'react-bootstrap/Button'\nimport HomeButton from \"./Landing/HomeButton.js\"\nimport { Link } from 'react-router-dom'\nconst tagLines = [\n\n \"Digital mortgage broker that shops on your behalf\",\n \"Save thousands of dollars on your mortgage. Let us find you the best deal!\",\n \"We'll take care of your mortgage loan from the beginning to the end.\",\n \"Mortgage loan made simple. On your timeline. On your terms. For you!\",\n \"Taking mortgage loans into the 21st century with modern technology.\"\n]\n\nclass ArrowDown extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n\n redirect: \"\",\n hidden: true,\n };\n }\n\n click = () => {\n // this does not reload the page\n window.location.hash = \"\"\n window.scrollTo(0, 0);\n }\n\n listenScrollEvent = e => {\n\n if (window.pageYOffset > 10) {\n if (!this.state.hidden)\n this.setState({ hidden: true })\n } else {\n if (this.state.hidden)\n this.setState({ hidden: false })\n }\n }\n componentDidMount() {\n window.addEventListener('scroll', this.listenScrollEvent)\n }\n componentWillUnmount() {\n window.removeEventListener('scroll', this.listenScrollEvent)\n }\n render() {\n return (\n \n )\n }\n}\n\nclass FirstPage extends Component {\n constructor(props) {\n super(props)\n this.index = 0\n this.timer = 0\n this.state = {\n hidden: false,\n tagline: tagLines[this.index]\n }\n this.tagRef = React.createRef()\n this.towait = 20000\n }\n listenResizeEvent = e => {\n if (window.innerWidth < 300) {\n if (!this.state.hidden) {\n this.setState({ hidden: true })\n\n }\n } else {\n if (this.state.hidden) {\n this.setState({ hidden: false })\n\n }\n }\n }\n componentDidMount() {\n window.addEventListener('resize', this.listenResizeEvent)\n this.listenResizeEvent()\n //this.wait()\n }\n componentWillUnmount() {\n clearTimeout(this.timer)\n clearInterval(this.timer)\n this.timer = 0\n }\n\n wait = () => {\n this.timer = setTimeout(this.fadeOut, this.towait)\n this.towait = 6000\n }\n fadeIn = () => {\n let elem = this.tagRef.current\n if (!elem)\n return;\n\n elem.style.opacity = 0;\n elem.style.filter = \"alpha(opacity=0)\";\n\n let ms = 2000\n if (ms) {\n var opacity = 0;\n this.timer = setInterval(() => {\n opacity += 50 / ms;\n if (opacity >= 1) {\n clearInterval(this.timer);\n opacity = 1;\n this.wait()\n }\n elem.style.opacity = opacity;\n elem.style.filter = \"alpha(opacity=\" + opacity * 100 + \")\";\n }, 50);\n }\n }\n\n fadeOut = () => {\n let elem = this.tagRef.current\n if (!elem)\n return;\n let ms = 2000\n if (ms) {\n var opacity = 1;\n this.timer = setInterval(() => {\n opacity -= 50 / ms;\n if (opacity <= 0) {\n clearInterval(this.timer);\n opacity = 0;\n this.index = (this.index + 1) % tagLines.length\n this.setState({ tagline: tagLines[this.index] })\n this.fadeIn()\n }\n elem.style.opacity = opacity;\n elem.style.filter = \"alpha(opacity=\" + opacity * 100 + \")\";\n }, 50);\n }\n }\n\n renderButton = (variant) => {\n\n return (\n \n \n \n )\n\n }\n\n\n render = () => {\n\n return (\n\n
\n\n
\n \n
\n
\n

\n {this.state.tagline}\n

\n
\n Whether you need to buy or refinance a home, we’ll help you through the process,\n from finding the best deal to closing.\n

Fully online, hassle and spam-free.\n
\n
\n {this.renderButton()}\n
\n
\n Currently serving California.\n
\n
\n\n
\n \n \n\n
\n\n
\n \n \n

You get the best deal from thousands of options

\n \n\n
\n \n \n
Straightforward experience with you in the driver seat.
\n No sales pressure. Your timeline. Your choices. Your savings.
\n \n
\n
\n \n \n \n \n \n\n\n \n
\n
\n\n\n {/*\n
\n \n \n

You’re in control

\n \n \n
\n \n \n
Choose the right balance between monthly payments, upfront cost, and total cost over the life time of your loan
\n \n
\n {item(\"Real rates, not teasers\", \"Don't waste your time on appointments and phone calls. Get real rates online from 1,000+ loan programs.\")}\n\n {item(\"Transparent fees\", \"We disclose estimates of all costs and fees of the loan products offered to you right away. You compare apples to apples. No surprises at the end of the process.\")}\n\n {item(\"Your loan officer works for you\", \"Whenever you have a question, or need help, a dedicated loan officer is there for you. Use online chat anytime, or schedule a call at your convenience.\")}\n\n \n \n\n \n \n
\n*/}\n
\n \n \n

You’re in control

\n \n\n
\n
\n
\n\n
\n

Real rates, not teasers

\n Don't waste your time on appointments and phone calls. Get real rates online from 1,000+ of loan programs.\n
\n
\n

Transparent fees

\n\nWe disclose estimates of costs and fees of the loan products offered to you immediately. You compare apples to apples. No surprises at the end of the process.\n
\n
\n

Your loan officer works for you

\n\nWhenever you have a question, or need help, a dedicated loan officer is there for you. Use online chat anytime, or schedule a call at your convenience.\n
\n\n
\n
\n \n \n

Use Zeitro Mortgage Tools

\n\n
\n
Whether you're buying or refinancing, we provide you with the set of tools to research your next loan before your commit to applying.\n \n Mortgage Calculator\n Historical mortgage rates\n \n
\n
\n \n
\n
\n
\n\n \n \n

We care about your privacy

\n\n
\n
Zeitro is dedicated to securing your data from the moment we collect it. Once your information reaches our platform, we will shield it from any potential threats. Most importantly, your data will never be sold.\n
\n
\n \n
\n \n \n \"cloud\"\n \n \n
\n\n
\n \n \n

Pay less, be happy!

\n \n\n
\n \n \n {this.renderButton('landing')}\n \n\n \n\n
\n\n
\n )\n }\n}\n\nexport default class LandingPage extends Component {\n\n render = () => {\n return (\n
\n \n \n \n \n \n
\n )\n }\n}","import React, { Component } from 'react'\nimport '../App.css'\n\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport LandingMenu from './LandingMenu'\nimport LandingCopyright from './LandingCopyright'\n\nclass FirstPage extends Component {\n render = () => {\n return (\n
\n \n \n

OUR

\n

STORY

\n
\n The name “Zeitro” is derived from the German word “Zeitgeist,” literally meaning “spirit of the age.” Or more precisely, a driving characteristic of the time. And the zeitgeist of the 21st century has to be technology’s impact on our everyday lives. Think video tutorials, online shopping and banking, rideshare apps, or even GPS navigation systems.\n
\n
\n\n Automated software and data-driven technology have done much to simplify what used to be overly complicated and time consuming—exactly what Zeitro aims to do for the mortgage acquisition process.\n
\n
\n\n Since its establishment, the mortgage industry has been dominated by a complicated documentation system. And little has changed in the decades since. Acquiring a mortgage may still be one of the most significant financial milestones, but modern homeowners’ priorities have evolved. We want a personalized, fast, and uncomplicated system that operates with borrowers’ interests at the forefront.\n
\n
\n\n Zeitro has reimagined the mortgage industry within the context of 21st century technology and to accommodate 21st century needs. Utilizing artificial intelligence and data analytics, our system connects borrowers, lenders, and other stakeholders within a virtual ecosystem.
\n
\n Our mission is to simplify the mortgage acquisition process for borrowers by identifying the best mortgage for their needs and supporting them through closing the loan.\n
\n \n
\n\n \n \n

MEET

\n

OUR TEAM

\n \n
\n \n \n \n \n \n \"\"\n

Bochen Wang

\n
FOUNDER | CHIEF EXECUTIVE
\n
\n Former Investment Analyst at Rosefinch Investment\n
\n
\n M.S in Business Analytics\n
\n \n \n \n \"\"\n \n

Daniel Trepanier

\n
COFOUNDER | EXECUTIVE CHAIRMAN
\n
\n Director of SCU’s MS in Business Analytics Program\n\n
\n
\n Former President and CEO at Xambala and Quake Technologies\n\n
\n\n \n \n \n
\n \n \n \n \n \"\"\n\n

Yingjie Yu

\n
COFOUNDER | STAFF DATA SCIENTIST
\n
\n Former Data Scientist at Alibaba Inc.\n
\n
\n M.S in Business Analytics\n
\n \n \n \n \"\"\n \n

Igor Plotnikov

\n
VP OF ENGINEERING
\n
\n Co-founder of uRoam and MI Secure (acquired by F5 Networks and Cisco Systems)\n
\n
\n Ph.D. in Physics\n
\n\n \n \n \n
\n \n \n \n \n \n \"\"\n \n\n

Valentyn Kamyshenko

\n
CHIEF TECHNOLOGY OFFICER
\n
\n Former Chief Architect at Xambala Inc. and Tech Lead at Cisco.\n
\n
\n Ph.D. in Theoretical Physics\n
\n \n \n \n \"\"\n \n

Atul Vijaykar

\n
VP OF BUSINESS DEVELOPMENT\t, FINANCE AND ADMINISTRATION\n
\n
\n Former Director of Market Development at Intel
\n
\n Consulted for multiple start-ups\n
\n\n \n \n \n
\n \n \n \n \n \n \"\"\n \n

Anabelle Little

\n
DIRECTOR OF LOAN OPERATIONS
\n
\n 20 years of experience in Home Loan Underwriting.\n
\n \n
\n\n
\n\n \n\n \n \n
\n
 
\n\n \n
\n )\n }\n}\n\nexport default class LandingAbout extends Component {\n\n render = () => {\n return (\n
\n \n \n
\n )\n }\n}","\r\nimport \"./LoanRateTitle.css\";\r\nexport default function LoanRateTitle({ title }) {\r\n return (\r\n <>\r\n
{title}
\r\n \r\n );\r\n}","import { useState, useRef, useEffect } from 'react';\nimport { \n Tabs,\n DatePicker,\n Button,\n Checkbox,\n Tooltip,\n Select,\n Form, \n Input,\n InputNumber,\n Slider,\n Col, \n Row \n} from 'antd';\nimport { connect } from 'react-redux'\nimport * as act from \"../../Store/actions\"\nimport * as com from \"../../Common\"\nimport {\n QuestionCircleFilled\n} from '@ant-design/icons';\nimport \"./LoanRateCalculator.css\";\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateHardMoneyLoanAttribute: (t, verb) => {\n dispatch(act.UpdateHardMoneyLoanAttribute(t, verb));\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb));\n },\n changeMainPropertyPurpose: (val) => {\n dispatch(act.ChangeMainPropertyPurpose(val));\n },\n updateProduct: (v, verb) => {\n dispatch(act.UpdateProduct(v, verb))\n},\n});\n\nexport default function LoanRateCalculator(props) {\n const [active, setActive] = useState('1')\n const [rehabLoan, setRehabLoan] = useState(false)\n const [propertyCounty, setPropertyCounty] = useState('')\n const [form] = Form.useForm();\n const autoCompleteRef = useRef();\n const inputRef = useRef();\n useEffect(()=>{\n props.updateProduct(\"hardmoneyloan\", \"mortgageapplied\");\n props.changeMainPropertyPurpose(\"purchase\")\n props.updateHardMoneyLoanAttribute(780, \"estimatedfico\")\n props.updateHardMoneyLoanAttribute(12, \"mortgagetermmonths\")\n props.changeMainPropertyAttribute(\"1000000\", \"salesprice\")\n props.updateHardMoneyLoanAttribute(\"700000\", \"initialloanamount\")\n }, [])\n const tabsOnChange = (key) => {\n setActive(key);\n form.setFieldsValue({\n propertyType: 'singlefamilydetached',\n })\n };\n const handleloanTerm = (value) => {\n console.log(`selected ${value}`);\n };\n const rehabLoanOnChange = (e) => {\n setRehabLoan(e.target.checked);\n };\n const inputFormatter = (value) => {\n return `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n }\n const inputParser = (value) => {\n return value.replace(/\\\\s?|(,*)/g, '')\n }\n const onFinish = (values) => {\n console.log(\"city\", values.city)\n console.log(\"state\", values.state)\n let r = {...props.application.hardmoneyloan.refinancedetails}\n props.changeMainPropertyAttribute(values.propertyType, \"propertytype\")\n // props.changeMainPropertyAttribute(values.purchasePrice, \"salesprice\")\n props.changeMainPropertyAttribute(values.address, \"address\")\n props.changeMainPropertyAttribute(values.state, \"state\")\n props.changeMainPropertyAttribute(values.city, \"city\")\n props.changeMainPropertyAttribute(propertyCounty, \"county\")\n props.changeMainPropertyAttribute(values.zipCode, \"zipcode\")\n props.updateHardMoneyLoanAttribute(values.closingDate, \"targetclosingdate\")\n \n props.updateHardMoneyLoanAttribute(com.safeParseInt(values.loanTerm), \"mortgagetermmonths\")\n props.updateHardMoneyLoanAttribute(rehabLoan, \"rehabloan\")\n props.updateHardMoneyLoanAttribute(rehabLoan?String(values.rehabLoanAmount): \"\", \"rehabloanamount\")\n props.updateHardMoneyLoanAttribute(active === \"3\"?String(values.projectedAfterRepair) : rehabLoan?String(values.projectedAfterRepair):\"\", \"projectedafterrepairvalue\")\n props.updateHardMoneyLoanAttribute(values.flipped, \"timesofflippingaproperty\")\n props.updateHardMoneyLoanAttribute(values.purchased, \"timesofpurchasingarentalproperty\")\n props.updateHardMoneyLoanAttribute(values.FICO, \"estimatedfico\")\n switch (active) {\n case \"1\":\n props.changeMainPropertyPurpose(\"purchaserehab\")\n props.changeMainPropertyAttribute(values.purchasePrice, \"salesprice\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"initialadvancerequested\")\n if (rehabLoan) {\n props.updateHardMoneyLoanAttribute(String(com.safeParseInt(values.loanAmount) + com.safeParseInt(values.rehabLoanAmount)), \"initialloanamount\")\n } else {\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"initialloanamount\")\n }\n break;\n case \"2\":\n props.changeMainPropertyPurpose(\"refinance\")\n r[\"estimatedCurrentValue\"] = String(values.purchasePrice)\n r[\"existingLoanAmount\"] = String(values.existingLoanAmount)\n props.updateHardMoneyLoanAttribute(r, \"refinancedetails\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"initialloanamount\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"refinanceloanamount\")\n break;\n case \"3\":\n props.changeMainPropertyPurpose(\"construction\")\n props.updateHardMoneyLoanAttribute(\"groundup\", \"loantype\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"initialloanamount\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"constructionloanamount\")\n break;\n case \"4\":\n props.changeMainPropertyPurpose(\"cashoutrefinance\")\n r[\"estimatedCurrentValue\"] = String(values.purchasePrice)\n r[\"existingLoanAmount\"] = String(values.existingLoanAmount)\n props.updateHardMoneyLoanAttribute(r, \"refinancedetails\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"initialloanamount\")\n props.updateHardMoneyLoanAttribute(String(values.loanAmount), \"refinanceloanamount\")\n default:\n break;\n }\n props.updateHardMoneyLoanAttribute(String(values.constructionBudget), \"constructionbudget\")\n props.setShowResult(true)\n }\n const formInitial = {\n propertyType: 'singlefamilydetached',\n constructionType: 'singlefamilydetached',\n purchasePrice: '1000000',\n address: '',\n city: '',\n state: '',\n zipCode: '',\n closingDate: '',\n existingLoanAmount: '',\n loanAmount: '700000',\n loanTerm: '12',\n rehabLoanAmount: '',\n constructionBudget: '',\n projectedAfterRepair: '',\n flipped: 0,\n purchased: 0,\n FICO: 780\n }\n const items = [\n {\n key: '1',\n label: `Purchase`\n },\n {\n key: '2',\n label: `Rate term refi`\n },\n {\n key: '4',\n label: 'Cash out refi'\n },\n {\n key: '3',\n label: `Construction`\n },\n ];\n const PropertyTypeOptions = \n [\n {\n value: 'singlefamilydetached',\n label: 'Single family residence'\n },\n {\n value: 'twotofourfamily',\n label: '2-4 unit family'\n },\n {\n value: 'mixeduse',\n label: 'Mixed Use(50%+ residential)'\n },\n {\n value: 'multistory',\n label: 'Multi family (5+ units)',\n },\n ]\n const constructionType = [\n {\n value: 'singlefamilydetached',\n label: 'Single family residence'\n }\n ]\n const loanTermOptions = [\n {\n value: '3',\n label: '3 Months'\n },\n {\n value: '6',\n label: '6 Months'\n },\n {\n value: '9',\n label: '9 Months'\n },\n {\n value: '12',\n label: '12 Months'\n },\n {\n value: '24',\n label: '24 Months'\n },\n {\n value: '36',\n label: '36 Months'\n },\n {\n value: '48',\n label: '48 Months'\n },\n {\n value: '60',\n label: '60 Months'\n }\n ]\n const googleOptions = {\n componentRestrictions: { country: \"us\"},\n fields: [\"address_components\", \"formatted_address\"]\n };\n useEffect(() => {\n autoCompleteRef.current = new window.google.maps.places.Autocomplete(\n inputRef.current,\n googleOptions\n );\n autoCompleteRef.current.addListener(\"place_changed\", async function () {\n const place = await autoCompleteRef.current.getPlace();\n const address = `${place.address_components.find(item =>item.types.includes(\"street_number\")).short_name} ${place.address_components.find(item =>item.types.includes(\"route\")).short_name}, ${place.address_components.find(item =>item.types.includes(\"country\")).short_name}`\n const county = place.address_components.find(item => item.types.includes(\"administrative_area_level_2\")).long_name\n setPropertyCounty(county)\n form.setFieldsValue({\n address: address,\n city: place.formatted_address.split(',')[1],\n state: place.address_components.find(item =>item.types.includes(\"administrative_area_level_1\")).short_name,\n zipCode: place.address_components.find(item => item.types.includes(\"postal_code\")).long_name\n });\n console.log(\"county\", county)\n });\n }, []);\n return (\n
\n \n
\n \n \n {\n (active === '1' || active === '2') && \n ,\n // }}\n >\n \n \n \n }\n {\n active === '4' && \n ,\n // }}\n >\n \n \n \n }\n {\n active !== '3' ? (\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 \n \n \n {\n active === '3' && (\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n \n {\n active === '1' && (\n \n \n \n \n \n )\n }\n {\n (active === '2' || active === '4') && (\n \n \n \n \n \n )\n }\n \n \n \n \n \n \n \n \n \n \n \n {\n active === '1' && (\n \n \n \n
\n
Add a rehab loan?
\n {/* \n \n */}\n
\n
\n \n \n {\n rehabLoan && (\n <>\n \n \n \n \n \n \n \n \n \n \n )\n }\n
\n )\n }\n \n \n
\n
In the last 3 years, how many times have you...
\n {/* \n \n */}\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n Your FICO credit score\n \n \n \n \n \n 500\n \n \n \n 1000\n \n \n \n \n \n \n
\n
\n );\n}\n\nLoanRateCalculator = connect(mapStateToProps, mapDispatchToProps)(LoanRateCalculator);\n","import ReactInputVerificationCode from \"react-input-verification-code\";\n\nimport \"./CodeVerification.css\";\n\n\nconst CodeVerification = (props) => (\n
\n \n
\n);\n\nexport default CodeVerification;\n","import { useState } from 'react'\nimport { Col, Form, Row } from \"react-bootstrap\"\nimport \"../../App.css\"\nimport \"./CheckGroup.css\"\n\n\nexport default function SecondaryButton(props) {\n const { type, value, data, onChangeSelect, style, fixedWidth, mode, className } = props\n const [setCheckValue] = useState([])\n\n const achange = ev => {\n // multi select\n if (type === 'checkbox') {\n const chooseArr = value.map(res => res.value)\n setCheckValue(chooseArr)\n if (chooseArr.includes(ev.value)) {\n let result = chooseArr.findIndex(item => {\n return item === ev.value\n })\n value.splice(result, 1)\n } else {\n value.push({ label: ev.label, value: ev.value })\n }\n onChangeSelect(value)\n } else {\n // single select\n onChangeSelect(ev.value)\n }\n }\n\n let clsname = typeof className === \"undefined\" ? \"\" : className\n if (props.direction === \"horizontal\") {\n clsname = \"check-group-wrap \" + clsname\n }\n if (typeof fixedWidth !== \"undefined\") {\n if (mode === 'flex') {\n return (\n \n {data.map(ele => (\n achange(ele)}>\n
\n
\n
{ele.label}
\n
\n \n ))}\n
\n )\n } else {\n return (\n \n {data.map(ele => (\n achange(ele)}>\n
\n
\n
{ele.label}
\n
\n \n ))}\n
\n )\n }\n }\n\n return (\n
\n {type === 'checkbox' ? (\n data.map(ele => (\n
e.value === ele.value) ? '1px solid #325CEB' : '' }} onClick={() => achange(ele)}>\n
\n
\n
e.value === ele.value) ? '' : '#6E6E70' }}>{ele.label}
\n
\n \n
\n ))\n ) : (\n data.map(ele => (\n
achange(ele)}>\n
\n
\n
{ele.label}
\n
\n {ele.tag && ele.tag !== '' && ele.tag}\n
\n ))\n )\n }\n
\n )\n}\n\nexport function CheckGroupWithImage(props) {\n const { type, value, data, onChangeSelect, style, className } = props\n const [setCheckValue] = useState([])\n\n const achange = ev => {\n // multi-select\n if (type === 'checkbox') {\n const chooseArr = value.map(res => res.value)\n setCheckValue(chooseArr)\n if (chooseArr.includes(ev.value)) {\n let result = chooseArr.findIndex(item => {\n return item === ev.value\n })\n value.splice(result, 1)\n } else {\n value.push({ label: ev.label, value: ev.value })\n }\n onChangeSelect(value)\n } else {\n // single-select\n onChangeSelect(ev.value)\n }\n }\n\n let clsname = \"\"\n if (typeof className !== \"undefined\") {\n clsname = className\n } else {\n if (props.direction === \"horizontal\") {\n clsname = \"check-group-wrap\"\n }\n }\n return (\n
\n {type === 'checkbox' ? (\n data.map(ele => (\n
e.value === ele.value) ? '1px solid #325CEB' : '' }} onClick={() => achange(ele)}>\n
e.value === ele.value) ? '#325CEB' : '', opacity: props.hideCircle ? 0 : 1 }}>
\n
e.value === ele.value) ? '' : 'color:#6E6E70',color:value=== value.some(e => e.value === ele.value) ? '' : ' #6e6e70' }}>{ele.label}
\n
\n ))\n ) : (\n data.map(ele => (\n achange(ele)}\n >\n
\n \n
\n
\n \n
\n \n {ele.label}\n
\n \n \n ))\n )\n }\n \n )\n}\n","\n\nimport * as progress from '../Defs/progressdefs'\n\n\n\nexport function UpdateChangeProgress(t, n) {\n return { type: progress.CHANGE_PROGRESS, payload: t, stage: n };\n}\nexport function UpdateChangeProgressType(n) {\n return { type: progress.CHANGE_PROGRESS_TYPE, stage: n };\n}\n\nexport function UpdateChangeProgressLastVisited(t, n) {\n return { type: progress.CHANGE_PROGRESS_LASTVISITED, payload: t };\n}\nexport function UpdateChangeLastTouch(t) {\n return { type: progress.CHANGE_PROGRESS_LASTTOUCH, payload: t };\n}\nexport function UpdateChangeVisitedStage(verb) {\n return { type: progress.CHANGE_PROGRESS_VISITED, verb: verb };\n}\nexport function UpdateChangeProgressStep(step) {\n return { type: progress.CHANGE_PROGRESS_STEP, payload: step }\n}\n","import React from 'react'\nimport { runStatsigAutoCapture } from '@statsig/web-analytics';\nimport { useStatsigClient } from \"@statsig/react-bindings/src\";\n\nexport const updateStatsigUser = async (client, email, customerid) => {\n try {\n if (!client) {\n return;\n }\n const context = client.getContext();\n const currentUser = context.user;\n const derivedFields = context.values.derived_fields;\n\n const userInfo = {\n ...currentUser,\n userID: email,\n customIDs: {\n IP: derivedFields.ip,\n customerID: customerid,\n },\n email: email,\n custom: {\n customerid: customerid,\n ip: derivedFields.ip,\n country: derivedFields.country,\n email: email,\n }\n }\n sessionStorage.setItem('statsig_user_info', JSON.stringify(userInfo));\n\n await client.updateUserAsync(userInfo);\n runStatsigAutoCapture(client);\n // if (newContext.user.email === email) {\n // runStatsigAutoCapture(client);\n // console.log('Auto capture reinitialized');\n // return true;\n // } else {\n // console.warn('Update may not have taken effect');\n // return false;\n // }\n } catch (error) {\n console.log(\"statsig error\", error)\n }\n}\n\nexport const withStatsig = (WrappedComponent) => {\n return function WithStatsigWrapper(props) {\n const { client } = useStatsigClient();\n return ;\n };\n};\n","import React, { Component } from \"react\"\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\nimport './ApplicationInterview.css'\nimport './EmailVerification.css'\nimport { Modal } from 'antd'\nimport Row from 'react-bootstrap/Col'\nimport { State } from '../State'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport { Button } from \"react-bootstrap\"\nimport CodeVerification from \"../Common/components/CodeVerification\"\nimport CheckGroup from \"../Common/components/CheckGroup\"\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as prgr from \"../Store/progress\"\nimport * as st from \"../State\"\nimport * as com from \"../Common\"\nimport { getCurrentState, loadState, updateState, mergeState } from '../Store'\nimport { UpdateChangeProgress, UpdateChangeLastTouch } from \"../Store/progress\"\nimport Spinner from 'react-bootstrap/Spinner'\nimport {Input, Spin, Space, Button as But} from \"antd\";\nimport dayjs from 'dayjs'\nimport { updateStatsigUser, withStatsig } from \"../statsig/statsigMethod\"\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n }\n}\n\n\nconst mapDispatchToProps = (dispatch) => ({\n\n updateCoborrower: (event) => {\n dispatch(act.UpdateHasCoborrower(event.target.value))\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n updateBorrower: (key, e) => {\n dispatch(act.ChangeBorrowerInfo(e, \"borrower\", key))\n },\n updateChangeLastTouch: (t) => {\n dispatch(UpdateChangeLastTouch(t))\n },\n updateChangeApplication: (application) => {\n dispatch(act.updateApplication(application))\n },\n updateChangeProgress: (tab, index) => {\n dispatch(prgr.UpdateChangeProgress(tab, index))\n },\n updateChangeProgressType: (tab) => {\n dispatch(prgr.UpdateChangeProgressType(tab))\n },\n updateChangeVisitedStage: (step, stage) => {\n dispatch(prgr.UpdateChangeVisitedStage(step, stage))\n },\n})\n\nclass EmailVerification extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n code: \"\",\n verified: false,\n showResult: false,\n verifingCode: false,\n sendingCode: false,\n showPastLoansModal: false,\n selectedLoanId: \"\",\n pastLoans: [],\n currentLoanId: \"\",\n loading: false,\n showCodeArea: false\n }\n this.isPrequal = this.props.application.property.purpose === \"purchase\" && !this.props.application.property.hascontract\n this.isHardMoneyLoan = this.props.application.product.mortgageapplied === \"hardmoneyloan\"\n }\n\n sendcode = () => {\n this.setState({ sendingCode: true, showResult:false, verified: true })\n fetch(\"/auth/generateonetimepasscode\", {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify({\n email: this.props.application.borrower.email.toLowerCase(),\n customerID: sessionStorage.getItem(\"cid\"),\n loID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n }),\n headers: {\n 'Content-Type': 'application/json',\n Cache: \"no-cache\"\n },\n }).then(response => {\n let d = new Date()\n //console.log(JSON.stringify(response))\n if (!response.ok) {\n console.log(response)\n\n } else {\n this.setState({showCodeArea:true})\n // console.log(response)\n\n }\n this.setState({ sendingCode: false })\n }).catch(error => {\n console.log(error)\n })\n }\n\n verifycodeAndCheckPastLoans = (code) => {\n this.setState({ verifingCode: true })\n fetch(\"/auth/verifycodeandcheckpastloans\", {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify({\n email: this.props.application.borrower.email.toLowerCase(),\n firstName: this.props.application.borrower.firstname,\n lastName: this.props.application.borrower.lastname,\n code: code,\n customerID: sessionStorage.getItem(\"cid\"),\n loID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n State: JSON.stringify(loadState()), // change to com.ascii2hex(sessionStorage.getItem(\"state\")) ?\n }),\n headers: {\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n return\n }\n response.json().then(js => {\n updateStatsigUser(this.props.statsigClient, this.props.application.borrower.email.toLowerCase())\n if (js.NeedConvertLeads) {\n this.convertMarketplaceLeads()\n } else {\n if (js.AlreadySignedUp === false) {\n this.signup()\n } else {\n js.LoanStates.loans.forEach(loan => {\n loan.state = JSON.parse(loan.state)\n loan.lostate = JSON.parse(loan.lostate)\n })\n this.setState({ showPastLoansModal: true, pastLoans: js.LoanStates.loans, currentLoanId: js.LoanStates.loanid, verifingCode: false, code: \"\", showResult: false, verified: true, })\n }\n }\n })\n\n }).catch(error => {\n console.log(error)\n this.setState({ code: \"\" })\n })\n }\n\n signup = () => {\n this.setState({ verifingCode: true })\n fetch(\"/auth/signupfrompreapp\", {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify({\n email: this.props.application.borrower.email.toLowerCase(),\n firstName: this.props.application.borrower.firstname,\n lastName: this.props.application.borrower.lastname,\n customerID: sessionStorage.getItem(\"cid\"),\n loID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n State: JSON.stringify(loadState()),\n IsNonQM: this.props.purpose===\"nonqm\" ? true : false,\n }),\n headers: {\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n return\n }\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(js)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n } else {\n if (this.props.onFinish) {\n this.props.onFinish()\n }\n\n sessionStorage.setItem(\"ZeitroA\", js.Token)\n let state = State.fromJson(JSON.parse(js.State))\n let statejs = state.toJson()\n sessionStorage.removeItem(\"state\")\n sessionStorage.setItem(\"state\", statejs)\n sessionStorage.setItem(\"originalstate\", statejs)\n sessionStorage.setItem(\"newcustomer\", \"false\")\n let path = \"/application/interview/main/applicant\"\n if (this.isHardMoneyLoan) {\n sessionStorage.setItem(\"isHardMoneyLoanCustomer\", true)\n path = \"/application/hardmoneyloan/interview/main/borrower\"\n }\n window.location.href = path\n this.setState({ showResult: true, verified: true, verifingCode: false, code: \"\" })\n }\n })\n\n }).catch(error => {\n console.log(error)\n this.setState({ code: \"\" })\n })\n }\n\n convertMarketplaceLeads = () => {\n this.setState({ verifingCode: true })\n fetch(\"/auth/convertmarketplaceleads\", {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify({\n email: this.props.application.borrower.email.toLowerCase(),\n firstName: this.props.application.borrower.firstname,\n lastName: this.props.application.borrower.lastname,\n customerID: sessionStorage.getItem(\"cid\"),\n loID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n State: JSON.stringify(loadState()),\n IsNonQM: this.props.purpose===\"nonqm\" ? true : false,\n }),\n headers: {\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n return\n }\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(js)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n } else {\n if (this.props.onFinish) {\n this.props.onFinish()\n }\n\n sessionStorage.setItem(\"ZeitroA\", js.Token)\n let state = State.fromJson(JSON.parse(js.State))\n let statejs = state.toJson()\n sessionStorage.removeItem(\"state\")\n sessionStorage.setItem(\"state\", statejs)\n sessionStorage.setItem(\"originalstate\", statejs)\n sessionStorage.setItem(\"newcustomer\", \"false\")\n let path = \"/application/interview/main/applicant\"\n if (this.isHardMoneyLoan) {\n sessionStorage.setItem(\"isHardMoneyLoanCustomer\", true)\n path = \"/application/hardmoneyloan/interview/main/borrower\"\n }\n window.location.href = path\n this.setState({ showResult: true, verified: true, verifingCode: false, code: \"\" })\n }\n })\n\n }).catch(error => {\n console.log(error)\n this.setState({ code: \"\" })\n })\n }\n\n verifycode = (code) => {\n this.setState({ verifingCode: true })\n fetch(\"/auth/verifycodeandsignup\", {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify({\n email: this.props.application.borrower.email.toLowerCase(),\n firstName: this.props.application.borrower.firstname,\n lastName: this.props.application.borrower.lastname,\n code: code,\n customerID: sessionStorage.getItem(\"cid\"),\n loID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n State: JSON.stringify(loadState()),\n }),\n headers: {\n Cache: \"no-cache\"\n },\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n return\n }\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(js)\n this.setState({ showResult: true, verified: false, verifingCode: false, code: \"\" })\n } else {\n sessionStorage.setItem(\"ZeitroA\", js.Token)\n let state = State.fromJson(JSON.parse(js.State))\n let statejs = state.toJson()\n sessionStorage.removeItem(\"state\")\n sessionStorage.setItem(\"state\", statejs)\n sessionStorage.setItem(\"originalstate\", statejs)\n sessionStorage.setItem(\"newcustomer\", \"false\")\n let path = \"/application/interview/main/applicant\"\n if (this.isHardMoneyLoan) {\n path = \"/application/hardmoneyloan/interview/main/borrower\"\n }\n window.location.href = path\n this.setState({ showResult: true, verified: true, verifingCode: false, code: \"\" })\n }\n })\n\n }).catch(error => {\n console.log(error)\n this.setState({ code: \"\" })\n })\n }\n\n componentDidMount() {\n if (this.props.mode === \"simple\") {\n \n } else {\n this.sendcode()\n }\n }\n\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n };\n return true\n }\n handleSubmit = e => {\n if (!this.state.verified) {\n return false\n }\n return true\n\n }\n\n createNew(withRecord) {\n this.setState({ loading: true })\n let token = sessionStorage.getItem(\"ZeitroA\")\n let js = {\n Email: this.props.application.borrower.email.toLowerCase(),\n CustomerID: sessionStorage.getItem(\"cid\"),\n LoanID: this.state.selectedLoanId !== \"\" ? this.state.selectedLoanId : \"\",\n NewState: withRecord ? \"\" : com.ascii2hex(sessionStorage.getItem(\"state\")),\n LoID: sessionStorage.getItem(\"loid\") === null ? \"\" : sessionStorage.getItem(\"loid\"),\n }\n fetch('/auth/createnewapplication', {\n method: 'POST',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n },\n body: JSON.stringify(js)\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n this.setState({ loading: false })\n return\n }\n response.json().then(js => {\n if (js.Status !== \"OK\") {\n console.log(js.Text)\n alert(\"Looks like there was a problem, please try later.\")\n } else {\n if (this.props.onFinish) {\n this.props.onFinish()\n }\n sessionStorage.setItem(\"ZeitroA\", js.Token)\n if (withRecord) {\n let st = JSON.parse(js.State)\n st.progress.stage = \"interview\"\n st.progress.interviewfinished = false\n st.progress.interviewstarted = false\n st.progress.productselectionstarted = false\n st.progress.interview.step = 0\n st.progress.interview.max = 0\n st.application.currentStatus = 'ApplicationStarted'\n st.application.currentStage = 'Application'\n st.application.selection.selectedloan = null\n st.application.property.purpose = this.props.application.property.purpose\n st.application.property.hascontract = false\n st.application.borrower.firstname = this.props.application.borrower.firstname\n st.application.borrower.lastname = this.props.application.borrower.lastname\n this.props.updateChangeApplication(st.application)\n this.props.updateChangeVisitedStage(\"interviewstarted\")\n this.props.updateChangeProgress(0, \"max\")\n this.props.updateChangeProgress(0, \"interview\")\n getCurrentState()\n com.touch()\n } else {\n\n }\n\n this.setState({ loading: false })\n let path = \"/application/interview/main/applicant\"\n if (this.isHardMoneyLoan) {\n path = \"/application/hardmoneyloan/interview/main/borrower\"\n }\n window.location.href = path\n }\n\n })\n }\n ).catch((err) => {\n this.setState({ loading: false })\n console.log('Fetch Error :', err)\n })\n }\n editEmail = (type) => {\n this.props.back(type)\n }\n render() {\n const showErrorMeesage = () => {\n return (\n
\n\n \n
\n )\n }\n\n const showPastLoans = () => {\n if (!this.state.showPastLoansModal) {\n return \"\"\n }\n let propertyType = {\n 'singlefamilydetached': 'Single Family',\n 'singlefamilyattached': 'Townhouse',\n 'twotofourfamily': 'Multi-family',\n 'condominium': 'Condo'\n }\n let filterValue = (val) => {\n return val && val !== '' ? val : '--'\n }\n const data = []\n for (let loan of this.state.pastLoans) {\n let lasttouch = new Date(loan.state.progress.lasttouch)\n let isPrequal = loan.state.application.property.purpose === \"purchase\" && !loan.state.application.property.hascontract\n if (loan.state.application.property.purpose === null) {\n data.push({\n value: loan.loanid,\n label:
\n
Loan purpose unselected
\n
\n })\n } else {\n data.push({\n value: loan.loanid,\n label: (\n
\n
\n
{com.capitalize(loan.state.application.property.purpose)} {!isPrequal ? \" | Application\" : \" | Pre-qualification\"}
\n
{filterValue(propertyType[loan.state.application.property.propertytype]) + \", \" + filterValue(loan.state.application.property.county) + \", \" + filterValue(loan.state.application.property.state)}
\n
\n
Last edit at {lasttouch.toLocaleDateString()}
\n
\n )\n })\n }\n }\n\n\n return (\n this.setState({ showPastLoans: false })}\n onCancel={() => this.setState({ showPastLoansModal: false })}\n width=\"768px\"\n maskClosable={false}\n closable={false}\n footer={[\n ,\n ,\n ]}\n >\n
We noticed that you have {this.state.pastLoans.length} existing applications. Would you like to use the information from one of them for this application?
\n
You can edit your information any time during the application process.
\n
\n {\n this.setState({ selectedLoanId: e })\n }}\n value={this.state.selectedLoanId}\n mode=\"flex\"\n type='radio'\n direction=\"horizontal\"\n fixedWidth=\"280px\" />\n
\n \n )\n }\n\n if (this.state.showResult && this.state.verified) {\n return (\n
\n \n
Succeed!
\n
\n
Your account has been verified.
\n
Continue to your application.
\n\n
\n\n
\n )\n }\n\n if (this.props.mode === \"simple\") {\n return (\n
\n {showPastLoans()}\n
\n )\n }\n\n return (\n
\n\n\n
\n
Check your email
\n {/*
Please enter the 4 digit code sent to {this.props.application.borrower.email}
*/}\n {\n this.props.application.borrower.email && (\n
\n
We sent a code to {this.props.application.borrower.email} { this.editEmail(1) }}>Edit
\n
Enter the code to log in your account
\n
\n )\n }\n
\n {(this.state.verifingCode || this.state.sendingCode) ? : {\n this.setState({ code: e })\n if (e.length === 4) {\n this.verifycodeAndCheckPastLoans(e)\n }\n }} />}\n\n
\n {(this.state.showResult && !this.state.verified) && showErrorMeesage()}\n
Didn’t receive the email? {\n this.sendcode()\n }}>Resend
\n {showPastLoans()}\n
\n )\n }\n}\n\nexport default withStatsig(connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(EmailVerification))\n","\r\nimport { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux'\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport * as act from \"../../Store/actions\"\r\nimport * as com from \"../../Common\"\r\nimport { Button, Col, Row, Tooltip, Input } from 'antd';\r\nimport EmailVerification from '../../Application/EmailVerification';\r\nimport \"./loanRateResult.css\";\r\nimport {\r\n QuestionCircleFilled\r\n} from '@ant-design/icons';\r\nimport { totalmem } from 'os';\r\n\r\nconst eligibleCities = [\"Fremont\", \"Newark\", \"Union City\", \"Pleasanton\", \"Dublin\", \"Livermore\", \"San Ramon\", \"Danville\"]\r\nconst eligibleCounties = [\"Santa Clara County\", \"San Mateo County\"]\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n application: state.application,\r\n progress: state.progress,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n changeMainPropertyAttribute: (t, verb) => {\r\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\r\n },\r\n changeBorrowerInfo: (event, verb) => {\r\n dispatch(act.ChangeBorrowerInfo(event, \"borrower\", verb))\r\n },\r\n updateChangeApplication: (application) => {\r\n dispatch(act.updateApplication(application))\r\n },\r\n});\r\n\r\nexport function CalcHardMoneyLoanRate(props) {\r\n// to get max loan amount:\r\n// if it's a purchase loan (+rehab),the max loan amount is the lesser of 85% LTV or 70% LTARV. \r\n// if it's a rate-term refi loan, the max loan amount is the lesser of 70% LTV or 70% LTARV. \r\n// If it's a cash-out refi loan, the max is the lesser of 65% LTV or 65% LTARV.\r\n\r\n let result = {\r\n unqualified: false,\r\n unqualifiedReason: \"\", \r\n floorRate: 0,\r\n point: 0,\r\n monthlyPayment: 0,\r\n closingCost: 0,\r\n maxLoanAmount: 0,\r\n\r\n }\r\n const {\r\n property,\r\n hardmoneyloan,\r\n } = props.application;\r\n\r\n let propertyType = property.propertytype\r\n let propertyCounty = property.county\r\n let propertyCity = property.city.trim()\r\n let rehabAdded = hardmoneyloan.rehabloan\r\n let scre = hardmoneyloan.estimatedfico\r\n let borrowerExperience = hardmoneyloan.timesofflippingaproperty + hardmoneyloan.timesofpurchasingarentalproperty\r\n let loanTermMonths = hardmoneyloan.mortgagetermmonths\r\n let loanamount = \"\"\r\n let maxLoanAmount = \"\"\r\n let loanAmountLimit = \"\"\r\n let totalLoanAmount = \"\"\r\n let ltv = 0\r\n let ltarv = 0\r\n let ltc\r\n let floorRate = 8.99\r\n let point = 1\r\n let maxLTV = 0\r\n let maxLTARV = 0\r\n let maxLTC = 0\r\n let minFICO = 0\r\n let minExp = 3\r\n let minTermMonths = 3\r\n let dayOneEquity = 0\r\n let cashoutAmount = 0\r\n let cashoutPercentage = 0\r\n\r\n\r\n //find min of purPrice * maxltv, cost * maxltc, arv * maxltarv\r\n const calcMaxLoanAmount = (purPrice, cost, arv ,maxltv, maxltc, maxltarv) => {\r\n let maxLoanAmount = 0\r\n let purPriceMax = purPrice * maxltv\r\n let costMax = cost * maxltc\r\n let arvMax = arv * maxltarv\r\n if (!rehabAdded) {\r\n arvMax = purPriceMax\r\n costMax = purPriceMax\r\n }\r\n console.log(\"purPriceMax: \" + purPrice+ \"*\" + maxltv + \"=\"+purPriceMax)\r\n console.log(\"costMax: \" + cost+ \"*\" + maxltc + \"=\"+costMax)\r\n console.log(\"arvMax: \" + arv+ \"*\" + maxltarv + \"=\"+arvMax)\r\n console.log(\"maxLoanAmount: \" + Math.min(purPriceMax, costMax, arvMax))\r\n\r\n maxLoanAmount = Math.min(purPriceMax, costMax, arvMax)\r\n return maxLoanAmount\r\n }\r\n\r\n\r\n let salesPrice = com.safeParseInt(property.salesprice)\r\n let purpose = property.purpose\r\n let initialAdvance = com.safeParseInt(hardmoneyloan.initialadvancerequested)\r\n let rehabLoanAmount = com.safeParseInt(hardmoneyloan.rehabloanamount)\r\n let projectAfterRepairValue = com.safeParseInt(hardmoneyloan.projectedafterrepairvalue)\r\n let estimatedCurrentValue = com.safeParseInt(hardmoneyloan.refinancedetails.estimatedCurrentValue)\r\n let constructionBudget = com.safeParseInt(hardmoneyloan.constructionbudget)\r\n let constructionLoanAmount = com.safeParseInt(hardmoneyloan.constructionloanamount)\r\n let refinanceLoanAmount = com.safeParseInt(hardmoneyloan.refinanceloanamount)\r\n let existingLoanAmount = com.safeParseInt(hardmoneyloan.refinancedetails.existingLoanAmount)\r\n\r\n if (salesPrice===\"\") {\r\n ltv = 0\r\n } else {\r\n switch (purpose) {\r\n case \"purchaserehab\":\r\n loanAmountLimit = 5000000\r\n point = 1\r\n maxLTV = 80\r\n maxLTARV = 70\r\n maxLTC = 85\r\n minFICO = 650\r\n minExp = 3\r\n minTermMonths = 3\r\n\r\n loanamount = initialAdvance\r\n dayOneEquity = salesPrice - loanamount\r\n ltv = 100 * loanamount / salesPrice\r\n if (rehabAdded) {\r\n totalLoanAmount = loanamount + rehabLoanAmount\r\n ltarv = 100 * rehabLoanAmount / projectAfterRepairValue\r\n } else {\r\n totalLoanAmount = loanamount\r\n ltarv = ltv\r\n }\r\n ltc = 100 * totalLoanAmount / (salesPrice + rehabLoanAmount)\r\n maxLoanAmount = calcMaxLoanAmount(salesPrice, salesPrice + rehabLoanAmount, projectAfterRepairValue, 0.80, 0.85, 0.7)\r\n if (maxLoanAmount > loanAmountLimit) {\r\n maxLoanAmount = loanAmountLimit\r\n }\r\n if(totalLoanAmount > maxLoanAmount) {\r\n totalLoanAmount = maxLoanAmount\r\n if (rehabAdded) {\r\n dayOneEquity = salesPrice - (maxLoanAmount - rehabLoanAmount)\r\n ltv = 100 * (maxLoanAmount - rehabLoanAmount) / salesPrice\r\n ltarv = 100 * maxLoanAmount / projectAfterRepairValue\r\n } else{\r\n dayOneEquity = salesPrice - maxLoanAmount\r\n ltv = 100 * maxLoanAmount / salesPrice\r\n ltarv = ltv\r\n }\r\n ltc = 100 * maxLoanAmount / (salesPrice + rehabLoanAmount)\r\n }\r\n break;\r\n case \"refinance\":\r\n loanamount = refinanceLoanAmount\r\n loanAmountLimit = 2000000\r\n totalLoanAmount = loanamount\r\n point = 1.5\r\n maxLTV = 70\r\n maxLTARV = 70\r\n maxLTC = 70\r\n minFICO = 700\r\n minExp = 3\r\n minTermMonths = 3\r\n dayOneEquity = estimatedCurrentValue - loanamount\r\n ltv = 100 * loanamount / estimatedCurrentValue\r\n ltarv = 100 * totalLoanAmount / estimatedCurrentValue\r\n ltc = 100 * totalLoanAmount / estimatedCurrentValue\r\n maxLoanAmount = calcMaxLoanAmount(estimatedCurrentValue, estimatedCurrentValue, estimatedCurrentValue, 0.7, 0.7, 0.7)\r\n if (maxLoanAmount > loanAmountLimit) {\r\n maxLoanAmount = loanAmountLimit\r\n }\r\n if(totalLoanAmount > maxLoanAmount) {\r\n totalLoanAmount = maxLoanAmount\r\n dayOneEquity = estimatedCurrentValue - maxLoanAmount\r\n ltv = 100 * maxLoanAmount / estimatedCurrentValue\r\n ltarv = 100 * maxLoanAmount / estimatedCurrentValue\r\n ltc = 100 * maxLoanAmount / estimatedCurrentValue\r\n }\r\n break;\r\n case \"cashoutrefinance\":\r\n loanamount = refinanceLoanAmount\r\n loanAmountLimit = 2000000\r\n totalLoanAmount = loanamount\r\n point = 1.5\r\n maxLTV = 65\r\n maxLTARV = 65\r\n maxLTC = 65\r\n minFICO = 700\r\n minExp = 10\r\n minTermMonths = 3\r\n dayOneEquity = estimatedCurrentValue - loanamount\r\n cashoutAmount = loanamount - existingLoanAmount\r\n cashoutPercentage = 100* cashoutAmount / estimatedCurrentValue\r\n ltv = 100 * loanamount / estimatedCurrentValue\r\n ltarv = 100 * totalLoanAmount / estimatedCurrentValue\r\n ltc = 100 * totalLoanAmount / estimatedCurrentValue\r\n maxLoanAmount = calcMaxLoanAmount(estimatedCurrentValue, estimatedCurrentValue, estimatedCurrentValue, 0.65, 0.65, 0.65)\r\n if (maxLoanAmount > loanAmountLimit) {\r\n maxLoanAmount = loanAmountLimit\r\n }\r\n if(totalLoanAmount > maxLoanAmount) {\r\n totalLoanAmount = maxLoanAmount\r\n dayOneEquity = estimatedCurrentValue - maxLoanAmount\r\n cashoutAmount = maxLoanAmount - existingLoanAmount\r\n cashoutPercentage = 100* cashoutAmount / estimatedCurrentValue\r\n ltv = 100 * maxLoanAmount / estimatedCurrentValue\r\n ltarv = 100 * maxLoanAmount / estimatedCurrentValue\r\n ltc = 100 * maxLoanAmount / estimatedCurrentValue\r\n }\r\n break;\r\n case \"construction\":\r\n loanamount = constructionLoanAmount\r\n loanAmountLimit = 5000000\r\n totalLoanAmount = loanamount\r\n point = 2\r\n maxLTV = 70\r\n maxLTARV = 70\r\n maxLTC = 85\r\n minFICO = 700\r\n minExp = 20\r\n minTermMonths = 3\r\n dayOneEquity = constructionBudget - loanamount\r\n ltv = 100 * totalLoanAmount / constructionBudget\r\n ltarv = 100 * totalLoanAmount / projectAfterRepairValue\r\n ltc = 100 * totalLoanAmount / constructionBudget\r\n maxLoanAmount = calcMaxLoanAmount(constructionBudget, constructionBudget, projectAfterRepairValue, 0.7, 0.85, 0.7)\r\n if (maxLoanAmount > loanAmountLimit) {\r\n maxLoanAmount = loanAmountLimit\r\n }\r\n if(totalLoanAmount > maxLoanAmount) {\r\n totalLoanAmount = maxLoanAmount\r\n dayOneEquity = constructionBudget - maxLoanAmount\r\n ltv = 100 * maxLoanAmount / constructionBudget\r\n ltarv = 100 * maxLoanAmount / projectAfterRepairValue\r\n ltc = 100 * maxLoanAmount / constructionBudget\r\n }\r\n break;\r\n }\r\n\r\n }\r\n\r\n console.log(\"******start parsing rate-point-cost********\")\r\n // check lending area \r\n if (!eligibleCities.includes(propertyCity) && !eligibleCounties.includes(propertyCounty)) {\r\n console.log(\"not in lending area\")\r\n result.unqualified = true\r\n result.unqualifiedReason = \"The subject property address is not in the lending area of this program.\"\r\n }\r\n // check multifamily or mixeduse, rates for these are subject to pre-approval\r\n if (propertyType === \"multifamily\" || propertyType === \"mixeduse\") {\r\n console.log(\"is multifamily or mixeduse, need pre-approval\")\r\n result.unqualified = true\r\n result.unqualifiedReason = \"Program's rate and cost is subject to pre-approval for multifamily or mixed used property, please procced to the applicaton and discuss it with your loan officer.\"\r\n }\r\n\r\n // check loan amount limit\r\n if (totalLoanAmount > loanAmountLimit) {\r\n console.log(\"loan amount exceed: \" + loanAmountLimit)\r\n result.unqualified = true\r\n result.unqualifiedReason = \"The maximum loan amount is $\"+ loanAmountLimit/1000000 + \"M, while your current is $\"+ totalLoanAmount + \".\"\r\n }\r\n\r\n // check fico score above minFICO\r\n if (scre < minFICO) {\r\n console.log(\"fico score below minFICO: \" + minFICO)\r\n result.unqualified = true\r\n result.unqualifiedReason = \"The minimum FICO score is \"+ minFICO +\", whereas the FICO score you have provided is \" + scre\r\n }\r\n\r\n // check borrower experience above minExp\r\n if (borrowerExperience < minExp) {\r\n console.log(\"borrower experience below minExp: \" + minExp)\r\n result.unqualified = true\r\n result.unqualifiedReason = \"The program requires a minimum total experience of \"+ minExp + \" for the last 3 years, whereas the number of experience you have provided is \" + borrowerExperience\r\n }\r\n\r\n // make sure purchase price entered is valid\r\n if (property.salesprice === \"\" || property.salesprice == 0) {\r\n console.log(\"purchase price is empty or zero\")\r\n result.unqualified = true\r\n result.unqualifiedReason = \"Please enter a valid purchase price/as-is-value, can't be empty or zero\"\r\n }\r\n\r\n // make sure projected after repair value is entered valid if rehab added\r\n if (rehabAdded && (hardmoneyloan.projectedafterrepairvalue === \"\" || hardmoneyloan.projectedafterrepairvalue === 0)) {\r\n console.log(\"projected after repair value is empty or zero\")\r\n result.unqualified = true\r\n result.unqualifiedReason = \"Please enter a valid projected after repair value, can't be empty or zero\"\r\n }\r\n\r\n // console.log(\"ltarv > 70, rate and cost is subject to pre-approval\")\r\n // result.unqualified = true\r\n // result.unqualifiedReason = \"For single family residence and loan to after repair value is above 70%, rate and cost is subject to pre-approval. Please procced to the applicaton and discuss it with your loan officer.\"\r\n\r\n switch (purpose) {\r\n case \"purchaserehab\":\r\n floorRate = 9\r\n console.log(\"in purchase rehab, init floorRate: \" + floorRate)\r\n break;\r\n case \"refinance\":\r\n floorRate = 10\r\n console.log(\"in refi, init floorRate: \" + floorRate)\r\n break;\r\n case \"cashoutrefinance\":\r\n floorRate = 10\r\n console.log(\"in cashout, init floorRate: \" + floorRate)\r\n break;\r\n case \"construction\":\r\n floorRate = 12\r\n console.log(\"in construct, init floorRate: \" + floorRate)\r\n break;\r\n }\r\n\r\n switch (ltarv) {\r\n case ltarv <= 55:\r\n floorRate = floorRate\r\n console.log(\"ltarv <= 55, nothing added\")\r\n break;\r\n case ltarv > 55 && ltarv <= 60:\r\n floorRate += 0.25\r\n console.log(\"ltarv > 55 && ltarv <= 60, rate +0.25\")\r\n break;\r\n case ltarv > 60 && ltarv <= 65:\r\n floorRate += 0.5\r\n console.log(\"ltarv > 60 && ltarv <= 65, rate +0.5\")\r\n break;\r\n case ltarv > 65 && ltarv <= 70:\r\n floorRate += 0.75\r\n console.log(\"ltarv > 65 && ltarv <= 70, rate +0.75\")\r\n break;\r\n case ltarv > 70 && ltarv <= 80:\r\n floorRate += 9\r\n console.log(\"ltarv > 70 && ltarv <= 80, rate is 9\")\r\n }\r\n\r\n\r\n // } else {\r\n // console.log(\"ltarv > 65, rate and cost is subject to pre-approval\")\r\n // result.unqualified = true\r\n // result.unqualifiedReason = \"For 2-4 unit residential property and loan to after repair value is above 65%, rate and cost is subject to pre-approval. Please procced to the applicaton and discuss it with your loan officer.\"\r\n // }\r\n // }\r\n\r\n // rate adjustment when day one equity is less than 85k\r\n if (dayOneEquity <= 85000) {\r\n console.log(\"dayOneEquity <= 85000, rate +0.25\")\r\n floorRate += 0.25\r\n }\r\n\r\n // rate adjustment based on cashout percentage\r\n if (cashoutPercentage>=1.5 && cashoutPercentage <=5) {\r\n console.log(\"cashoutPercentage>=1.5 && cashoutPercentage <=5, rate +0.125\")\r\n floorRate += 0.125\r\n }\r\n if (cashoutPercentage>5) {\r\n console.log(\"cashoutPercentage>5, rate +0.5\")\r\n floorRate += 0.5\r\n }\r\n\r\n // rate adjustment based on ltv\r\n if (ltv > 60 && ltv <= 70){\r\n console.log(\"in ltv 60-70, rate +0.5\")\r\n floorRate += 0.5\r\n }\r\n else if (ltv > 70 && ltv <= maxLTV){\r\n console.log(\"in ltv 70-ceiling, rate +1\")\r\n floorRate += 1\r\n }\r\n\r\n // rate and point adjustment based on fico score\r\n if (scre >= minFICO) {\r\n if ( scre >= 700 && scre <= 719) {\r\n console.log(\"in scre 700-719, rate +0.25\")\r\n floorRate += 0.25\r\n }\r\n if ( scre >=680 && scre <= 699) {\r\n console.log(\"in scre 680-699, rate +0.5, point +0.5\")\r\n floorRate += 0.5\r\n point += 0.5\r\n }\r\n if ( scre >= 650 && scre <= 679) {\r\n console.log(\"in scre 650-679, rate +0.75, point +1\")\r\n floorRate += 0.75\r\n point += 1\r\n }\r\n } \r\n\r\n\r\n //rate adjustment based on borrower experience\r\n if (borrowerExperience >= 10 && borrowerExperience <= 20) {\r\n console.log(\"in experience 10-20, rate +0.25\")\r\n floorRate += 0.25\r\n }\r\n if (borrowerExperience >= 3 && borrowerExperience < 10) {\r\n console.log(\"in experience 3-10, rate +0.5\")\r\n floorRate += 0.5\r\n }\r\n \r\n // rate and point adjustment based on loan term\r\n if (com.safeParseInt(loanTermMonths) > 12){\r\n console.log(\"in term > 12, rate +0.5, point +0.5\")\r\n floorRate += 0.5\r\n point += 0.5\r\n }\r\n // addtional fee based on loan amount\r\n let extraFee = 0\r\n if (totalLoanAmount >= 85000 && totalLoanAmount <= 125000) {\r\n extraFee = 1000\r\n console.log(\"in loan amount 85000-125000, have $\" + extraFee + \" as extra fee\")\r\n }\r\n console.log(\"check type!!!!!!\", propertyType)\r\n // rate and point adjustment based on property type\r\n switch (propertyType) {\r\n case \"singlefamilydetached\":\r\n break;\r\n case \"mixeduse\":\r\n console.log(\"property type is mixeduse, rate +2, point +1\")\r\n floorRate += 2\r\n point += 1\r\n break;\r\n case \"multistory\":\r\n console.log(\"property type is commercial, rate +3, point +1\")\r\n floorRate += 3\r\n point += 1\r\n break;\r\n case \"twotofourunit\":\r\n console.log(\"property type is 2-4 unit, rate +1, point +0.25\")\r\n floorRate += 0.25\r\n break;\r\n case \"commercial\":\r\n console.log(\"property type is commercial, rate +3, point +1\")\r\n floorRate += 3\r\n point += 1\r\n break;\r\n }\r\n console.log(\"final total loan amount: \" + totalLoanAmount)\r\n // calc final monthly payment and closing cost\r\n let mp = Math.round(0.01*(floorRate)*com.safeParseInt(totalLoanAmount)/com.safeParseInt(props.application.hardmoneyloan.mortgagetermmonths))\r\n let cc = Math.round(com.safeParseInt(totalLoanAmount) * point * 0.01 + extraFee)\r\n\r\n\r\n console.log(\"******end parsing rate-point-cost********\")\r\n console.log(\"ltarv: \" + ltarv)\r\n console.log(\"ltc: \" + ltc)\r\n console.log(\"ltarv: \" + ltarv)\r\n console.log(\"final total loan amount: \" + totalLoanAmount)\r\n console.log(\"final max loan amount: \" + maxLoanAmount)\r\n\r\n result.floorRate = floorRate\r\n result.point = point\r\n\r\n result.monthlyPayment = mp\r\n result.closingCost = cc\r\n result.maxLoanAmount = maxLoanAmount\r\n return result\r\n}\r\n\r\nconst LoanRateResult = (props) => {\r\n const [showSignup, setShowSignup] = useState(false)\r\n const [showEmailVerification, setShowEmailVerification] = useState(false)\r\n const [rate, setRate] = useState(\"\")\r\n const [maxLoanAmount, setMaxLoanAmount] = useState(\"\")\r\n const [monthlyPayment, setMonthlyPayment] = useState(\"\")\r\n const [closingCost, setClosingCost] = useState(\"\")\r\n const [unqualified, setUnqualified] = useState(false)\r\n const [unqualifiedReason, setUnqualifiedReason] = useState(\"\")\r\n\r\n const cardList = [\r\n {\r\n title: 'Interest Rate',\r\n value: rate\r\n },\r\n {\r\n title: 'Maximum Loan amount',\r\n value: maxLoanAmount\r\n },\r\n {\r\n title: 'Monthly Payment',\r\n value: monthlyPayment\r\n },\r\n {\r\n title: 'Closing Cost',\r\n value: closingCost\r\n }\r\n ]\r\n\r\n useEffect(()=>{\r\n let result = CalcHardMoneyLoanRate(props)\r\n setRate(result.floorRate.toFixed(3) + \"%\")\r\n setMonthlyPayment(\"$\" + com.commaize(result.monthlyPayment))\r\n setClosingCost(\"$\" + com.commaize(result.closingCost))\r\n setUnqualified(result.unqualified)\r\n setUnqualifiedReason(result.unqualifiedReason)\r\n setMaxLoanAmount(\"$\"+ com.commaize(result.maxLoanAmount))\r\n console.log(\"on props update\")\r\n }, [props.application])\r\n\r\n const back = (type) => {\r\n if (type === 1) {\r\n setShowEmailVerification(false)\r\n }\r\n }\r\n\r\n const signup = () => {\r\n if (showEmailVerification) {\r\n return (\r\n
\r\n back(type)} />\r\n
\r\n )\r\n }\r\n return (\r\n
\r\n
Create Account
\r\n
To explore your best loan option and get connected with our experienced loan officers
\r\n \r\n props.changeBorrowerInfo(e.target.value, \"firstname\")}/>\r\n props.changeBorrowerInfo(e.target.value, \"lastname\")}/>\r\n \r\n \r\n props.changeBorrowerInfo(e.target.value, \"email\")}/>\r\n \r\n
\r\n
Already have an account? Log in
\r\n \r\n
\r\n )\r\n }\r\n\r\n const showUnqualified = () => {\r\n return
\r\n
Sorry, we are unable to offer a loan based on the input provided. This is due to:
\r\n
{unqualifiedReason}
\r\n
\r\n }\r\n\r\n return (\r\n
\r\n {showSignup ? signup() :
\r\n
Fill in the table on the left and click Calculate to see your rates
\r\n \r\n {\r\n !props.showResult ? cardList.map((item, index) =>\r\n \r\n
{item.title}
\r\n
---
\r\n \r\n )\r\n :\r\n (\r\n unqualified ? showUnqualified() :\r\n cardList.map((item, index) => \r\n \r\n
{item.title}
\r\n
{item.value}
\r\n \r\n )\r\n )\r\n }\r\n
\r\n
To obtain an accurate rate tailored to your specific situation, simply sign up below.
\r\n
Our experienced loan officers will promptly reach out to assist you in finding the best rate available.
\r\n
\r\n
Already have an account? Login
\r\n {/*
Privacy Statement
*/}\r\n
}\r\n \r\n
\r\n );\r\n}\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(LoanRateResult))\r\n","import { useState, useEffect } from 'react';\r\nimport { Col, Row } from 'antd';\r\nimport LoanRateTitle from './LoanRateTitle.js';\r\nimport LoanRateCalculator from './LoanRateCalculator';\r\nimport LoanRateResult from './LoanRateResult';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nexport default function LoanRate() {\r\n\r\n const { customerid } = useParams();\r\n const [showResult, setShowResult] = useState(false);\r\n useEffect(()=>{\r\n sessionStorage.setItem(\"cid\", customerid)\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}","import React from 'react';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\nexport default function Copyright() {\n return (\n
\n
\n
© 2021 Zeitro. All rights reserved.
\n
\n )\n};","import React from 'react';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\nimport LandingMenu from \"./Landing/LandingMenu.js\"\n\nimport Copyright from \"./Copyright.js\"\nexport default function Error404() {\n // THIS IS A HACK. I DON'T KNOW HOW TO SOLVE THIS RIGHT!!!\n // something to do with the wrong nesting\n if ( (window.location.pathname === \"/\" && window.location.hash.length > 0) || window.location.pathname === \"/resources/faq\") {\n window.location = window.location.href\n return (\n
\n )\n } else {\n return (\n
\n \n
\n
\n
\n

Error 404.

\n

Page Not Found.

\n
\n The application is still under construction. Please be patient!\n
\n
\n\n\n
\n
\n
\n \"Your\n
\n
\n
 
\n
 
\n\n
\n\n \n\n
\n )\n }\n}\n","import \"./ScrollBar.css\"\nimport \"./public.css\"\nimport React, { useState, useEffect } from 'react';\nimport Slider from 'rc-slider';\nimport 'rc-slider/assets/index.css';\nimport { commaize } from \"../../Common\";\n\nconst wipeoffComma = (e) => {\n return Number(e.replace(/,/g, \"\"))\n}\n\nexport default function ScrollBar(props) {\n const { max, min, step, initVal, scrollChangeValue, noSign, hideSlider } = props;\n \n useEffect(() => {\n setMaxValue(max);\n setMinValue(min > max ? max : min);\n setStepValue(step);\n setInitValue(initVal);\n setInputValue(initVal);\n }, [initVal, max, min, step])\n\n const [initValue, setInitValue] = useState(1)\n const [inputValue, setInputValue] = useState(1)\n const [maxValue, setMaxValue] = useState(3000000)\n const [minValue, setMinValue] = useState(0)\n const [stepValue, setStepValue] = useState(null)\n\n const initValueChange = (e) => {\n setInitValue(e)\n setInputValue(commaize(e))\n scrollChangeValue(e)\n }\n\n const inputChange = (e) => {\n let n = Number(e.target.value.replace(/[^\\d.-]/g, ''))\n if (n > maxValue) {\n setInitValue(maxValue)\n scrollChangeValue(maxValue)\n setInputValue(maxValue)\n } else {\n setInitValue(n)\n scrollChangeValue(n)\n setInputValue(n)\n }\n }\n\n return (\n
\n
{noSign !== true ? \"$\" : \"\"}
\n \n {!hideSlider &&}\n
\n )\n}\n\nexport function ScrollBarPercentage(props) {\n const { max, min, step, initVal, scrollChangeValue, percentageOf } = props;\n\n useEffect(() => {\n setMaxValue(max);\n setMinValue(min);\n setStepValue(step);\n setInitValue(initVal);\n setInputValue(initVal);\n setPercentageOfValue(percentageOf);\n // if (typeof percentageOf !== \"undefined\") {\n // setDollarValue(percentageOf * initVal * 0.01)\n // }\n }, [initVal, max, min, step, percentageOf])\n\n useEffect(() => {\n if (typeof percentageOf !== \"undefined\") {\n setDollarValue(percentageOf * initVal * 0.01)\n }\n }, [percentageOf])\n\n const [initValue, setInitValue] = useState(1)\n const [inputValue, setInputValue] = useState(1)\n const [maxValue, setMaxValue] = useState(3000000)\n const [minValue, setMinValue] = useState(0)\n const [stepValue, setStepValue] = useState(null)\n const [percentageOfValue, setPercentageOfValue] = useState(0)\n const [dollarValue, setDollarValue] = useState(typeof percentageOf !== \"undefined\" ? percentageOf * initVal * 0.01 : 0)\n const hasDollarInput = typeof percentageOf !== \"undefined\"\n \n const initValueChange = (e) => {\n let val = e\n if (e>maxValue) {\n val = maxValue\n }\n setInitValue(val)\n setInputValue(val)\n scrollChangeValue(val)\n if (hasDollarInput) {\n setDollarValue(0.01 * val * percentageOfValue)\n }\n }\n\n const inputChange = (e) => {\n let n = Number(e.target.value.replace(/[^\\d.-]/g, ''))\n if (n > maxValue) {\n setInitValue(maxValue)\n scrollChangeValue(maxValue)\n setInputValue(maxValue)\n if (hasDollarInput) {\n setDollarValue(0.01 * maxValue * percentageOfValue)\n }\n } else {\n setInitValue(n)\n scrollChangeValue(n)\n setInputValue(n)\n if (hasDollarInput) {\n setDollarValue(0.01 * n * percentageOfValue)\n }\n }\n }\n\n const inputChangePercentageOf = (e) => {\n let val = Number(e.target.value.replace(/[^\\d.-]/g, ''))\n let n = (val/percentageOf) * 100 \n if (n > maxValue) {\n setDollarValue(0.01 * maxValue * percentageOfValue)\n setInitValue(maxValue)\n scrollChangeValue(maxValue)\n setInputValue(maxValue)\n } else {\n setDollarValue(val)\n setInitValue(n)\n scrollChangeValue(n)\n setInputValue(n)\n }\n }\n\n \n\n return (\n
\n
%
\n \n {hasDollarInput && <>\n
/
\n
$
\n \n }\n\n \n
\n )\n}\n\nexport function InputWithPercentage(props){\n const { max, min, step, initVal, inputChangePercentage, percentageOf } = props;\n\n useEffect(() => {\n setMaxValue(max);\n setMinValue(min);\n setStepValue(step);\n setInitValue(initVal);\n setInputValue(initVal);\n setPercentageOfValue(percentageOf);\n // if (typeof percentageOf !== \"undefined\") {\n // setDollarValue(percentageOf * initVal * 0.01)\n // }\n }, [initVal, max, min, step, percentageOf])\n\n useEffect(() => {\n initValueChange(initVal)\n }, [initVal])\n\n useEffect(() => {\n if (typeof percentageOf !== \"undefined\") {\n setDollarValue(percentageOf * initVal * 0.01)\n }\n }, [percentageOf])\n\n const [initValue, setInitValue] = useState(1)\n const [inputValue, setInputValue] = useState(1)\n const [maxValue, setMaxValue] = useState(3000000)\n const [minValue, setMinValue] = useState(0)\n const [stepValue, setStepValue] = useState(null)\n const [percentageOfValue, setPercentageOfValue] = useState(0)\n const [dollarValue, setDollarValue] = useState(typeof percentageOf !== \"undefined\" ? percentageOf * initVal * 0.01 : 0)\n const hasDollarInput = typeof percentageOf !== \"undefined\"\n \n const initValueChange = (val) => {\n inputChangePercentage(val)\n }\n const inputChangePercentageOf = (e) => {\n let val = Number(e.target.value.replace(/[^\\d.-]/g, ''))\n let n = (val/percentageOf) * 100 \n if (n > maxValue) {\n setDollarValue(0.01 * maxValue * percentageOfValue)\n setInitValue(maxValue)\n inputChangePercentage(maxValue)\n setInputValue(maxValue)\n } else {\n setDollarValue(val)\n setInitValue(n)\n inputChangePercentage(n)\n setInputValue(n)\n }\n }\n\n \n\n return (\n
\n {/*
%
\n */}\n {hasDollarInput &&
\n
$
\n \n
}\n
{Math.round(inputValue*100)/100}%
\n
\n )\n}\n","import React from 'react'\nimport Helmet from 'react-helmet'\nimport { connect } from 'react-redux'\nimport { withRouter, Link } from 'react-router-dom'\nimport { Select, Spin } from 'antd'\nimport smartlookClient from 'smartlook-client'\nimport './PreApp.css'\nimport * as st from '../State'\nimport * as act from '../Store/actions'\nimport { UpdateChangeProgressType, UpdateChangeLastTouch } from '../Store/progress'\nimport { PrequalHeader } from '../Landing/LandingMenu.js'\nimport 'pure-react-carousel/dist/react-carousel.es.css'\nimport { Button, Col, Container, Row, Form } from 'react-bootstrap'\nimport CheckGroup, { CheckGroupWithImage } from '../Common/components/CheckGroup'\nimport ScrollBar from '../Common/components/ScrollBar'\nimport EmailVerification from '../Application/EmailVerification'\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n property: state.application.property,\n borrower: state.borrower,\n hidden: false,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateApplication: (t) => {\n dispatch(act.updateApplication(t))\n },\n updateChangeLastTouch: (t) => {\n dispatch(UpdateChangeLastTouch(t))\n },\n updateChangeProgressType: (step, stage) => {\n dispatch(UpdateChangeProgressType(step, stage))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n changeReviewedLoans: (value) => {\n dispatch(act.ChangeReviewedLoans(value))\n },\n changeMainPropertyPurpose: (val) => {\n dispatch(act.ChangeMainPropertyPurpose(val))\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\n },\n changeMainPropertyAppraisal: (event) => {\n dispatch(act.ChangeMainPropertyAppraisal(event))\n },\n changeMainPropertySalesPrice: (event) => {\n dispatch(act.ChangeMainPropertySalesPrice(event))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n changeBorrowerInfoByValue: (val, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(val, who, verb))\n },\n clearBorrowerGift: () => {\n dispatch(act.ClearBorrowerGift())\n },\n clearBorrowerInsurance: () => {\n dispatch(act.ClearBorrowerInsurance())\n },\n})\n\nexport default class PreApp extends React.Component {\n constructor(props) {\n super(props)\n\n this.state = {\n loading: false,\n purpose: '',\n ownorrent: '',\n showHasContract: false,\n showHousePrice: false,\n focusedIndex: null, // Index of the currently focused component\n hasLO: '',\n loanofficers: [],\n selectedLOId: '',\n open: false,\n }\n\n const searchparams = new URLSearchParams(window.location.search)\n this.customerid = searchparams.get('customerid')\n this.loid = searchparams.get('loid')\n this.fromMarketplace = searchparams.get('marketplace') === 'true' ? true : false\n this.componentRefs = [] // Array to store the refs of each component\n\n fetch('/auth/getlos', {\n method: 'POST',\n body: JSON.stringify({\n CustomerID: this.customerid,\n }),\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('/auth/getlos:Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n\n // Examine the text in the response\n response.json().then((js) => {\n if (js.Status !== 'OK') {\n } else {\n const los = js.LoanOfficers.map(\n ({ FirstName, LastName, Email, ID }) => ({\n ID,\n FirstName,\n LastName,\n Email,\n })\n )\n this.setState({ loanofficers: los })\n }\n })\n })\n .catch((err) => {\n console.error('Fetch Error :', err)\n })\n }\n\n componentDidMount() {\n // Add message event listener\n window.addEventListener('message', this.handleMessage)\n \n window.document.addEventListener('checkwalkback', this.onTouch)\n smartlookClient.init('d837cbb6bdd09c2c425261ab6ab338c05aac8ef0')\n smartlookClient.record({\n emails: true,\n forms: true,\n numbers: true,\n ips: true,\n })\n this.setFocus(0)\n if (this.props.property.salesprice === '') {\n this.props.changeMainPropertySalesPrice(500000)\n this.props.changeMainPropertyAppraisal(500000)\n }\n\n const hasLoid = sessionStorage.getItem('loid')\n const hasLO = sessionStorage.getItem('hasLO')\n this.setState({\n hasLO,\n selectedLOId: hasLoid ? hasLoid : '',\n })\n }\n\n componentWillUnmount() {\n // Remove message event listener\n window.removeEventListener('message', this.handleMessage)\n \n window.document.removeEventListener('checkwalkback', this.onTouch)\n }\n\n // Add message handler\n handleMessage = (event) => {\n // Verify the origin for security\n // Replace 'http://localhost:3001' with your marketplace domain\n // if (event.origin !== 'http://localhost:3001') {\n // return\n // }\n\n // Handle the message\n if (event.data.type === 'SET_SESSION_STORAGE') {\n try {\n console.log('SET_SESSION_STORAGE', event.data.key, event.data.value)\n \n const s = JSON.parse(event.data.value)\n\n this.props.updateApplication(s.borrowerState.application)\n sessionStorage.setItem(\"borrowerExists\", s.borrowerExists)\n\n // Optionally send confirmation back to parent window\n event.source.postMessage({\n type: 'STORAGE_SET_CONFIRMATION',\n key: event.data.key\n }, event.origin)\n } catch (error) {\n console.error('Error setting session storage:', error)\n // Optionally send error back to parent window\n event.source.postMessage({\n type: 'STORAGE_SET_ERROR',\n key: event.data.key,\n error: error.message\n }, event.origin)\n }\n }\n }\n\n setFocus(index) {\n // Update the focusedIndex state and scroll to the component\n this.setState({ index }, () => {\n // const { top, height } = this.componentRefs[index].getBoundingClientRect();\n const { innerWidth } = window\n // const scrollPosition = innerHeight / 2;\n\n // const centerY = top + height / 2;\n // const scrollY = window.innerHeight / 3 +( index - 1) * 400;\n let scrollY = 0\n if (innerWidth < 450) {\n switch (index) {\n case 0:\n scrollY = 0\n break\n case 1:\n scrollY = 400\n break\n case 2:\n scrollY = 800\n break\n case 3:\n scrollY = 1000\n break\n default:\n break\n }\n } else {\n switch (index) {\n case 0:\n scrollY = 0\n break\n case 1:\n scrollY = 200\n break\n case 2:\n scrollY = 600\n break\n case 3:\n scrollY = 1000\n break\n default:\n break\n }\n }\n window.scrollTo({\n top: scrollY,\n behavior: 'smooth',\n })\n })\n }\n\n onTouch = () => {\n const d = new Date()\n this.props.updateChangeLastTouch(d.toUTCString())\n }\n\n render = () => {\n let nextPage =\n '/services/preapp/emailverification?customerid=' +\n this.customerid +\n '&loid=' +\n this.state.selectedLOId\n\n if (sessionStorage.getItem('ZeitroA') !== null) {\n nextPage = '/application/interview/main/applicant'\n }\n\n const companyName = sessionStorage.getItem('companyName')\n const helmet = companyName ? companyName : 'Mortgage Service'\n\n const showSelectLO = () => {\n if (this.loid !== null) {\n return false\n }\n return this.state.purpose !== ''\n }\n\n const showPrice = () => {\n if (this.customerid === 'individualcustomers' || this.loid !== null) {\n return this.state.purpose !== ''\n } else {\n const { hasLO, selectedLOId } = this.state\n return (hasLO === 'no' || (hasLO === 'yes' && selectedLOId !== ''))\n }\n }\n\n const changePurpose = (e) => {\n this.onTouch()\n this.props.updateSelectField(new st.ChosenLoan(), 'selectedloan')\n this.props.changeReviewedLoans(0)\n if (e === 'purchase') {\n this.props.changeMainPropertyPurpose('purchase')\n this.props.changeMainPropertyAttribute(true, 'hascontract')\n // if change from purpose, clear gifts/insurance\n this.props.clearBorrowerGift()\n this.props.clearBorrowerInsurance()\n } else if (e === 'refinance') {\n this.props.changeMainPropertyPurpose('refinance')\n this.props.changeMainPropertyAttribute(false, 'hascontract')\n } else if (e === 'cashout') {\n this.props.changeMainPropertyPurpose(st.POL_Cashoutrefinance)\n this.props.changeMainPropertyAttribute(false, 'hascontract')\n }\n this.setState({ purpose: e })\n this.setFocus(1)\n }\n\n const onAppraisal = (e) => {\n this.props.changeMainPropertyAppraisal(e)\n this.props.changeMainPropertySalesPrice(e)\n }\n\n const getClsName = () => {\n if (this.state.purpose === '') {\n return ''\n }\n return 'h-1000'\n }\n\n const { appraisal } = this.props.property\n const { purpose } = this.props.application.property\n\n return (\n
\n \n {helmet + ' - What brings you here today?'}\n \n\n \n\n \n (this.componentRefs[0] = ref)}\n className=\"preappSection1 \"\n >\n \n \n What brings you here today?\n \n \n \n I would like to\n \n \n \n \n \n \n
\n\n {showSelectLO() && (\n
(this.componentRefs[2] = ref)}>\n \n \n
\n Do you currently have a loan officer?\n
\n
\n {\n this.setState({ hasLO: e })\n sessionStorage.setItem('hasLO', e)\n if (e === 'no') {\n sessionStorage.removeItem('loid')\n this.setState({ selectedLOId: '' })\n }\n }}\n value={this.state.hasLO}\n type=\"radio\"\n direction=\"horizontal\"\n style={{ width: '100%' }}\n />\n
\n \n
\n {this.state.hasLO === 'yes' && (\n \n \n
\n Please select your loan officer\n
\n
\n {\n this.setState({ selectedLOId: v })\n sessionStorage.setItem('loid', v)\n }}\n >\n {this.state.loanofficers\n .filter((lo) => !lo.Email.includes( 'noreply'))\n .map((lo) => (\n \n ))}\n \n
\n \n
\n )}\n
\n )}\n\n {showPrice() && (\n
(this.componentRefs[3] = ref)}>\n \n \n
\n What’s your estimated home value?\n
\n
\n \n
\n \n \n \"preappHouse\"\n \n
\n \n \n \n \n \n \n \n \n
\n )}\n \n \n )\n }\n}\n\nPreApp = withRouter(connect(mapStateToProps, mapDispatchToProps)(PreApp))\n\nexport class PreAppEmailVerification extends React.Component {\n constructor(props) {\n super(props)\n\n this.state = {\n loading: false,\n showVerification: false,\n validated: false,\n }\n\n const searchparams = new URLSearchParams(window.location.search)\n\n this.customerid = searchparams.get('customerid')\n this.loid = searchparams.get('loid')\n this.emailref = React.createRef()\n }\n\n onTouch = () => {\n const d = new Date()\n this.props.updateChangeLastTouch(d.toUTCString())\n }\n\n render = () => {\n const companyName = sessionStorage.getItem('companyName')\n const helmet = companyName ? companyName : 'Mortgage Service'\n\n const changeBorrowerInfo = (who, verb) => {\n return (event) => {\n this.onTouch()\n this.props.changeBorrowerInfo(event, who, verb)\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n const form = event.currentTarget\n // console.log(form.checkValidity())\n if (form.checkValidity() === false) {\n event.stopPropagation()\n this.setState({ validated: true })\n return\n }\n this.setState({ showVerification: true })\n this.setState({ validated: true })\n }\n\n const back = (type) => {\n if (type === 1) {\n this.setState({ showVerification: false })\n }\n }\n\n const { firstname, lastname, email } = this.props.application.borrower\n\n return (\n \n
\n \n {helmet + ' - Email Verification'}\n \n\n \n\n \n {!this.state.showVerification ? (\n \n \n \n
\n Save your progress\n
\n
\n
\n \n \n First name\n \n \n \n Please enter your first name.\n \n \n \n \n Last name\n \n \n \n Please enter your last name.\n \n \n \n \n Email\n \n \n \n Please enter a valid email address.\n \n \n *You will be sent a verification code\n
\n \n
\n \n Continue\n \n
\n
\n Already have an account?\n \n (window.location.href = '/services/signin?customerid=' + this.customerid)\n }\n >\n Sign in\n \n
\n \n \n \n ) : (\n <>\n back(type)}\n fromMarketplace={this.fromMarketplace}\n />\n \n )}\n \n \n
\n )\n }\n}\n\nPreAppEmailVerification = withRouter(\n connect(mapStateToProps, mapDispatchToProps)(PreAppEmailVerification)\n)\n","import React from 'react';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\n\nexport default function FaqPage() {\n\n return (\n
\n

F.A.Q.

\n\n\n
\n\n
\n What is the difference between a fixed-rate loan and an adjustable-rate loan?
\n With a fixed-rate mortgage, the interest rate stays the same during the life of the loan. With an adjustable-rate mortgage (ARM), the interest changes periodically, typically in relation to an index. While the monthly payments that you make with a fixed-rate mortgage are relatively stable, payments on an ARM loan will likely change. There are advantages and disadvantages to each type of mortgage, and the best way to select a loan product is by talking to us.\n
\n
\n What documents will be required to close a loan?
\n\n Documents required vary from loan to loan, but generally the following are required, often for up to two years back:\n
    \n
  • statements of income such as W-2’s, pay stubs, financial statements
  • \n
  • bank statements
  • \n
  • a list of any assets that you own
  • \n
  • rental or mortgage history
  • \n
  • employment history and current information
  • \n
  • personal identification, including Green Card if applicable
  • \n
  • purchase contract
  • \n
  • Other pertinent items such as: Bankruptcy Discharge Notice or Divorce Decree\n loan application
  • \n
\n
\n How do I know how much house I can afford?
\n Generally speaking, you can purchase a home with a value of two or three times your annual household income. However, the amount that you can borrow will also depend upon your employment history, credit history, current savings and debts, and the amount of down payment you are willing to make. You may also be able to take advantage of special loan programs for first time buyers to purchase a home with a higher value. Give us a call, and we can help you determine exactly how much you can afford.\n
\n
\n What is a rate lock?
\n A rate lock is a contractual agreement between the lender and buyer. There are four components to a rate lock: loan program, interest rate, points, and the length of the lock.\n
\n\n
\n\n
\n\n\n );\n}\n","import React, { Component } from \"react\";\nimport Toast from 'react-bootstrap/Toast'\n\nimport * as com from './Common';\n\nconst deepcopy = require('deepcopy');\n\nexport default class Notifications extends Component{\n\n constructor(props){\n super(props)\n this.inteval = undefined\n this.state = {\n notifications: []\n }\n }\n\n componentDidMount = () => {\n this.getNotifications()\n this.inteval = setInterval(this.getNotifications, 30 * 1000)\n }\n\n componentWillUnmount = () => {\n clearInterval(this.inteval)\n }\n\n getNotifications = () =>{\n let token = sessionStorage.getItem(\"ZeitroA\")\n fetch(`/borrower/getnotifications`, {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status);\n return;\n }\n response.json().then(js => {\n if(js.Notifications != null && js.Notifications.length !== 0){\n this.setState({notifications: []}, () => this.setState({notifications: js.Notifications}))\n }\n })\n })\n }\n\n handleNotificationClose = (notification, i) => {\n let body = {\n NotificationId: notification.id,\n Closed: new Date()\n }\n let token = sessionStorage.getItem(\"ZeitroA\")\n fetch('/borrower/archivenotification', {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' + response.status);\n return;\n } else {\n let stateCopy = deepcopy(this.state)\n stateCopy.notifications.splice(i, 1)\n this.setState({notifications: stateCopy.notifications})\n }\n })\n }\n\n\n render() {\n let closeNotification = (notification, i) => {\n return e => this.handleNotificationClose(notification, i)\n }\n \n return(\n
\n {this.state.notifications.length !== 0 &&\n this.state.notifications.map((n, i) =>(\n \n \n \"zeitro\"\n

Read me

\n
\n {n.text}\n \n ))\n }\n
\n )\n }\n}","import React, { Component } from 'react';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\nimport { withRouter } from \"react-router-dom\";\nimport {UpdateChangeProgressType} from \"./Store/progress\"\nimport { connect } from 'react-redux'\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n hidden: false,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateChangeProgressType: (step, stage) => {\n dispatch(UpdateChangeProgressType(step, stage))\n }, \n});\n\nexport default class Glossary extends Component {\n\n componentDidMount() {\n this.props.updateChangeProgressType(\"glossary\")\n }\n render = () => {\n return (\n
\n

LOAN DICTIONARY

\n\n

\n 1-9   \n A-C   \n D-F   \n G-I   \n J-L   \n M-O   \n P-R   \n S-T   \n U-Z\n

\n
\n\n

1-9

\n
\n 10/15/30-Year Fixed Mortgage – A fixed-rate home loan with terms lasting 10, 15, or 30 years, depending on which option you choose. The most common loan term is a 30-year fixed rate mortgage.\n
\n
\n 203k Loan – An FHA loan where financing goes toward buying a house and needed home improvements.\n
\n
\n 3/1 ARM – An adjustable-rate mortgage where the mortgage rate is fixed for the first three years of the loan. Mortgage rates adjust annually after the third year.\n
\n
\n 5/1 ARM – An adjustable-rate mortgage that has a fixed mortgage rate for the first five years of the loan term. After, the mortgage rate adjusts annually for the remainder of the loan.\n
\n
\n 80/10/10, 80/15/5 – See Piggyback Loan.\n
\n
\n 100% Loan – A loan where no down payment is required. VA and USDA loans are examples of 100% loans.\n
\n\n

A-C

\n\n
\n Abstract of title –\nA written history of all the transactions related to the title for a specific tract of land. An abstract of title covers the period from the original source of title (often the original land grant from the United States government to an individual) to the present time and summarizes all subsequent documents that have been recorded against that tract.\n
\n\n
\n Adjustable-Rate Mortgage – Also known as an ARM, adjustable-rate mortgages have a variable interest rate. This means that the mortgage rate will be fixed for a set amount of time, then adjust on a regular basis for the remainder of the loan.\n
\n
\n Alt-A Mortgage – A loan that falls somewhere in between “prime” and “subprime” in terms of risk. Alt-A homebuyers generally have higher loan-to-value (LTV) ratios, less income documentation, average credit scores, and additional properties.\n
\n
\n Amortization – The way a loan is paid off one month at a time. With a mortgage, the principal amount paid each month increases, while the interest paid decreases. In other words, at the beginning of the loan, most of your payment is interest. At the end, the payment is mostly principal.\n
\n\n
\n Annual Percentage Rate (APR) – This is the rate that shows the true cost of borrowing. It factors in the interest rate of your loan, plus all the costs associated with obtaining the loan. Comparing APRs from various lenders is a useful way to see whose offer is best.\n
\n
Appraisal – An evaluation of a home to determine its value.\n
\n
Assumption – When one person or party takes on (assumes) an existing mortgage.\n
\n
Balloon Mortgage – A mortgage loan with lower monthly payments and a large sum due at the end of the loan period, as opposed to higher monthly payments with no money due at the end of the loan term.\n
\n
Blanket Mortgage – A mortgage used to purchase more than one property. These are commonly used for buying multiple pieces of land to develop, or for purchasing existing properties with the intent to rent.\n
\n
Bridge Loan – A temporary loan used to “bridge” the time gap when financing is needed but funds are not yet available. These are commonly used when a homeowner wants to buy a new property but first needs to sell their current property.\n
\n
Buy-Down – A buy-down is when you pay your lender a premium in order to lower your mortgage rate.\n
\n
Caps – With ARMs, a cap is a limit to how much your mortgage rate can change. This protects homeowners from experiencing a sudden spike in mortgage payments.\n
\n
Cash-Out Refinance – A refinance loan where the homeowner takes equity out of their home in the form of cash.\n
\n\n
Certificate of Reasonable Value (CRV) – After the VA home appraisal, the VA determines the value of the home with a CRV. This value affects the size of the loan a VA homebuyer will be able to secure.\n
\n\n
Closing – The last step of the homebuying process. This is where you sign your loan documents, release funds from escrow, and receive the keys to your new house.\n
\n\n
Closing Costs – All the fees associated with the loan and purchasing the property. For instance, loan origination, title, escrow, appraisal, recording, and upfront mortgage insurance are all closing costs. Most closing costs are paid out-of-pocket at closing unless the seller has agreed to pay them for you.\n
\n\n
Conforming Loan – A mortgage that conforms to the standards set by Fannie Mae and Freddie Mac, sometimes referred to as a conventional loan.\n
\n\n
Construction Loan – A short-term loan used to secure funding to build a home. These generally have higher interest rates and are often refinanced once the home is completed.\n
\n\n
Contingency – This is basically an “out” that is written into your purchase contract. If conditions of the contingency are not met, you can back out of the transaction and keep your earnest money.\n Example: An inspection contingency is common. If the inspection is not to your standards, then you can cancel your offer with no penalty.\n
\n\n
Conventional Mortgage – A mortgage loan that isn’t guaranteed or insured by the government. Also, referred to as a conforming loan.\n
\n\n
Credit Report – A summary of all your debts. Your creditors, balances, available credit, any late payments, and a number of other factors are listed on your credit report. Lenders review your credit report when considering you for a loan. You are eligible for one free credit report a year from AnnualCreditReport.com by law.\n
\n\n
Credit Score – Your credit history and risk assessment expressed by a number. The three major credit bureaus — Experian, Equifax, and Transunion — have proprietary algorithms to determine your number. The lenders uses your middle score for qualification.\n Example: Your scores from each bureau are 680, 690, and 700. The lender will use 690.\n
\n

D-F

\n\n
Debt-to-Income (DTI) Ratio – The percentage of your expenses compared to your gross income. The front-end ratio (or front ratio) is your proposed housing payment compared to your income. Your back-end ratio (or back ratio) is all your monthly debt payments, plus proposed housing payment compared to your income.\n Example: Your income before taxes is $5,000 per month, and your future house payment is $1,600 per month. You have a student loan payment of $100, a car payment of $200, and a credit card payment of $50. Your DTI is 39%. Your front-end ratio is 32% ($1,600 / $5,000) and your back-end ratio is 39% ($1,950 / $5,000). Another way of expressing your DTI is 32/39.\n
\n
Deed-in-Lieu of Foreclosure – The property is deeded to the lender in order to avoid foreclosure proceedings.\n
\n\n
Deed Of Trust – The deed of trust acts as your loan’s security and is stored in public records. The deed of trust is often signed at closing.\n
\n\n
Delinquency – When you don’t make a monthly payment on your mortgage. Continued delinquency can potentially lead to foreclosure.\n
\n\n
Dependent– Who is a Dependent? A dependent is a person whom the borrower supports financially. In most cases, the dependent is a member of the mortgage applicant's household, with certain exceptions, such as a college student living on campus but being fully supported by his parents. In many cases, an applicant can use the number of dependents listed on the most recent tax return as a guideline when filling out a mortgage application.\n When you’re claiming a dependent who is a child, there are further requirements:\n
    \n
  • The child has to have lived with you for at least half of the year.
  • \n
  • The child has to be related to you as a son, daughter, stepchild, foster child, brother, sister, stepbrother, stepsister, or a descendant of any of those.
  • \n
  • The child must be 18 or younger at the end of the year, or under 24 if a student. To be a student, the child must have attended school full-time during at least five months of the year. The five months don’t have to be in a row.
  • \n
  • The child must be younger than you (or your spouse, if married filing jointly), unless the child is disabled.
  • \n
\n
\n
Discount Point – This is similar to an origination point, but is only allowed to be charged if it’s used to lower your interest rate.\n
\n\n
Down Payment – The amount you pay toward the purchase price of your home.\n
\n\n
Earnest Money – This is the money you pay upfront to show the seller you are serious, or “earnest” about buying their home. The money is held by the escrow company and is applied toward down payment and/or closing costs when the transaction closes. Usually earnest money is between 1% and 3% of the purchase price. You can lose your earnest money, but only by backing out of the purchase contract without the appropriate contingency.\n
\n\n
Escrow – The company that holds and accepts money from all parties involved in the transaction, then distributes it appropriately at closing. You often sign final loan paperwork at the escrow office.\n
\n\n
Fannie Mae – The Federal National Mortgage Association, often called Fannie Mae, is a federal corporation that backs mortgages such as Conventional 97 and HomeReady.\n
\n\n
Freddie Mac – The Federal Home Loan Mortgage Corporation, or Freddie Mac, is a government enterprise that backs mortgages, like the Home Possible Advantage.\n
\n\n
FHA Loan – A mortgage backed by the Federal Housing Administration. FHA loans were created to help lower income homebuyers afford homes.\n
\n\n
First Mortgage – The primary mortgage on a home. Usually this term is only used when a borrower also has a second mortgage.\n
\n\n
Fixed-rate Mortgage – A loan where the interest rate remains the same for the life of the mortgage.\n
\n\n
Float – What happens before you lock your interest rate. When you float your interest rate, you actively watch interest rate fluctuations and wait for a time to lock. If you float your rate, your future monthly mortgage payment could go up if rates go up. Also see Lock.\n
\n\n
Foreclosure – When someone fails to make mortgage payments, banks sell the property elsewhere. This legal process from start to finish is called foreclosure.
\n\n\n

G-I

\n\n
Gift Money – The money you receive from an eligible source (family member, non-profit, etc.) to apply to use as a down payment. You can use gift money on any type of loan, but each loan has its own restrictions.\n
\n\n
Good Faith Estimate (GFE) – This is a document you should receive within 3 days of applying for a loan. It details the fees associated with the mortgage. Take this document with you at loan closing to make sure the fees didn’t change dramatically. For a sample GFE, see our downloadable mortgage forms page.\n
\n\n\n
HARP Loan – A refinance program that helps homeowners with negative equity in their home. The program expired Dec. 31, 2018.\n
\n\n\n\n
Hazard Insurance – See Homeowner’s Insurance.\n
\n\n\n\n
Homeowners Association (HOA) – The organization that creates and maintains the bylaws and rules for a specific housing development, such as a Planned Unit Development (PUD) or condominium project. Homeowners within the community must pay dues to the HOA, usually monthly or yearly.\n
\n\n\n\n
Homeowners Insurance – The insurance policy that insures the home being purchased in the case of fire or other hazards.\n
\n\n\n\n
HOA/HOA Dues – See Homeowners Association.\n
\n\n\n\n
Home Equity – The total value of the property minus the amount currently owed. A $400,000 home with $300,000 remaining on the mortgage has earned $100,000 in home equity.\n
\n\n\n\n
Home Equity Line of Credit (HELOC) – A mortgage loan that is backed by the current equity in your home. Essentially, you can take money out of your home equity, but will need to repay it plus interest.\n
\n\n\n\n
HUD/HUD1 – You receive this document when you sign final loan paperwork at escrow. It breaks down all the fees associated with the loan and tells you the final dollar amount you need to pay to close the loan.\n
\n\n\n\n
Impound Account – An account set up by a mortgage company to hold your tax and insurance payments.\n\n\n\n
\n\n\n\n
Index – Rate averages that determine the interest rate of an ARM after the initial fixed period. See also ARM and Margin.\n\n\n\n
\n\n\n\n
Interest-Only Mortgage – A mortgage where the homebuyer only pays interest and not principal for a fixed term (usually around 5 years). When paying the principal is added, the monthly payment will increase, sometimes significantly.\n\n\n\n
\n\n\n\n
Investment Property – Property you own but don’t occupy, instead renting it out to generate income or preparing it to sell.\n\n
\n\n

J-L

\n\n\n\n\n
Jumbo Loan – A loan that exceeds the conforming limits set by Freddie Mac and Fannie Mae, so not backed by the government. Rather, private banks issue and approve jumbo loans.\n\n\n\n
\n\n\n\n
Lender Credit – A credit given to the homebuyer from the lender in exchange for accepting a higher mortgage rate.\n\n\n\n
\n\n\n\n
Lender-Paid Mortgage Insurance – Mortgage insurance that is covered by the lender in exchange for a higher mortgage rate.\n\n\n\n
\n\n\n\n
Letter of Explanation – A document that provides the mortgage underwriter with extra information they may need for the mortgage to get approved.\n\n\n\n
\n\n\n\n
Lien – The bank’s claim on a property until the debt (aka the mortgage loan) is paid off.\n\n\n\n
\n\n\n\n
Loan Officer – Act as the liaison between the homebuyer and the bank to ensure completion of the loan.\n\n\n\n
\n\n\n\n
Loan Originator – Another term for a loan officer.\n\n\n\n
\n\n\n\n
Loan Processor – The person who prepares and organizes the necessary files for the mortgage.\n\n\n\n
\n\n\n\n
Loan-to-Value (LTV) Ratio – The percentage of your loan amount compared to the home’s value and/or purchase price.\n\n\n\n Example: If you put 5% down on a $200,000 home, then your loan amount is $190,000 and your LTV is 95%.\n\n
\n\n\n\n
Lock – The act of securing an interest rate on a loan. After a lock, future rate fluctuations in the market won’t affect the interest rate on your loan. See also Float.\n\n\n
\n

M-O

\n\n\n\n\n
Margin – The amount of extra interest the lender charges when an ARM starts adjusting. The margin and the index are added to determine the rate you pay when the ARM’s fixed period ends.\n\n\n\n
\n\n\n\n
Mortgage – A loan on a property for which the payments will retire the debt at the end of the loan term.\n\n\n\n
\n\n\n\n
Mortgage Banker/Mortgage Lender – Unlike a mortgage broker, this company actually lends the money for a mortgage loan, as well as takes the borrower’s application and processes the loan. See Mortgage Broker.\n\n\n\n
\n\n\n\n
Mortgage Broker – A company or individual that takes a loan application then selects a bank to fund the loan. The broker sends the loan to a bank, and the bank lends the money. The bank pays the mortgage broker for sending the loan.\n\n\n\n
\n\n\n\n
Mortgage Discount Points – Homebuyers can lower their mortgage rate at closing by paying mortgage discount points.\n\n\n\n
\n\n\n\n
Mortgage Insurance – Loan insurance is required on most mortgages that don’t have a large enough down payment. VA loans do not require mortgage insurance, since they are backed by the VA. In some cases, mortgage insurance can be removed from the loan once a specific equity is earned.\n\n\n\n
\n\n\n\n
Mortgage Payment – The monthly payment you make on your home loan, which includes principal, interest, taxes, and insurance. See PITI.\n\n\n\n
\n\n\n\n
Mortgage Principal – The total amount to be paid on your home, not including interest.\n\n\n\n
\n\n\n\n
Mortgage Rate – The interest rate for your home loan.\n\n\n\n
\n\n\n\n
Mortgage Rate Lock – Choosing a mortgage rate and locking it in so it won’t change. See Lock.\n\n\n\n
\n\n\n\n
Mortgage Term – The length, or life, of the mortgage. Common loan terms are 15 or 30 years.\n\n\n\n
\n\n\n\n
Mortgage Underwriter – Someone who works for the lender that decides whether your home loan is approved.\n\n\n\n
\n\n\n\n
Origination Point – The fee you pay the lender for approving the loan. A point is equal to 1% of the loan amount and is paid at closing with your other closing costs. It may also be paid by the seller if it’s negotiated into the purchase contract.\n
\n\n\n

P-R

\n\n\n\n\n
Pre-approval – This occurs after you submit a mortgage application and lets you know exactly how large a loan you qualify for.\n\n\n\n
\n\n\n\n
Pre-qualification – The first step in the mortgage process where you supply information on your income, credit score, and debt to get a general idea of how large a loan you could qualify for.\n\n\n\n
\n\n\n\n
P&I – The principle and interest payment on a home loan not including taxes, insurance, or HOA dues (if applicable).\n\n\n\n
\n\n\n\n
Piggyback Loan – When a borrower opens a first and second mortgage simultaneously when buying a home, usually to avoid private mortgage insurance. See 80/10/10.\n\n\n\nExample: You buy a home for $200,000. You open a first mortgage for $160,000 and a second mortgage for $20,000, and put $20,000 down. Since your first mortgage is at 80% loan-to-value, you don’t need mortgage insurance.\n\n
\n\n\n\n
PITI – This represents the homebuyer’s entire monthly payment. It stands for principal, interest, taxes, and insurance.\n\n\n\n
\n\n\n\n
Prepayment Penalty – The penalty a borrower must pay if the loan is paid off within a short period of time. FHA, VA, USDA, and conventional mortgages typically do not have a prepayment penalty.\n\n\n\n
\n\n\n\n
Private Mortgage Insurance (PMI) – The insurance policy that covers your mortgage lender in case you default on the loan. You pay for this policy monthly whenever you put less than 20% down on a conventional mortgage.\n\n\n\n
\n\n\n\n
Processing – The loan processor puts your loan file together so that it is complete prior to the underwriting process. See Underwriting.\n\n\n\n
\n\n\n\n
Reverse Mortgage – A loan where you can tap into your home equity without adding to monthly payments. You must be 62 years old or older to be eligible.\n\n\n
\n

S-T\n

\n\n\n\n\n
Second Mortgage – A lien that is second priority to a first mortgage on a home. Second mortgages usually have higher interest rates, since they are higher-risk loans. They are often used to help the borrower avoid private mortgage insurance. See Piggyback Loan.\n\n\n\n
\n\n\n\n
Short Sale – In lieu of a foreclosure the homeowner sells their home for less than the amount left on the mortgage.\n\n\n\n
\n\n\n\n
Stated Income Mortgage – A mortgage loan where you don’t have to supply your income information.\n\n\n\n
\n\n\n\n
Streamline Refinance – A refinance that requires less documentation than other refinance options. You cannot take out cash with a streamline refinance. See Cash-out Refinance.\n\n\n\n
\n\n\n\n
Term – The length of the loan, expressed in years or months.\n\n\n\n
\n\n\n\n
Title & Title Insurance – The title is the document that shows ownership history, the outstanding debts that are tied to the property, and current ownership. Title insurance protects you and the lender against any previous owner who claims rights to the property.\n
\n\n\n\n
Truth in Lending (TIL) – You should receive this document within 3 days of applying for the loan. It tells you the loan’s APR, whether it has a prepayment penalty, and the loan terms, among others. For a sample TIL, see our downloadable mortgage forms page.\n
\n\n\n

U-Z

\n\n\n\n\n
Underwriting – The process of verifying that the borrower’s documentation adheres to a specific loan program’s guidelines.\n
\n\n\n\n
USDA Loan – The US Department of Agriculture (USDA) loan, or Rural Housing Mortgage, is a loan with no down payment requirement. Eligible homes are restricted to rural areas and income limits.\n
\n\n\n\n
VA Mortgage – The Veterans Affairs mortgage is a no-money down, low interest rate loan available only to veterans and active-duty military members. The loan is backed by the VA and does not require mortgage insurance.\n\n\n\n
\n\n\n\n
Zero-down Mortgage – A mortgage that doesn’t require a down payment at closing.\n\n
\n
\n
\n\n )\n }\n}\n\nGlossary = withRouter(connect(mapStateToProps, mapDispatchToProps)(Glossary))","import React, {Component} from 'react';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport * as com from \"./Common.js\"\nimport './App.css';\nimport { getCurrentState } from './Store'\nimport { Spinner } from 'react-bootstrap';\nimport { connect } from 'react-redux'\n\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n\n});\n\n\nclass LogoutPage extends Component {\n\n componentDidMount = () => {\n let logoutpath = com.redirectPublicWebsite()\n if (com.getCustomerId() === \"individualcustomers\") {\n logoutpath = sessionStorage.getItem(\"logoutpath\")\n } \n if (window.location.href.includes(\"localhost\")) {\n logoutpath=\"http://localhost:3000/services/signin?customerid=zeitro\"\n }\n // getCurrentState()\n window.setTimeout( () => {\n window.sessionStorage.removeItem(\"ZeitroA\")\n window.sessionStorage.removeItem(\"state\") \n window.sessionStorage.removeItem(\"originalstate\") \n window.sessionStorage.removeItem(\"f1003\") \n window.sessionStorage.removeItem(\"newcustomer\") \n\n window.location.href = window.location.href = logoutpath\n }, 500 ) \n }\n render = () => {\n\n return (\n\n
\n \n
\n\n )\n }\n}\n\n\n\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(LogoutPage)","import * as com from '../../Common'\n\n// Step types\nconst APPLICATION_STEP_TYPES = {\n PERSONAL: 'Personal',\n SUBJECT_PROPERTY: 'Subject property',\n INCOME: 'Income',\n FINANCE: 'Finance',\n DECLARATIONS: 'Declarations',\n}\n\n// Menu items\nconst STEP_MENU_ITEMS = {\n YOUR_INFO: 'Your info',\n CURRENT_RESIDENCE: 'Current residence',\n EMPLOYMENT: 'Employment',\n OTHER_INCOME: 'Other income',\n ASSETS: 'Assets',\n CREDIT_CHECK: 'Real estate',\n LIABILITIES: 'Liabilities',\n PROPERTY_MONEY: 'Property & money',\n FINANCES: 'Finances',\n}\n\n// Applicant step IDs\nexport const APPLICANT_STEP_IDS = {\n PERSONAL: 1,\n YOUR_INFO: com.stageToNumberApplication.applicant,\n CURRENT_RESIDENCE: com.stageToNumberApplication.residence,\n SUBJECT_PROPERTY: com.stageToNumberApplication.property,\n INCOME: 4.5,\n EMPLOYMENT: com.stageToNumberApplication.income,\n OTHER_INCOME: com.stageToNumberApplication.income + 1,\n FINANCE: 6.5,\n ASSETS: com.stageToNumberApplication.assets,\n CREDIT_CHECK: com.stageToNumberApplication.creditcheck,\n LIABILITIES: com.stageToNumberApplication.liabilities,\n DECLARATIONS: 9.5,\n PROPERTY_MONEY: com.stageToNumberApplication.propertymoney,\n FINANCES: com.stageToNumberApplication.finances,\n}\n\n// Co-borrower step IDs\nexport const CO_BORROWER_STEP_IDS = {\n PERSONAL: 11.5,\n YOUR_INFO: com.stageToNumberApplication.coborrower,\n CURRENT_RESIDENCE: com.stageToNumberApplication.coborrower + 1,\n SUBJECT_PROPERTY: com.stageToNumberApplication.coborrower + 2,\n INCOME: 14.5,\n EMPLOYMENT: com.stageToNumberApplication.coborrower + 3,\n OTHER_INCOME: com.stageToNumberApplication.coborrower + 4,\n FINANCE: 16.5,\n ASSETS: com.stageToNumberApplication.coborrower + 5,\n CREDIT_CHECK: com.stageToNumberApplication.coborrower + 6,\n LIABILITIES: com.stageToNumberApplication.coborrower + 7,\n DECLARATIONS: 19.5,\n PROPERTY_MONEY: com.stageToNumberApplication.coborrower + 8,\n FINANCES: com.stageToNumberApplication.coborrower + 9,\n}\n\n// Base paths\nconst INTERVIEW_BASE_PATH = '/application/interview/main'\n\n// Applicant flow steps\nexport const APPLICANT_FLOW_STEPS = [\n {\n type: APPLICATION_STEP_TYPES.PERSONAL,\n id: APPLICANT_STEP_IDS.PERSONAL,\n path: `${INTERVIEW_BASE_PATH}/applicant`,\n list: [\n {\n menu: STEP_MENU_ITEMS.YOUR_INFO,\n path: `${INTERVIEW_BASE_PATH}/applicant`,\n id: APPLICANT_STEP_IDS.YOUR_INFO,\n },\n {\n menu: STEP_MENU_ITEMS.CURRENT_RESIDENCE,\n path: `${INTERVIEW_BASE_PATH}/residence`,\n id: APPLICANT_STEP_IDS.CURRENT_RESIDENCE,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.SUBJECT_PROPERTY,\n path: `${INTERVIEW_BASE_PATH}/property`,\n id: APPLICANT_STEP_IDS.SUBJECT_PROPERTY,\n },\n {\n type: APPLICATION_STEP_TYPES.INCOME,\n path: `${INTERVIEW_BASE_PATH}/income`,\n id: APPLICANT_STEP_IDS.INCOME,\n list: [\n {\n menu: STEP_MENU_ITEMS.EMPLOYMENT,\n path: `${INTERVIEW_BASE_PATH}/income`,\n id: APPLICANT_STEP_IDS.EMPLOYMENT,\n },\n {\n menu: STEP_MENU_ITEMS.OTHER_INCOME,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.income + 1}`,\n id: APPLICANT_STEP_IDS.OTHER_INCOME,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.FINANCE,\n path: `${INTERVIEW_BASE_PATH}/assets`,\n id: APPLICANT_STEP_IDS.FINANCE,\n list: [\n {\n menu: STEP_MENU_ITEMS.ASSETS,\n path: `${INTERVIEW_BASE_PATH}/assets`,\n id: APPLICANT_STEP_IDS.ASSETS,\n },\n {\n menu: STEP_MENU_ITEMS.CREDIT_CHECK,\n path: `${INTERVIEW_BASE_PATH}/creditcheck`,\n id: APPLICANT_STEP_IDS.CREDIT_CHECK,\n },\n {\n menu: STEP_MENU_ITEMS.LIABILITIES,\n path: `${INTERVIEW_BASE_PATH}/liabilities`,\n id: APPLICANT_STEP_IDS.LIABILITIES,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.DECLARATIONS,\n path: `${INTERVIEW_BASE_PATH}/propertymoney`,\n id: APPLICANT_STEP_IDS.DECLARATIONS,\n list: [\n {\n menu: STEP_MENU_ITEMS.PROPERTY_MONEY,\n path: `${INTERVIEW_BASE_PATH}/propertymoney`,\n id: APPLICANT_STEP_IDS.PROPERTY_MONEY,\n },\n {\n menu: STEP_MENU_ITEMS.FINANCES,\n path: `${INTERVIEW_BASE_PATH}/finances`,\n id: APPLICANT_STEP_IDS.FINANCES,\n },\n ],\n },\n]\n\n// Co-borrower flow steps\nexport const CO_BORROWER_FLOW_STEPS = [\n {\n type: APPLICATION_STEP_TYPES.PERSONAL,\n id: CO_BORROWER_STEP_IDS.PERSONAL,\n path: `${INTERVIEW_BASE_PATH}/coborrower`,\n list: [\n {\n menu: STEP_MENU_ITEMS.YOUR_INFO,\n path: `${INTERVIEW_BASE_PATH}/coborrower`,\n id: CO_BORROWER_STEP_IDS.YOUR_INFO,\n },\n {\n menu: STEP_MENU_ITEMS.CURRENT_RESIDENCE,\n path: `${INTERVIEW_BASE_PATH}/${\n com.stageToNumberApplication.coborrower + 1\n }`,\n id: CO_BORROWER_STEP_IDS.CURRENT_RESIDENCE,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.SUBJECT_PROPERTY,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 2}`,\n id: CO_BORROWER_STEP_IDS.SUBJECT_PROPERTY,\n },\n {\n type: APPLICATION_STEP_TYPES.INCOME,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 3}`,\n id: CO_BORROWER_STEP_IDS.INCOME,\n list: [\n {\n menu: STEP_MENU_ITEMS.EMPLOYMENT,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 3}`,\n id: CO_BORROWER_STEP_IDS.EMPLOYMENT,\n },\n {\n menu: STEP_MENU_ITEMS.OTHER_INCOME,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 4}`,\n id: CO_BORROWER_STEP_IDS.OTHER_INCOME,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.FINANCE,\n path: `${INTERVIEW_BASE_PATH}/${\n com.stageToNumberApplication.coborrower + 5\n }`,\n id: CO_BORROWER_STEP_IDS.FINANCE,\n list: [\n {\n menu: STEP_MENU_ITEMS.ASSETS,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 5}`,\n id: CO_BORROWER_STEP_IDS.ASSETS,\n },\n {\n menu: STEP_MENU_ITEMS.CREDIT_CHECK,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 6}`,\n id: CO_BORROWER_STEP_IDS.CREDIT_CHECK,\n },\n {\n menu: STEP_MENU_ITEMS.LIABILITIES,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 7}`,\n id: CO_BORROWER_STEP_IDS.LIABILITIES,\n },\n ],\n },\n {\n type: APPLICATION_STEP_TYPES.DECLARATIONS,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 8}`,\n id: CO_BORROWER_STEP_IDS.DECLARATIONS,\n list: [\n {\n menu: STEP_MENU_ITEMS.PROPERTY_MONEY,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 8}`,\n id: CO_BORROWER_STEP_IDS.PROPERTY_MONEY,\n },\n {\n menu: STEP_MENU_ITEMS.FINANCES,\n path: `${INTERVIEW_BASE_PATH}/${com.stageToNumberApplication.coborrower + 9}`,\n id: CO_BORROWER_STEP_IDS.FINANCES,\n },\n ],\n },\n]\n","import { useCallback, useMemo, useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport { Link } from 'react-router-dom'\nimport * as com from '../../Common'\nimport { APPLICANT_FLOW_STEPS, APPLICANT_STEP_IDS, CO_BORROWER_STEP_IDS, CO_BORROWER_FLOW_STEPS } from '../constants/sidebar'\n\nfunction StepApplication(props) {\n const progress = useSelector((state) => state.progress)\n const application = useSelector((state) => state.application)\n\n const step = useMemo(() => progress.interview.step, [progress])\n const isCoborrower = useMemo(() => step >= com.stageToNumberApplication.coborrower, [step])\n const stepIDs = useMemo(() => {\n if (isCoborrower) {\n return CO_BORROWER_STEP_IDS\n }\n return APPLICANT_STEP_IDS\n }, [isCoborrower])\n\n const flowSteps = useMemo(() => {\n if (isCoborrower) {\n return CO_BORROWER_FLOW_STEPS\n }\n return APPLICANT_FLOW_STEPS\n }, [isCoborrower])\n /*\n * Get the parent node ID corresponding to the step\n */\n const getParentNodeId = useCallback((step) => {\n const parentSteps = [\n {\n id: stepIDs.PERSONAL,\n nextId: stepIDs.SUBJECT_PROPERTY,\n },\n {\n id: stepIDs.SUBJECT_PROPERTY,\n nextId: stepIDs.INCOME,\n },\n {\n id: stepIDs.INCOME,\n nextId: stepIDs.FINANCE,\n },\n {\n id: stepIDs.FINANCE,\n nextId: stepIDs.DECLARATIONS,\n },\n {\n id: stepIDs.DECLARATIONS,\n nextId: Number.MAX_SAFE_INTEGER,\n },\n ]\n\n for (const { id, nextId } of parentSteps) {\n if (step > id && step < nextId) {\n return id\n }\n }\n\n return stepIDs.PERSONAL\n }, [stepIDs.DECLARATIONS, stepIDs.FINANCE, stepIDs.INCOME, stepIDs.PERSONAL, stepIDs.SUBJECT_PROPERTY])\n\n const [subMenuVisibility, setSubMenuVisibility] = useState(() => {\n if (step === stepIDs.SUBJECT_PROPERTY) {\n return {\n [stepIDs.PERSONAL]: false,\n [stepIDs.SUBJECT_PROPERTY]: false,\n [stepIDs.INCOME]: false,\n [stepIDs.FINANCE]: false,\n [stepIDs.DECLARATIONS]: false,\n }\n }\n const parentNodeId = getParentNodeId(step)\n const initialState = {\n [stepIDs.PERSONAL]: false,\n [stepIDs.SUBJECT_PROPERTY]: false,\n [stepIDs.INCOME]: false,\n [stepIDs.FINANCE]: false,\n [stepIDs.DECLARATIONS]: false,\n [parentNodeId]: true,\n }\n return initialState\n })\n\n const isStepCompleted = useCallback(\n (stepKey) => {\n if (isCoborrower) {\n const { [stepKey]: stepValue } = application.coborrower.completedsteps\n if (!stepValue) return false\n } else {\n const { [stepKey]: stepValue } = application.borrower.completedsteps\n if (!stepValue) return false\n }\n\n return true\n },\n [application.borrower.completedsteps, application.coborrower.completedsteps, isCoborrower]\n )\n\n const handleParentClick = useCallback((e, id) => {\n e.preventDefault()\n setSubMenuVisibility((prev) => ({ ...prev, [id]: !prev[id] }))\n }, [])\n\n const isYourInfoCompleted = useMemo(() => isStepCompleted('yourinfo'), [isStepCompleted])\n const isResidenceCompleted = useMemo(() => isStepCompleted('residence'), [isStepCompleted])\n const isPropertyCompleted = useMemo(() => isStepCompleted('property', false), [isStepCompleted])\n const isEmploymentCompleted = useMemo(() => isStepCompleted('employment'), [isStepCompleted])\n const isOtherIncomeCompleted = useMemo(() => isStepCompleted('otherincome'), [isStepCompleted])\n const isAssetsCompleted = useMemo(() => isStepCompleted('assets', false), [isStepCompleted])\n const isCreditCheckCompleted = useMemo(() => isStepCompleted('creditcheck', false), [isStepCompleted])\n const isLiabilitiesCompleted = useMemo(() => isStepCompleted('liabilities', false), [isStepCompleted])\n const isPropertyMoneyCompleted = useMemo(() => isStepCompleted('propertymoney', false), [isStepCompleted])\n const isFinancesCompleted = useMemo(() => isStepCompleted('finances', false), [isStepCompleted])\n\n const getStepStatus = useCallback((id, completedStates) => {\n const allCompleted = completedStates.every((state) => state)\n const someCompleted = completedStates.some((state) => state)\n\n if (allCompleted) {\n return {\n icon: (\n
\n \n
\n ),\n textColor: '#2E605A',\n }\n }\n if (someCompleted) {\n return {\n icon: (\n
\n
\n
\n ),\n textColor: '#222222',\n }\n }\n return {\n icon:
,\n textColor: '#586570',\n }\n }, [])\n\n const StepCircleIcon = useCallback(\n ({ id }) => {\n const stepStatusMap = {\n [stepIDs.PERSONAL]: [isYourInfoCompleted, isResidenceCompleted],\n [stepIDs.SUBJECT_PROPERTY]: [isPropertyCompleted],\n [stepIDs.INCOME]: [isEmploymentCompleted, isOtherIncomeCompleted],\n [stepIDs.FINANCE]: [isAssetsCompleted, isCreditCheckCompleted, isLiabilitiesCompleted],\n [stepIDs.DECLARATIONS]: [isPropertyMoneyCompleted, isFinancesCompleted],\n }\n\n const { icon } = getStepStatus(id, stepStatusMap[id] || [])\n return icon\n },\n [\n stepIDs.PERSONAL,\n stepIDs.SUBJECT_PROPERTY,\n stepIDs.INCOME,\n stepIDs.FINANCE,\n stepIDs.DECLARATIONS,\n isYourInfoCompleted,\n isResidenceCompleted,\n isPropertyCompleted,\n isEmploymentCompleted,\n isOtherIncomeCompleted,\n isAssetsCompleted,\n isCreditCheckCompleted,\n isLiabilitiesCompleted,\n isPropertyMoneyCompleted,\n isFinancesCompleted,\n getStepStatus,\n ]\n )\n\n const stepTextColor = useCallback(\n (id) => {\n const stepStatusMap = {\n [stepIDs.PERSONAL]: [isYourInfoCompleted, isResidenceCompleted],\n [stepIDs.SUBJECT_PROPERTY]: [isPropertyCompleted],\n [stepIDs.INCOME]: [isEmploymentCompleted, isOtherIncomeCompleted],\n [stepIDs.FINANCE]: [isAssetsCompleted, isCreditCheckCompleted, isLiabilitiesCompleted],\n [stepIDs.DECLARATIONS]: [isPropertyMoneyCompleted, isFinancesCompleted],\n }\n\n const { textColor } = getStepStatus(id, stepStatusMap[id] || [])\n return textColor\n },\n [\n stepIDs.PERSONAL,\n stepIDs.SUBJECT_PROPERTY,\n stepIDs.INCOME,\n stepIDs.FINANCE,\n stepIDs.DECLARATIONS,\n isYourInfoCompleted,\n isResidenceCompleted,\n isPropertyCompleted,\n isEmploymentCompleted,\n isOtherIncomeCompleted,\n isAssetsCompleted,\n isCreditCheckCompleted,\n isLiabilitiesCompleted,\n isPropertyMoneyCompleted,\n isFinancesCompleted,\n getStepStatus,\n ]\n )\n\n const menuTextStyle = useCallback(\n (id) => {\n const yourInfo = isCoborrower ? com.stageToNumberApplication.coborrower : com.stageToNumberApplication.applicant\n const currentResidence = isCoborrower ? com.stageToNumberApplication.coborrower + 1 : com.stageToNumberApplication.applicant + 1\n const property = isCoborrower ? com.stageToNumberApplication.coborrower + 2 : com.stageToNumberApplication.property\n const employment = isCoborrower ? com.stageToNumberApplication.coborrower + 3 : com.stageToNumberApplication.income\n const otherIncome = isCoborrower ? com.stageToNumberApplication.coborrower + 4 : com.stageToNumberApplication.income + 1\n const assets = isCoborrower ? com.stageToNumberApplication.coborrower + 5 : com.stageToNumberApplication.assets\n const creditCheck = isCoborrower ? com.stageToNumberApplication.coborrower + 6 : com.stageToNumberApplication.creditcheck\n const liabilities = isCoborrower ? com.stageToNumberApplication.coborrower + 7 : com.stageToNumberApplication.liabilities\n const propertyMoney = isCoborrower ? com.stageToNumberApplication.coborrower + 8 : com.stageToNumberApplication.propertymoney\n const finances = isCoborrower ? com.stageToNumberApplication.coborrower + 9 : com.stageToNumberApplication.finances\n\n const completedStepMap = {\n [stepIDs.YOUR_INFO]: step === yourInfo,\n [stepIDs.CURRENT_RESIDENCE]: step === currentResidence,\n [stepIDs.PROPERTY]: step === property,\n [stepIDs.EMPLOYMENT]: step === employment,\n [stepIDs.OTHER_INCOME]: step === otherIncome,\n [stepIDs.ASSETS]: step === assets,\n [stepIDs.CREDIT_CHECK]: step === creditCheck,\n [stepIDs.LIABILITIES]: step === liabilities,\n [stepIDs.PROPERTY_MONEY]: step === propertyMoney,\n [stepIDs.FINANCES]: step === finances,\n }\n\n return completedStepMap[id]\n ? { color: '#325CEB', fontWeight: 500 }\n : { color: '#586570', fontWeight: 400 }\n },\n [\n isCoborrower,\n step,\n stepIDs.ASSETS,\n stepIDs.CURRENT_RESIDENCE,\n stepIDs.EMPLOYMENT,\n stepIDs.FINANCES,\n stepIDs.LIABILITIES,\n stepIDs.CREDIT_CHECK,\n stepIDs.OTHER_INCOME,\n stepIDs.PROPERTY,\n stepIDs.PROPERTY_MONEY,\n stepIDs.YOUR_INFO,\n ]\n )\n\n return (\n
\n {flowSteps.map((item, index) => {\n const isSubjectPropertyActive = item.id === stepIDs.SUBJECT_PROPERTY && step === stepIDs.SUBJECT_PROPERTY\n return (\n
\n
\n \n
\n item.id !== stepIDs.SUBJECT_PROPERTY && handleParentClick(e, item.id)}\n style={{ color: isSubjectPropertyActive && !isPropertyCompleted ? '#325CEB' : stepTextColor(item.id) }}\n >\n {item.type}\n \n
\n
\n {subMenuVisibility[item.id] && (\n
\n {item.list.map((subItem, subIndex) => (\n
\n \n {subItem.menu}\n \n
\n ))}\n
\n )}\n
\n )\n })}\n
\n )\n}\n\nexport default StepApplication\n","import React, { Component } from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport '../App.css';\n\nimport Spinner from 'react-bootstrap/Spinner'\nimport { connect } from 'react-redux'\nimport Modal from 'react-bootstrap/Modal'\nimport Button from 'react-bootstrap/Button'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport * as com from '../Common'\nimport { Input, Space, Table, Tag, ConfigProvider, Tooltip, Spin } from 'antd';\nimport { DownloadOutlined, DeleteOutlined } from \"@ant-design/icons\";\nimport \"./Documents.css\"\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n});\nclass DocumentManager extends Component {\n\n dateSortFunction = (a, b, order, dataField) => {\n if (a === '') {\n a = '01/01/1000'\n }\n if (b === '') {\n b = '01/01/1000'\n }\n if (a === '01/01/1000' && b === '01/01/1000') {\n b = '01/02/1000'\n }\n let at = new Date(a)\n at = at.getTime()\n let bt = new Date(b)\n bt = bt.getTime()\n\n\n if (order === 'asc') {\n return (at - bt) < 0 ? -1 : 1\n } else {\n return (at - bt) < 0 ? 1 : -1\n }\n }\n\n constructor(props) {\n super(props);\n this.state = {\n documents: [],\n url: \"\",\n download: \"\",\n show: false,\n modalTitle: \"\",\n index: 0,\n id: 0,\n loadingIds: [],\n }\n this.aref = React.createRef();\n this.download = this.download.bind(this);\n this.columns = [\n {\n dataField: 'progress',\n text: '',\n },\n {\n dataField: 'document',\n text: 'Document:',\n sort: true,\n classes: 'divlink',\n events: {\n onClick: (e, column, columnIndex, row, rowIndex) => {\n this.download(row.id, row.index)\n },\n }\n },\n {\n dataField: 'comment',\n text: 'Comment:',\n sort: true\n }, {\n dataField: 'forwhom',\n text: 'For Whom:',\n sort: true\n }, {\n dataField: 'created',\n text: 'Created',\n sortFunc: this.dateSortFunction,\n sort: true\n }, {\n /*\n dataField: 'delete',\n text: 'Delete',\n classes: 'divlink',\n events: {\n onClick: (e, column, columnIndex, row, rowIndex) => {\n\n this.onShow(row.index)\n },\n }\n }, { */\n dataField: 'id',\n text: 'id',\n hidden: true,\n }, {\n dataField: 'index',\n text: 'index',\n hidden: true,\n },\n ];\n }\n componentDidMount() {\n this.reload()\n }\n\n forWhomDecoded = (_forwhom) => {\n let forwhom = \"\"\n if (_forwhom === \"joint\" && this.props.application.hascoborrower === \"alone\") {\n _forwhom = \"borrower\"\n }\n try {\n switch (_forwhom) {\n case 'borrower':\n forwhom = this.props.application.borrower.firstname + \" \" +\n this.props.application.borrower.lastname\n break\n case 'coborrower':\n forwhom = this.props.application.coborrower.firstname + \" \" +\n this.props.application.coborrower.lastname\n break;\n case 'joint':\n forwhom = this.props.application.borrower.firstname + \" \" +\n this.props.application.borrower.lastname + \" and \" + this.props.application.coborrower.firstname + \" \" +\n this.props.application.coborrower.lastname\n break;\n default:\n forwhom = _forwhom\n break;\n }\n } catch (x) {\n forwhom = _forwhom\n }\n return forwhom\n }\n\n documentsJSON = (document, index) => {\n return {\n progress: 0) && (document.progress < 100)) ? \"border\" : \"\"} />,\n document: document.name,\n comment: document.comment,\n forwhom: this.forWhomDecoded(document.forwhom),\n created: document.created.toLocaleString(),\n delete: 'Delete',\n index: index,\n id: document.id,\n }\n }\n reload = () => {\n let token = sessionStorage.getItem(\"ZeitroA\")\n fetch('/docs/documents', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status);\n window.document.dispatchEvent(new Event('reauthenticate'), \"\");\n\n return;\n }\n // Examine the text in the response\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n console.log(\"Error: \" + js.Text)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\");\n\n } else {\n let docs = js.Docs.map(s => {\n\n let dt = new Date(com.timeGoToJS(s.Uploaded))\n\n return { rand: Math.random(), id: s.ID, name: s.FileName, comment: s.Comment, mime: s.Mime, forwhom: s.ForWhom, created: dt.toLocaleString(\"en-US\"), progress: 0 }\n })\n this.setState({ documents: docs })\n }\n\n });\n }\n )\n .catch(function (err) {\n console.log('Fetch Error :', err);\n });\n }\n delete = (id) => {\n let token = sessionStorage.getItem(\"ZeitroA\")\n\n fetch('/docs/deletedoc/' + id, {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status);\n window.document.dispatchEvent(new Event('reauthenticate'), \"\");\n this.setState({ show: false })\n return;\n }\n // Examine the text in the response\n response.json().then(js => {\n\n if (js.Status !== \"OK\") {\n window.document.dispatchEvent(new Event('reauthenticate'), \"\");\n console.log(\"Error: \" + js.Text)\n } else {\n }\n this.setState({ show: false })\n this.reload()\n });\n }\n )\n .catch(function (err) {\n this.setState({ show: false })\n console.log('Fetch Error :', err);\n });\n }\n download = (id, index) => {\n let token = sessionStorage.getItem(\"ZeitroA\")\n\n let disposition\n let docs = this.state.documents\n docs[index] = { ...docs[index], rand: Math.random(), progress: 1 }\n this.setState({ documents: Array.from(docs)})\n this.setState((prevState) => ({\n loadingIds: [...prevState.loadingIds, id],\n }))\n fetch('/docs/downloaddoc/' + id, {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n }\n }).then(response => {\n if (response.status !== 200) {\n this.setState((prevState) => ({\n loadingIds: prevState.loadingIds.filter((loadingId) => loadingId !== id),\n }))\n alert('Looks like there was a problem. Please try again later.' )\n return\n }\n\n disposition = response.headers.get(\"Content-Disposition\").split('=')\n\n return response.body\n })\n .then(body => {\n if (!body) {\n throw new Error(`HTTP error! `);\n }\n\n const reader = body.getReader();\n\n return new ReadableStream({\n start(controller) {\n return pump();\n\n function pump() {\n return reader.read().then(({ done, value }) => {\n // When no more data needs to be consumed, close the stream\n if (done) {\n controller.close();\n return;\n }\n\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n return pump();\n });\n }\n }\n })\n })\n .then(stream => new Response(stream))\n .then(r => r.blob())\n .then(blob => {\n\n let docs = this.state.documents\n docs[index] = { ...docs[index], rand: Math.random(), progress: 0 }\n this.setState({ documents: docs })\n\n let download = disposition.slice(1).join().replace(/\"/g, '')\n\n const url = window.URL.createObjectURL(blob);\n this.setState({ url: url, download: download})\n this.setState((prevState) => ({\n loadingIds: prevState.loadingIds.filter((loadingId) => loadingId !== id),\n }))\n this.aref.current.click()\n this.forceUpdate();\n })\n .catch(err=> {\n console.log('Fetch Error :', err);\n let docs = this.state.documents\n docs[index] = { ...docs[index], rand: Math.random(), progress: 0 }\n this.setState({ documents: docs})\n this.setState((prevState) => ({\n loadingIds: prevState.loadingIds.filter((loadingId) => loadingId !== id),\n }))\n\n });\n }\n deleteSelected = () => {\n this.delete(this.state.id)\n }\n onHide = () => {\n this.setState({ show: false })\n }\n onShow = (index) => {\n this.setState({\n show: true,\n modalTitle: this.state.documents[index].comment,\n index: index,\n id: this.state.documents[index].id,\n })\n // TODO: SOME CALCULATIONS!\n // this.setState({redirect: })\n }\n render() {\n const columns = [\n {\n title: \"FILE NAME\",\n dataIndex: 'document',\n key: 'document',\n width: 400,\n ellipsis: {\n showTitle: false,\n },\n render: (text) => (\n \n {text}\n \n )\n },\n {\n title: 'COMMENT',\n dataIndex: 'comment',\n key: 'comment',\n ellipsis: {\n showTitle: false,\n },\n render: (text) => (\n \n {text}\n \n ),\n },\n {\n title: 'DATE UPLOADED',\n dataIndex: 'created',\n key: 'created',\n width: 200,\n sorter: (a, b) => new Date(a.created) - new Date(b.created),\n defaultSortOrder: 'descend', \n },\n {\n title: 'FOR WHOM',\n dataIndex: 'forwhom',\n key: 'forwhom',\n width: 150,\n render: (_, { forwhom }) => (\n <>\n {this.forWhomDecoded(forwhom)}\n \n ),\n },\n {\n title: ' ',\n dataIndex: 'action',\n key: 'action',\n fixed: 'right',\n width: 60,\n render: (_, row, index) => (\n \n ),\n },\n ]\n return (\n
\n \n \n Do you really want to delete {this.state.modalTitle}?\n \n \n This operation is irreversible. The document will be deleted.\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n\n \n )\n }\n}\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentManager)\n","import React, { useState, useLayoutEffect, useRef } from 'react';\r\nimport { Modal, Pagination, Button, Image, Row, Col, Select, Dropdown } from 'antd';\r\nimport { MinusOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport { Document, Page, pdfjs } from 'react-pdf';\r\nimport './PreviewModal.css';\r\n\r\nexport default function PreviewModal(props) {\r\n pdfjs.GlobalWorkerOptions.workerSrc =\r\n `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\r\n const {\r\n mode, open, data, docmentList, file, numPages, width, scale, change, moveFile,\r\n handleDocument, onCancel, handleZoom,\r\n loadSuccess\r\n } = props;\r\n const [pageWidth, setPageWidth] = useState(0)\r\n const [selectCategory, setSelectCategory] = useState(undefined)\r\n const [selectType, setSelectType] = useState(undefined)\r\n const containerRef = useRef(null)\r\n const [currentPage, setCurrentPage] = useState(1)\r\n const isManualChange = useRef(false);\r\n useLayoutEffect (() => {\r\n if (open) {\r\n setCurrentPage(1)\r\n if (mode === 'move') {\r\n setSelectCategory(undefined)\r\n setSelectType(undefined)\r\n }\r\n const handleResize = () => {\r\n if (containerRef.current) {\r\n setPageWidth(containerRef.current.offsetWidth - 8)\r\n }\r\n }\r\n setTimeout(handleResize, 0)\r\n window.addEventListener('resize', handleResize)\r\n return () => {\r\n window.removeEventListener('resize', handleResize)\r\n }\r\n }\r\n }, [open, mode])\r\n\r\n const previewCancel = () => {\r\n onCancel()\r\n }\r\n\r\n const onDocumentLoadSuccess = (page) => {\r\n loadSuccess(page)\r\n }\r\n\r\n const previewDownload = () => {\r\n const modifiedPdfBlob = new Blob([file], { type: 'application/pdf' })\r\n const downloadLink = document.createElement('a')\r\n downloadLink.href = URL.createObjectURL(modifiedPdfBlob)\r\n downloadLink.download = data?.FileName\r\n downloadLink.click()\r\n }\r\n const onChangePage = (page, pageSize) => {\r\n isManualChange.current = true\r\n setCurrentPage(page)\r\n const pdfTargetElement = document.querySelector(`#pdfPage-${page}`)\r\n\r\n if (pdfTargetElement) {\r\n containerRef.current.scrollTo({\r\n top: pdfTargetElement.offsetTop,\r\n behavior: 'smooth',\r\n })\r\n }\r\n\r\n setTimeout(() => {\r\n isManualChange.current = false\r\n }, 500)\r\n }\r\n\r\n const handleScroll = () => {\r\n if (isManualChange.current) return\r\n\r\n const containerHeight = containerRef.current.offsetHeight\r\n const anchors = document.querySelectorAll('.pdf-anchor')\r\n\r\n let closestPage = currentPage\r\n let minDistance = Infinity\r\n\r\n anchors.forEach(anchor => {\r\n const { top } = anchor.getBoundingClientRect()\r\n const distance = Math.abs(top - containerHeight / 2)\r\n\r\n if (distance < minDistance) {\r\n minDistance = distance;\r\n closestPage = parseInt(anchor.id.split('-')[1])\r\n }\r\n })\r\n\r\n if (closestPage !== currentPage) {\r\n setCurrentPage(closestPage)\r\n }\r\n }\r\n\r\n const changeZoom = (type) => {\r\n if (type === 'add') {\r\n handleZoom(+(Math.min(scale + 0.1, 3).toFixed(1)));\r\n } else {\r\n handleZoom(+(Math.max(scale - 0.1, 0.5).toFixed(1)));\r\n }\r\n }\r\n\r\n const removeFileExtension = (fileName) => {\r\n return fileName && fileName.replace(/\\.[^/.]+$/, \"\")\r\n }\r\n \r\n const arrayBufferToBlob = (buffer, type) => {\r\n return new Blob([buffer], { type })\r\n }\r\n\r\n const createImageURLFromBase64 = (arrayBuffer, type) => {\r\n const blob = arrayBufferToBlob(arrayBuffer, type)\r\n return URL.createObjectURL(blob)\r\n }\r\n\r\n const changeFile = (type) => {\r\n setCurrentPage(1)\r\n if (type === 'prev' && data && data?.num !== 1) {\r\n change(data?.num - 1)\r\n } else if (type === 'next' && data && data?.num !== data?.total) {\r\n change(data?.num + 1)\r\n }\r\n }\r\n\r\n const handleDoc = (e) => {\r\n handleDocument(e.key)\r\n }\r\n\r\n const dropdownItems = [\r\n {\r\n label: 'Download',\r\n key: 'download',\r\n icon: download,\r\n },\r\n {\r\n type: 'divider',\r\n },\r\n {\r\n label: 'Reupload',\r\n key: 'upload',\r\n icon: upload,\r\n }\r\n ]\r\n\r\n const categoryOptions = [\r\n {\r\n label: 'Identification',\r\n value: 'identification'\r\n },\r\n {\r\n label: 'Income',\r\n value: 'income'\r\n },\r\n {\r\n label: 'Assets & debts',\r\n value: 'assets'\r\n },\r\n {\r\n label: 'Property',\r\n value: 'property'\r\n },\r\n {\r\n label: 'Miscellaneous',\r\n value: 'miscellaneous'\r\n },\r\n // {\r\n // label: 'Process documents',\r\n // value: 'internalDocuments'\r\n // }\r\n ]\r\n\r\n const getCategoryOptions = () => {\r\n const filtered = categoryOptions.filter(option => {\r\n const category = docmentList.find(doc => doc.type === option.value)\r\n return category && category.list.length > 0\r\n })\r\n return filtered\r\n }\r\n\r\n const getTypeOptions = () => {\r\n const selectedDocument = docmentList.find(item => item.type === selectCategory)\r\n const options = selectedDocument ? selectedDocument.list.map(doc => ({ label: doc.TaskName, value: doc.ID })) : []\r\n return options\r\n }\r\n\r\n const changeCategory = (value) => {\r\n setSelectType(undefined)\r\n setSelectCategory(value)\r\n }\r\n\r\n const changeType = (value) => {\r\n setSelectType(value)\r\n }\r\n\r\n const changeMove = () => {\r\n moveFile(selectType)\r\n }\r\n\r\n const computedWidth = mode === 'preview' ? width : pageWidth\r\n\r\n return (\r\n <>\r\n \r\n
Document review
\r\n
\r\n
{mode === 'move' &&
UNCATEGORIZED
}
\r\n
\r\n prev changeFile('prev')}/>\r\n
File {data?.num} / {data?.total}
\r\n
\r\n
\r\n \r\n
{removeFileExtension(data?.FileName)}
\r\n
\r\n next changeFile('next')}/>\r\n
\r\n
\r\n {\r\n mode === 'move' ? (\r\n handleDoc(e)}}\r\n placement=\"bottomRight\"\r\n trigger={['click']}\r\n >\r\n menu\r\n \r\n ) : \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {data?.MimeType === \"application/pdf\" ? (\r\n \r\n {Array.from(new Array(numPages), (el, index) => (\r\n \r\n \r\n
\r\n ))}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n changeZoom('min')} />\r\n
\r\n
{Math.round(scale * 100)}%
\r\n
\r\n changeZoom('add')} />\r\n
\r\n
\r\n
\r\n \r\n {mode === 'move' && (\r\n \r\n
\r\n
\r\n
\r\n
Document category
\r\n \r\n
\r\n
\r\n
Document title
\r\n \r\n
\r\n
\r\n \r\n Confirm\r\n \r\n
\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect, useRef, useMemo } from 'react'\r\nimport '../App.css'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport {\r\n InboxOutlined,\r\n CloseOutlined,\r\n CaretDownOutlined,\r\n LoadingOutlined,\r\n} from '@ant-design/icons'\r\nimport dayjs from 'dayjs'\r\nimport heic2any from 'heic2any'\r\nimport {\r\n Button,\r\n Input,\r\n Table,\r\n Modal,\r\n Select,\r\n Form,\r\n Col,\r\n Row,\r\n Spin,\r\n Upload,\r\n message,\r\n Dropdown,\r\n Popover,\r\n Tooltip,\r\n Empty,\r\n Switch,\r\n} from 'antd'\r\nimport PreviewModal from './PreviewModal'\r\nimport './DocumentChecklist.css'\r\nimport { useSelector } from 'react-redux'\r\nimport * as JSZip from 'jszip'\r\nimport { saveAs } from 'file-saver'\r\nimport { useStatsigClient } from \"@statsig/react-bindings\";\r\n\r\nconst { Dragger } = Upload\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n application: state.application,\r\n progress: state.progress,\r\n borrower: state.borrower,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({})\r\n\r\nfunction DocumentChecklist(props) {\r\n const Info = useSelector((state) => {\r\n return state.common.currentInfo\r\n })\r\n\r\n const [form] = Form.useForm()\r\n const tableRef = useRef(null)\r\n const [, contextHolder] = Modal.useModal()\r\n const [loading] = useState(false)\r\n const [saveLoading, setSaveLoading] = useState(false)\r\n const [tasksLoading, setTasksLoading] = useState(false)\r\n const [taskDocuments] = useState([])\r\n const [pageWidth] = useState(680)\r\n const [, setCurrentID] = useState('')\r\n const [currentDoc, setCurrentDoc] = useState(null)\r\n const [documentList, setDocumentList] = useState([])\r\n const [originalDocumentList, setOriginalDocumentList] = useState([])\r\n const [uncategorizedDoc, setUncategorizedDoc] = useState([])\r\n const [originalUncategorizedDoc, setOriginalUncategorizedDoc] = useState([])\r\n const [showDocumentModal, setShowDocumentModal] = useState(false)\r\n const [fileList, setFileList] = useState([])\r\n const [searchKeyword, setSearchKeyword] = useState('')\r\n const [selectedCategory, setSelectedCategory] = useState([])\r\n const [selectedSwitch, setSelectedSwitch] = useState(false)\r\n const [uncategorizedOpen, setUncategorizedOpen] = useState(true)\r\n const [showPreviewModal, setShowPreviewModal] = useState(false)\r\n const [previewMode, setPreviewMode] = useState('preview')\r\n const [handleForm, setHandleForm] = useState('')\r\n const [handleRecord, setHandleRecord] = useState(null)\r\n const [uploadMode, setUploadMode] = useState('')\r\n const [file, setFile] = useState('')\r\n const [pageNumber, setPageNumber] = useState(1)\r\n const [numPages, setNumPages] = useState(1)\r\n const [scale, setScale] = useState(1)\r\n const [task, setTask] = useState('')\r\n const identification = useRef(null)\r\n const income = useRef(null)\r\n const assets = useRef(null)\r\n const property = useRef(null)\r\n const miscellaneous = useRef(null)\r\n const searchKeywordRef = useRef(searchKeyword)\r\n const selectedCategoryRef = useRef(selectedCategory)\r\n const selectedSwitchRef = useRef(selectedSwitch)\r\n const documentListRef = useRef(documentList)\r\n const { client } = useStatsigClient();\r\n // const internalDocuments = useRef(null)\r\n\r\n const refs = useMemo(() => ({\r\n identification,\r\n income,\r\n assets,\r\n property,\r\n miscellaneous,\r\n }), [])\r\n\r\n const checklistWrapRef = useRef(null)\r\n const [visiblePopover, setVisiblePopover] = useState(null)\r\n\r\n const handlePopoverVisibility = (recordId, visibility) => {\r\n if (visibility) {\r\n setVisiblePopover(recordId)\r\n } else {\r\n setVisiblePopover(null)\r\n }\r\n }\r\n\r\n const handleExpand = (type) => {\r\n const updatedList = documentList.map((item) => {\r\n if (item.type === type) {\r\n return { ...item, open: !item.open }\r\n }\r\n return item\r\n })\r\n setDocumentList(updatedList)\r\n }\r\n\r\n useEffect(() => {\r\n getdocuments()\r\n const interval = setInterval(() => {\r\n getdocuments(false)\r\n }, 5000)\r\n return () => clearInterval(interval)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [])\r\n\r\n useEffect(() => {\r\n searchKeywordRef.current = searchKeyword\r\n selectedCategoryRef.current = selectedCategory\r\n selectedSwitchRef.current = selectedSwitch\r\n }, [searchKeyword, selectedCategory, selectedSwitch])\r\n\r\n useEffect(() => {\r\n documentListRef.current = documentList\r\n }, [documentList])\r\n\r\n useEffect(() => {\r\n if (tableRef.current) {\r\n const tableContainer = tableRef.current.querySelector(\r\n '.document-table .ant-table-body'\r\n )\r\n if (tableContainer) {\r\n tableContainer.scrollTop = tableContainer.scrollHeight\r\n }\r\n }\r\n }, [taskDocuments.length])\r\n\r\n useEffect(() => {\r\n if (Info.currentCategory) {\r\n const targetRef = refs[Info.currentCategory]\r\n if (targetRef && targetRef.current && checklistWrapRef.current) {\r\n const elementTop = targetRef.current.getBoundingClientRect().top\r\n const wrapTop =\r\n checklistWrapRef.current.getBoundingClientRect().top\r\n const offsetTop = elementTop - wrapTop\r\n const currentScroll = checklistWrapRef.current.scrollTop\r\n\r\n checklistWrapRef.current.scrollTo({\r\n top: currentScroll + offsetTop,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }, [Info, refs])\r\n\r\n const transformData = (data) => {\r\n const transformed = {}\r\n categoryOptions.forEach((category) => {\r\n const existingItem = documentListRef.current.find(\r\n (item) => item.type === category.value\r\n )\r\n const openState = existingItem ? existingItem.open : true\r\n\r\n transformed[category.value] = {\r\n type: category.value,\r\n open: openState,\r\n list: [],\r\n }\r\n })\r\n data.forEach((item) => {\r\n const { TaskID } = item\r\n\r\n if (transformed[TaskID]) {\r\n transformed[TaskID].list.push(item)\r\n }\r\n })\r\n Object.values(transformed).forEach((category) => {\r\n category.list.sort((a, b) => a.ID - b.ID)\r\n })\r\n return Object.values(transformed)\r\n }\r\n\r\n const getdocuments = (showLoading = true) => {\r\n let token = sessionStorage.getItem('ZeitroA')\r\n if (showLoading) {\r\n setTasksLoading(true)\r\n }\r\n let loanid = '' // Temporarily empty\r\n let api = '/docs/getdocuments/' + loanid\r\n fetch(api, {\r\n method: 'GET',\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n if (showLoading) {\r\n setTasksLoading(false)\r\n }\r\n if (response.status !== 200) {\r\n return\r\n }\r\n response.json().then((data) => {\r\n const originalData = data\r\n const uncategorizedList = data\r\n .filter((task) => task.TaskID === 'uncategorized')\r\n .flatMap((task) =>\r\n task.Documents.map((document) => ({\r\n ...document,\r\n Updated: task.Updated,\r\n docType: task.TaskID,\r\n ExtraInfo: document.ExtraInfo ? JSON.parse(document.ExtraInfo) : {},\r\n }))\r\n )\r\n const list = transformData(originalData)\r\n setDocumentList(list)\r\n setOriginalDocumentList(list)\r\n setUncategorizedDoc(uncategorizedList)\r\n setOriginalUncategorizedDoc(uncategorizedList)\r\n if (\r\n searchKeywordRef.current !== '' ||\r\n selectedCategoryRef.current.length > 0 ||\r\n selectedSwitchRef.current\r\n ) {\r\n filterData(\r\n searchKeywordRef.current,\r\n selectedCategoryRef.current,\r\n selectedSwitchRef.current,\r\n list,\r\n uncategorizedList\r\n )\r\n }\r\n if (handleForm === 'move') {\r\n const record = uncategorizedDoc[0]\r\n setHandleRecord({ ...record, num: 1, total: uncategorizedDoc.length })\r\n downloadAll(record.ID, 'move', record.FileName)\r\n }\r\n })\r\n })\r\n .catch((err) => {\r\n if (showLoading) {\r\n setTasksLoading(false)\r\n }\r\n })\r\n }\r\n\r\n const isApproachingDeadline = (deadline) => {\r\n const deadlineDate = dayjs(deadline).startOf('day')\r\n const now = dayjs().startOf('day')\r\n const oneDayBeforeDeadline = deadlineDate.subtract(1, 'day')\r\n return (\r\n now.isSame(oneDayBeforeDeadline, 'day') ||\r\n now.isAfter(oneDayBeforeDeadline, 'day')\r\n )\r\n }\r\n\r\n const filterData = (\r\n keyword,\r\n categories,\r\n switchFilter,\r\n list,\r\n uncategorizedList\r\n ) => {\r\n const newFilteredUncategorizedData = uncategorizedList.filter((doc) => {\r\n const fileNameMatch = doc.FileName.toLowerCase().includes(keyword)\r\n return fileNameMatch\r\n })\r\n\r\n const newFilteredData = list.map((cat) => {\r\n if (categories.length > 0 && !categories.includes(cat.type)) {\r\n return { ...cat, list: [] }\r\n }\r\n\r\n const filteredList = cat.list.filter((item) => {\r\n const taskNameMatch = item.TaskName.toLowerCase().includes(keyword)\r\n const documentsMatch = item.Documents.some((doc) =>\r\n doc.FileName.toLowerCase().includes(keyword)\r\n )\r\n const statusMatch =\r\n !switchFilter ||\r\n item.Status === 'requested' ||\r\n item.Status === 'pendingUpload' ||\r\n item.Status === 'resubmit' ||\r\n isApproachingDeadline(item.Deadline)\r\n return (taskNameMatch || documentsMatch) && statusMatch\r\n })\r\n\r\n return { ...cat, list: filteredList }\r\n })\r\n setDocumentList(newFilteredData)\r\n setUncategorizedDoc(newFilteredUncategorizedData)\r\n }\r\n\r\n const showCurrentTasks = () => {\r\n const formatStatus = {\r\n requested: {\r\n label: 'Not uploaded',\r\n tooltip: '',\r\n },\r\n pendingUpload: {\r\n label: 'Not uploaded',\r\n tooltip: '',\r\n },\r\n uploaded: {\r\n label: 'Uploaded',\r\n tooltip: '',\r\n },\r\n resubmit: {\r\n label: 'Re-upload needed',\r\n tooltip: '',\r\n },\r\n verified: {\r\n label: 'Reviewed',\r\n tooltip: '',\r\n },\r\n uncategorized: {\r\n label: 'Uncategorized',\r\n tooltip: '',\r\n },\r\n readyForReview: {\r\n label: 'Uploaded',\r\n tooltip: '',\r\n },\r\n }\r\n\r\n const mapStatusTagStyle = (status) => {\r\n switch (status) {\r\n case 'resubmit':\r\n case 'uncategorized':\r\n return { color: '#9C7000', backgroundColor: '#FFE6A6' }\r\n case 'verified':\r\n return { color: '#2E605A', backgroundColor: '#E1F2E2' }\r\n case 'uploaded':\r\n case 'readyForReview':\r\n return { color: '#13358D', backgroundColor: '#D8EAFF' }\r\n default:\r\n return { color: '#222222', backgroundColor: '#E0E0E0' }\r\n }\r\n }\r\n\r\n const mapViewStyle = (status) => {\r\n switch (status) {\r\n case 'uploaded':\r\n case 'resubmit':\r\n case 'readyForReview':\r\n return {\r\n color: '#325CEB',\r\n backgroundColor: '#FCFCFC',\r\n border: '1px solid #325CEB',\r\n }\r\n case 'verified':\r\n return {\r\n color: '#979797',\r\n backgroundColor: '#FCFCFC',\r\n border: '1px solid #ECECEC',\r\n cursor: 'no-drop',\r\n }\r\n default:\r\n return { color: '#FFFFFF', backgroundColor: '#325CEB' }\r\n }\r\n }\r\n\r\n const mapViewText = (status) => {\r\n switch (status) {\r\n case 'requested':\r\n case 'pendingUpload':\r\n return 'Upload'\r\n case 'uploaded':\r\n case 'verified':\r\n case 'resubmit':\r\n case 'readyForReview':\r\n return 'Re-upload'\r\n default:\r\n return 'View'\r\n }\r\n }\r\n\r\n const dropdownMenu = (record) => {\r\n const dropdownItems = [\r\n {\r\n label: 'Download all',\r\n key: 'download',\r\n disabled: record.Documents.length === 0,\r\n },\r\n ]\r\n return dropdownItems\r\n }\r\n\r\n const handleDocument = (e, record) => {\r\n setCurrentID(record.ID)\r\n if (e.key === 'download') {\r\n downloadAll(record.ID, 'all', record.TaskName)\r\n }\r\n }\r\n\r\n const handleUncategorized = (e, record) => {\r\n downloadAll(record.ID, 'single', record.FileName)\r\n }\r\n\r\n const handleUpload = (record) => {\r\n setCurrentDoc(record)\r\n setShowDocumentModal(true)\r\n }\r\n\r\n const actionDoc = (record) => {\r\n if (!['verified'].includes(record.Status)) {\r\n if (\r\n record.Status === 'uploaded' ||\r\n record.Status === 'resubmit' ||\r\n record.Status === 'readyForReview'\r\n ) {\r\n setUploadMode('reupload')\r\n } else {\r\n setUploadMode('single')\r\n }\r\n handleUpload(record)\r\n }\r\n }\r\n\r\n const uncategorizedColumns = [\r\n {\r\n title: '',\r\n width: 48,\r\n },\r\n {\r\n title: (\r\n
\r\n {'UNcategorized Documents'.toUpperCase()}\r\n
\r\n ),\r\n width: '30%',\r\n ellipsis: true,\r\n render: (_, record) => (\r\n \r\n
{record.FileName}
\r\n \r\n ),\r\n },\r\n {\r\n title: '',\r\n width: '20%',\r\n },\r\n {\r\n title: (\r\n \r\n Last update\r\n \r\n ),\r\n dataIndex: 'Updated',\r\n key: 'Updated',\r\n width: '15%',\r\n sorter: (a, b) => new Date(a.Updated) - new Date(b.Updated),\r\n render: (text) => (\r\n \r\n {text ? dayjs(text).format('MM/DD/YYYY') : '-'}\r\n \r\n ),\r\n },\r\n {\r\n title: (\r\n \r\n Status\r\n \r\n ),\r\n dataIndex: 'ExtraInfo',\r\n key: 'ExtraInfo',\r\n width: '20%',\r\n sorter: (a, b) =>\r\n a.ExtraInfo.status.localeCompare(b.ExtraInfo.status),\r\n render: (_, record) => {\r\n const { status } = record.ExtraInfo\r\n return status === 'processing' ? (\r\n
\r\n \r\n }\r\n />\r\n Processing\r\n
\r\n ) : (\r\n \r\n {formatStatus[status]?.label}\r\n \r\n )\r\n },\r\n },\r\n {\r\n title: (\r\n
\r\n viewAll()}\r\n >\r\n View all\r\n
\r\n \r\n setUncategorizedOpen(!uncategorizedOpen)\r\n }\r\n src=\"/images/document-collapse.svg\"\r\n alt='collapse'\r\n />\r\n \r\n ),\r\n dataIndex: '',\r\n key: '',\r\n fixed: 'right',\r\n width: 160,\r\n render: (_, record, index) => (\r\n
\r\n moveDoc(record, index, 'move')}\r\n >\r\n {mapViewText(record.ExtraInfo.status)}\r\n
\r\n handleUncategorized(e, record),\r\n }}\r\n placement=\"bottomRight\"\r\n trigger={['click']}\r\n >\r\n
\r\n more\r\n
\r\n \r\n \r\n ),\r\n },\r\n ]\r\n\r\n const messageList = (record) => {\r\n const resubmission = record.OperationRecord.ResubmissionRequest\r\n const filterResubmission = resubmission ? resubmission.filter((item) => item.Description !== '') : []\r\n\r\n if (record.Status === 'resubmit' && filterResubmission.length > 0) {\r\n return (\r\n
\r\n
\r\n Message from LO:\r\n
\r\n {filterResubmission.map((item, index) => (\r\n
\r\n \r\n {item.Deadline}\r\n \r\n {item.Description}\r\n
\r\n ))}\r\n
\r\n )\r\n } else if (record.Description !== '') {\r\n return (\r\n
\r\n
\r\n Message from LO:\r\n
\r\n
\r\n {record.Description}\r\n
\r\n
\r\n )\r\n }\r\n }\r\n\r\n const previewFile = (record) => {\r\n if (record.Documents.length > 0) {\r\n previewDoc(record, record.Documents[0], 0, 'preview')\r\n }\r\n }\r\n\r\n const columnsData = (type) => {\r\n const documentColumns = [\r\n {\r\n title: (\r\n
\r\n \r\n {getLabelByValue(\r\n categoryOptions,\r\n type\r\n ).toUpperCase()}\r\n \r\n
\r\n ),\r\n width: '30%',\r\n ellipsis: true,\r\n render: (_, record) => {\r\n const isVisible = visiblePopover === record.ID\r\n const reUploadMsg =\r\n record.Status === 'resubmit' &&\r\n record.OperationRecord.ResubmissionRequest &&\r\n record.OperationRecord.ResubmissionRequest.filter(\r\n (item) => item.Description !== ''\r\n ).length > 0\r\n const initualMsg = record.Description !== ''\r\n return (\r\n
\r\n \r\n previewFile(record)}\r\n >\r\n {record.TaskName}\r\n
\r\n \r\n {(reUploadMsg || initualMsg) && (\r\n \r\n handlePopoverVisibility(\r\n record.ID,\r\n visible\r\n )\r\n }\r\n content={\r\n \r\n {messageList(record)}\r\n \r\n handlePopoverVisibility(\r\n record.ID,\r\n false\r\n )\r\n }\r\n />\r\n \r\n }\r\n >\r\n \r\n \r\n )}\r\n \r\n )\r\n },\r\n },\r\n {\r\n title: (\r\n \r\n Time frame\r\n \r\n ),\r\n dataIndex: 'TimeRange',\r\n key: 'TimeRange',\r\n width: '20%',\r\n render: (text) => (\r\n \r\n {getLabelByValue(timeRangeOptions, text)}\r\n \r\n ),\r\n },\r\n {\r\n title: (\r\n \r\n Due date\r\n \r\n ),\r\n dataIndex: 'Deadline',\r\n key: 'Deadline',\r\n width: '15%',\r\n sorter: (a, b) =>\r\n new Date(a.Deadline) - new Date(b.Deadline),\r\n render: (text) => (\r\n \r\n {text ? dayjs(text).format('MM/DD/YYYY') : '-'}\r\n \r\n ),\r\n },\r\n {\r\n title: (\r\n \r\n Status\r\n \r\n ),\r\n dataIndex: 'Status',\r\n key: 'Status',\r\n width: '20%',\r\n sorter: (a, b) => a.Status.localeCompare(b.Status),\r\n render: (_, record, index) => (\r\n \r\n \r\n {formatStatus[record.Status]\r\n ? formatStatus[record.Status].label\r\n : record.Status}\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: (\r\n
\r\n {!documentList\r\n .find((item) => item.type === type)\r\n .list.some((doc) => doc.TaskName !== '') && (\r\n specialUpload(type)}\r\n src=\"/images/upload-document.svg\"\r\n alt='upload'\r\n />\r\n )}\r\n item.type === type\r\n ).open\r\n ? 'up'\r\n : 'down'\r\n }\r\n onClick={() => handleExpand(type)}\r\n src=\"/images/document-collapse.svg\"\r\n alt='collapse'\r\n />\r\n
\r\n ),\r\n dataIndex: '',\r\n key: '',\r\n fixed: 'right',\r\n width: 160,\r\n render: (_, record, index) => (\r\n
\r\n actionDoc(record)}\r\n >\r\n {mapViewText(record.Status)}\r\n
\r\n handleDocument(e, record),\r\n }}\r\n placement=\"bottomRight\"\r\n trigger={['click']}\r\n >\r\n
\r\n more\r\n
\r\n \r\n \r\n ),\r\n },\r\n ]\r\n return documentColumns\r\n }\r\n\r\n const previewDoc = (data, record, index, type) => {\r\n setTask(data)\r\n setPreviewMode(type)\r\n setHandleRecord({\r\n ...record,\r\n taskName: data.TaskName,\r\n num: index + 1,\r\n total: data.Documents.length,\r\n })\r\n downloadAll(record.ID, 'preview', record.FileName)\r\n }\r\n\r\n const viewAll = () => {\r\n setPreviewMode('move')\r\n let record = uncategorizedDoc[0]\r\n setHandleRecord({\r\n ...record,\r\n num: 1,\r\n total: uncategorizedDoc.length,\r\n })\r\n downloadAll(record.ID, 'move', record.FileName)\r\n }\r\n\r\n const moveDoc = (record, index, type) => {\r\n setPreviewMode(type)\r\n setHandleRecord({\r\n ...record,\r\n num: index + 1,\r\n total: uncategorizedDoc.length,\r\n })\r\n downloadAll(record.ID, type, record.FileName)\r\n }\r\n\r\n const expandedRowRender = (data) => {\r\n const nestedColumns = [\r\n {\r\n title: '',\r\n dataIndex: 'FileName',\r\n key: 'FileName',\r\n ellipsis: true,\r\n render: (_, record, index) => (\r\n \r\n
\r\n \r\n previewDoc(data, record, index, 'preview')}\r\n >\r\n {removeFileExtension(record.FileName)}\r\n
\r\n \r\n
\r\n ),\r\n },\r\n {\r\n title: '',\r\n key: 'action',\r\n width: 280,\r\n render: (_, record, index) => (\r\n
\r\n
\r\n
\r\n Last update:{' '}\r\n {record.Uploaded ? dayjs(record.Uploaded).format('MM/DD/YYYY') : '-'}\r\n
\r\n downloadAll(record.ID, 'single', record.FileName)}\r\n >\r\n \r\n
\r\n
\r\n \r\n ),\r\n },\r\n ]\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n const handleSwitch = (checked) => {\r\n setSelectedSwitch(checked)\r\n filterData(\r\n searchKeyword,\r\n selectedCategory,\r\n checked,\r\n originalDocumentList,\r\n originalUncategorizedDoc\r\n )\r\n }\r\n\r\n const onSearchDoc = (e) => {\r\n const keyword = e.target.value.toLowerCase()\r\n setSearchKeyword(keyword)\r\n filterData(\r\n keyword,\r\n selectedCategory,\r\n selectedSwitch,\r\n originalDocumentList,\r\n originalUncategorizedDoc\r\n )\r\n }\r\n\r\n const handleChangeCategory = (value) => {\r\n setSelectedCategory(value)\r\n filterData(\r\n searchKeyword,\r\n value,\r\n selectedSwitch,\r\n originalDocumentList,\r\n originalUncategorizedDoc\r\n )\r\n }\r\n\r\n const bulkUpload = () => {\r\n setUploadMode('multiple')\r\n setShowDocumentModal(true)\r\n }\r\n\r\n const specialUpload = (type) => {\r\n setUploadMode('special')\r\n handleUpload({ TaskID: type })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n Documents\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Action required\r\n
\r\n
\r\n \r\n }\r\n style={{\r\n width: 284,\r\n backgroundColor: '#FCFCFC',\r\n borderRadius: '6px',\r\n border: '1px solid #ECECEC',\r\n }}\r\n />\r\n \r\n }\r\n options={categoryOptions}\r\n />\r\n \r\n Upload documents\r\n
\r\n
\r\n
\r\n
\r\n {uncategorizedDoc.length > 0 &&\r\n selectedCategory.length === 0 && (\r\n \r\n \r\n
\r\n )}\r\n {documentList.map((item) => {\r\n const defaultExpandedRowKeys = item.list\r\n .filter((record) => record.TaskName === '')\r\n .map((record) => record.ID)\r\n\r\n return item.list.length > 0 ? (\r\n \r\n {\r\n if (record.TaskName === '') {\r\n return 'hidden-document'\r\n } else if (\r\n record.Status === 'resubmit'\r\n ) {\r\n return 'resubmit-document'\r\n } else if (\r\n isApproachingDeadline(\r\n record.Deadline\r\n )\r\n ) {\r\n return 'overdue-document'\r\n } else {\r\n return ''\r\n }\r\n }}\r\n expandable={{\r\n defaultExpandedRowKeys:\r\n defaultExpandedRowKeys,\r\n expandedRowRender,\r\n rowExpandable: (record) =>\r\n record.Documents.length > 0,\r\n expandIcon: ({\r\n expanded,\r\n onExpand,\r\n record,\r\n }) =>\r\n record.Documents.length ===\r\n 0 ? null : expanded ? (\r\n \r\n onExpand(\r\n record,\r\n e\r\n )\r\n }\r\n alt=\"collapse\"\r\n />\r\n ) : (\r\n \r\n onExpand(\r\n record,\r\n e\r\n )\r\n }\r\n alt=\"expand\"\r\n />\r\n ),\r\n }}\r\n />\r\n \r\n ) : !selectedSwitch &&\r\n searchKeyword === '' &&\r\n selectedCategory.length === 0 ? (\r\n \r\n
\r\n {getLabelByValue(\r\n categoryOptions,\r\n item.type\r\n ).toUpperCase()}\r\n \r\n \r\n 0 document\r\n \r\n \r\n ) : null\r\n })}\r\n {documentList.every(\r\n (item) => item.list.length === 0\r\n ) &&\r\n (selectedSwitch ||\r\n searchKeyword !== '' ||\r\n selectedCategory.length > 0) && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const categoryOptions = [\r\n {\r\n label: 'Identification',\r\n value: 'identification',\r\n },\r\n {\r\n label: 'Income',\r\n value: 'income',\r\n },\r\n {\r\n label: 'Assets & debts',\r\n value: 'assets',\r\n },\r\n {\r\n label: 'Property',\r\n value: 'property',\r\n },\r\n {\r\n label: 'Miscellaneous',\r\n value: 'miscellaneous',\r\n },\r\n // {\r\n // label: 'Process documents',\r\n // value: 'internalDocuments'\r\n // }\r\n ]\r\n\r\n const timeRangeOptions = [\r\n {\r\n label: 'Past 30 days',\r\n value: 'recent30Days',\r\n },\r\n {\r\n label: 'Past 2 months',\r\n value: 'recent2Months',\r\n },\r\n {\r\n label: 'Past 3 months',\r\n value: 'recent3Months',\r\n },\r\n {\r\n label: 'Past 6 months',\r\n value: 'recent6Months',\r\n },\r\n {\r\n label: 'Past year',\r\n value: 'recent1Year',\r\n },\r\n {\r\n label: 'Past 2 year',\r\n value: 'recent2Years',\r\n },\r\n ]\r\n\r\n const isHeicOrHeif = (fileName) => {\r\n return /\\.(heic|heif)$/i.test(fileName)\r\n }\r\n\r\n const draggerProps = {\r\n fileList: fileList,\r\n multiple: true,\r\n showUploadList: false,\r\n onChange(info) {\r\n const fileList = [...info.fileList]\r\n setFileList(fileList)\r\n },\r\n onDrop(e) {},\r\n beforeUpload: async (file) => {\r\n if (isHeicOrHeif(file?.name?.toLowerCase())) {\r\n let blob = undefined\r\n try {\r\n blob = await heic2any({ blob: file, toType: 'image/png' })\r\n } catch (error) {\r\n message.warning('You can only upload image and PDF files.')\r\n return Upload.LIST_IGNORE\r\n }\r\n const convertedFile = new File(\r\n [blob],\r\n file?.name?.replace(/\\.(heic|heif)$/i, '.png'),\r\n {\r\n type: 'image/png',\r\n }\r\n )\r\n return convertedFile\r\n } else {\r\n const allowedFileTypes = [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'application/pdf',\r\n ]\r\n const fileType = file.type\r\n const isAllowed = allowedFileTypes.includes(fileType)\r\n if (!isAllowed) {\r\n message.warning('You can only upload image and PDF files.')\r\n return Upload.LIST_IGNORE\r\n }\r\n }\r\n return true\r\n },\r\n }\r\n\r\n const handleValuesChange = (changedValues, allValues) => { }\r\n\r\n const getLabelByValue = (options, value) => {\r\n const foundOption = options.find((option) => option.value === value)\r\n return foundOption ? foundOption.label : null\r\n }\r\n\r\n const handleDeleteDoc = (index) => {\r\n const updatedFile = [...fileList]\r\n updatedFile.splice(index, 1)\r\n setFileList(updatedFile)\r\n form.setFieldsValue({ selectFile: updatedFile })\r\n }\r\n\r\n const removeFileExtension = (fileName) => {\r\n return fileName.replace(/\\.[^/.]+$/, '')\r\n }\r\n\r\n const showCreateNewTasks = () => {\r\n return (\r\n
\r\n \r\n
\r\n
Upload document
\r\n
\r\n {(uploadMode === 'single' || uploadMode === 'reupload' || uploadMode === 'special') && (\r\n \r\n
\r\n
\r\n Document name\r\n
\r\n
\r\n {currentDoc && currentDoc.TaskName ? currentDoc.TaskName : '-'}\r\n
\r\n \r\n \r\n
\r\n Category\r\n
\r\n
\r\n {currentDoc && currentDoc.TaskID ? getLabelByValue( categoryOptions, currentDoc.TaskID) : '-'}\r\n
\r\n \r\n \r\n
\r\n Message from loan officer\r\n
\r\n
\r\n {currentDoc && currentDoc.Description ? currentDoc.Description : '-'}\r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n e.fileList}\r\n >\r\n \r\n

\r\n \r\n

\r\n

\r\n Click or drag file to this area to upload\r\n

\r\n
\r\n \r\n \r\n
\r\n Accepted formats: PDF, JPEG, JPG, PNG, HEIC, HEIF\r\n \r\n
\r\n {fileList.map((item, index) => (\r\n
\r\n
\r\n \r\n {removeFileExtension(item.name)}\r\n
\r\n handleDeleteDoc(index)}\r\n className=\"delete-doc\"\r\n />\r\n
\r\n ))}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const bulkupload = () => {\r\n let token = sessionStorage.getItem('ZeitroA')\r\n const formData = new FormData()\r\n fileList.forEach((item) => {\r\n formData.append(`upload`, item.originFileObj)\r\n })\r\n setSaveLoading(true)\r\n fetch('/docs/bulkuploaddocuments', {\r\n cache: 'no-cache',\r\n method: 'POST',\r\n body: formData,\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n },\r\n })\r\n .then((response) => {\r\n setSaveLoading(false)\r\n if (response.status !== 200) {\r\n message.error('Something went wrong, please try later')\r\n return\r\n }\r\n taskCancel()\r\n getdocuments()\r\n })\r\n .catch((error) => {\r\n setSaveLoading(false)\r\n message.error('Something went wrong, please try later')\r\n })\r\n }\r\n\r\n const sendEmailRequest = () => {\r\n let token = sessionStorage.getItem('ZeitroA')\r\n fetch('/docs/notifyloaboutuploadeddocuments', {\r\n cache: 'no-cache',\r\n method: 'GET',\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n },\r\n })\r\n }\r\n\r\n const uploadDocuments = () => {\r\n let token = sessionStorage.getItem('ZeitroA')\r\n const formData = new FormData()\r\n fileList.forEach((item) => {\r\n formData.append(`upload`, item.originFileObj)\r\n })\r\n setSaveLoading(true)\r\n let api =\r\n uploadMode === 'single'\r\n ? '/docs/uploaddocumentsforrequest'\r\n : '/docs/reuploaddocumentsforrequest'\r\n fetch(api, {\r\n cache: 'no-cache',\r\n method: 'POST',\r\n body: formData,\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n 'X-TASKID': currentDoc.ID,\r\n 'X-LOAN': '',\r\n },\r\n })\r\n .then((response) => {\r\n setSaveLoading(false)\r\n if (response.status !== 200) {\r\n message.error('Something went wrong, please try later')\r\n return\r\n }\r\n // Call sendEmailRequest after 10 minutes\r\n setTimeout(() => {\r\n sendEmailRequest()\r\n }, 10 * 1000)\r\n // }, 10 * 60 * 1000);\r\n\r\n taskCancel()\r\n getdocuments()\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n setSaveLoading(false)\r\n message.error('Something went wrong, please try later')\r\n })\r\n }\r\n\r\n const base64ToArrayBuffer = (base64) => {\r\n const binaryString = atob(base64)\r\n const len = binaryString.length\r\n const bytes = new Uint8Array(len)\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return bytes.buffer\r\n }\r\n\r\n const downloadAll = (id, type, name) => {\r\n const token = sessionStorage.getItem('ZeitroA')\r\n fetch('/docs/downloaddocuments', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n LoanID: '',\r\n TaskID: type === 'all' ? id : 0,\r\n DocID: type !== 'all' ? id : 0,\r\n }),\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n },\r\n })\r\n .then(async (response) => {\r\n if (response.status !== 200) {\r\n return\r\n }\r\n await response.json().then((js) => {\r\n const files = js.Documents\r\n if (type === 'preview' || type === 'move') {\r\n const file = base64ToArrayBuffer(files[0].Content)\r\n setFile(file)\r\n setScale(1)\r\n setShowPreviewModal(true)\r\n } else if (files.length === 0) {\r\n } else if (files.length === 1) {\r\n const file = base64ToArrayBuffer(files[0].Content)\r\n const modifiedPdfBlob = new Blob([file], {\r\n type: 'application/pdf',\r\n })\r\n const downloadLink = document.createElement('a')\r\n downloadLink.href = URL.createObjectURL(modifiedPdfBlob)\r\n downloadLink.download = files[0].Name\r\n downloadLink.click()\r\n } else {\r\n const filename = `${name}.zip`\r\n const zip = new JSZip()\r\n const filesFolder = zip.folder(`${name}`)\r\n for (let i = 0; i < files.length; i++) {\r\n const { Name, Content } = files[i]\r\n filesFolder.file(Name, Content, { base64: true })\r\n }\r\n zip.generateAsync({ type: 'blob' }).then((blob) =>\r\n saveAs(blob, filename)\r\n )\r\n }\r\n })\r\n })\r\n .catch(() => {})\r\n }\r\n\r\n const documentSave = () => {\r\n // statsig log\r\n const fileListAmount = fileList.length\r\n const fileListName = fileList.map((item) => item.name)\r\n client?.logEvent(\"documents_uploaded_by_borrower\", fileListAmount, {\r\n eventName: \"documentsUploadedByBorrower\",\r\n startTime: new Date,\r\n timestamp: Date.now(),\r\n fileListAmount: fileListAmount,\r\n fileListName: fileListName,\r\n entrance: \"applicationDocuments\",\r\n pageUrl: window.location.href,\r\n })\r\n if (uploadMode === 'single' || uploadMode === 'reupload') {\r\n uploadDocuments()\r\n } else if (uploadMode === 'multiple') {\r\n bulkupload()\r\n } else {\r\n }\r\n }\r\n\r\n const taskCancel = () => {\r\n setShowDocumentModal(false)\r\n setFileList([])\r\n form.resetFields()\r\n }\r\n\r\n const onDocumentLoadSuccess = ({ numPages }) => {\r\n setPageNumber(1)\r\n setNumPages(numPages)\r\n }\r\n\r\n const handleZoom = (val) => {\r\n setScale(val)\r\n }\r\n\r\n const onChangePage = (page, pageSize) => {\r\n setPageNumber(page)\r\n }\r\n\r\n const previewCancel = () => {\r\n setPageNumber(1)\r\n setNumPages(1)\r\n setHandleForm('')\r\n setShowPreviewModal(false)\r\n }\r\n\r\n const moveFile = (taskID) => {\r\n let token = sessionStorage.getItem('ZeitroA')\r\n let data = {\r\n TaskID: taskID,\r\n DocID: handleRecord.ID,\r\n }\r\n const matchedDocument = uncategorizedDoc.find(\r\n (item) => item.ID === handleRecord.ID\r\n )\r\n if (!matchedDocument) {\r\n message.error(\r\n \"The current document's status has changed. Please close the window and try again.\"\r\n )\r\n } else {\r\n fetch('/docs/movedoc', {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: {\r\n Authorization: 'Bearer ' + token,\r\n Cache: 'no-cache',\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n message.error('Something went wrong, please try later')\r\n return\r\n }\r\n if (response.status === 200) {\r\n setShowPreviewModal(false)\r\n getdocuments()\r\n }\r\n })\r\n .catch((err) => {\r\n message.error('Something went wrong, please try later')\r\n })\r\n }\r\n }\r\n\r\n const changeFile = (num) => {\r\n if (previewMode === 'move') {\r\n let record = uncategorizedDoc[num - 1]\r\n setHandleRecord({\r\n ...record,\r\n num: num,\r\n total: uncategorizedDoc.length,\r\n })\r\n downloadAll(record.ID, 'move', record.FileName)\r\n } else {\r\n let data = task\r\n let record = data.Documents[num - 1]\r\n setHandleRecord({\r\n ...record,\r\n taskName: data.TaskName,\r\n num: num,\r\n total: data.Documents.length,\r\n })\r\n downloadAll(record.ID, 'preview', record.FileName)\r\n }\r\n }\r\n\r\n const handleDocument = (type) => {\r\n setHandleForm('')\r\n if (type === 'upload') {\r\n setHandleForm('move')\r\n setUploadMode('multiple')\r\n setShowDocumentModal(true)\r\n } else {\r\n downloadAll(handleRecord.ID, 'single', handleRecord.FileName)\r\n }\r\n }\r\n\r\n const footer = [\r\n ,\r\n \r\n Upload\r\n ,\r\n ]\r\n\r\n return (\r\n
\r\n {contextHolder}\r\n {showCurrentTasks()}\r\n\r\n \r\n {showCreateNewTasks()}\r\n \r\n\r\n handleZoom(val)}\r\n handlePage={(page, pageSize) => onChangePage(page, pageSize)}\r\n loadSuccess={(page) => onDocumentLoadSuccess(page)}\r\n />\r\n
\r\n )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DocumentChecklist))\r\n","import React, { useState, useEffect, useRef, useContext } from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport './DocumentSidebar.css';\r\nimport { connect } from 'react-redux'\r\nconst mapStateToProps = (state) => {\r\n return {\r\n progress: state.progress,\r\n application: state.application,\r\n property: state.application.property,\r\n borrower: state.application.borrower\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n \r\n});\r\n\r\n\r\nexport default function DocumentSidebar ({changeMenu}) {\r\n const [menuExpand, setMenuExpand] = useState(true)\r\n const [currentCategory, setCurrentCategory] = useState(true)\r\n const categoryOptions = [\r\n {\r\n label: 'Identification',\r\n value: 'identification'\r\n },\r\n {\r\n label: 'Income',\r\n value: 'income'\r\n },\r\n {\r\n label: 'Assets & debts',\r\n value: 'assets'\r\n },\r\n {\r\n label: 'Property',\r\n value: 'property'\r\n },\r\n {\r\n label: 'Miscellaneous',\r\n value: 'miscellaneous'\r\n },\r\n // {\r\n // label: 'Process documents',\r\n // value: 'internalDocuments'\r\n // }\r\n ]\r\n const selectCategory = (item) => {\r\n setCurrentCategory(item.value)\r\n changeMenu(item.value)\r\n }\r\n let clickMenu = () => {\r\n setMenuExpand(!menuExpand)\r\n }\r\n return (\r\n
\r\n
\r\n Documents\r\n \r\n
\r\n
\r\n {\r\n categoryOptions.map(item => (\r\n
selectCategory(item)}>{item.label}
\r\n ))\r\n }\r\n
\r\n
\r\n );\r\n}\r\nDocumentSidebar = connect(mapStateToProps, mapDispatchToProps)(DocumentSidebar)","import React, { Component } from \"react\";\r\nimport \"./Dropzone.css\";\r\n\r\nclass Dropzone extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hightlight: false };\r\n this.fileInputRef = React.createRef();\r\n\r\n this.openFileDialog = this.openFileDialog.bind(this);\r\n this.onFilesAdded = this.onFilesAdded.bind(this);\r\n this.onDragOver = this.onDragOver.bind(this);\r\n this.onDragLeave = this.onDragLeave.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n }\r\n\r\n openFileDialog() {\r\n if (this.props.disabled) return;\r\n this.fileInputRef.current.click();\r\n }\r\n\r\n onFilesAdded(evt) {\r\n if (this.props.disabled) return;\r\n const files = evt.target.files;\r\n if (this.props.onFilesAdded) {\r\n const array = this.fileListToArray(files);\r\n this.props.onFilesAdded(array);\r\n }\r\n }\r\n\r\n onDragOver(event) {\r\n event.preventDefault();\r\n if (this.props.disabed) return;\r\n this.setState({ hightlight: true });\r\n }\r\n\r\n onDragLeave(event) {\r\n this.setState({ hightlight: false });\r\n }\r\n\r\n onDrop(event) {\r\n event.preventDefault();\r\n if (this.props.disabed) return;\r\n const files = event.dataTransfer.files;\r\n if (this.props.onFilesAdded) {\r\n const array = this.fileListToArray(files);\r\n this.props.onFilesAdded(array);\r\n }\r\n this.setState({ hightlight: false });\r\n }\r\n\r\n fileListToArray(list) {\r\n const array = [];\r\n for (var i = 0; i < list.length; i++) {\r\n array.push(list.item(i));\r\n }\r\n return array;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n Upload Files\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Dropzone;\r\n","import React, { Component } from \"react\";\r\nimport Spinner from 'react-bootstrap/Spinner'\r\nimport \"./Progress.css\";\r\n\r\nclass Progress extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n 0) && (this.props.progress < 100)) ? \"border\" : \"\"}/> \r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Progress;\r\n","import React, { Component } from \"react\";\r\nimport '../App.css';\r\nimport Button from 'react-bootstrap/Button'\r\nimport Row from 'react-bootstrap/Row'\r\nimport Col from 'react-bootstrap/Col'\r\nimport Form from 'react-bootstrap/Form'\r\nimport Container from 'react-bootstrap/Container'\r\nimport Spinner from 'react-bootstrap/Spinner'\r\nimport Dropzone from \"./Dropzone\";\r\nimport { connect } from 'react-redux'\r\nimport \"./Upload.css\";\r\nimport Progress from \"./Progress\";\r\nconst defBanner = `Please drag the documents from your computer, drop them into the circle, and click Upload. All your documents will be validated.`\r\nconst loadingBanner =
Please ensure the upload is complete before closing the window.
\r\nconst loadMore = \"Your upload is done. You can drag'n'drop and upload additional files.\"\r\n\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n application: state.application,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\r\n\r\n});\r\nclass Upload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n files: [],\r\n uploading: false,\r\n uploadProgress: {},\r\n successfullUploaded: false,\r\n banner: defBanner,\r\n validated: false,\r\n forwhom: \"borrower\",\r\n taskid: \"other\",\r\n };\r\n this.form = React.createRef();\r\n this.comments = []\r\n \r\n this.uploadFiles = this.uploadFiles.bind(this);\r\n this.sendRequest = this.sendRequest.bind(this);\r\n this.renderActions = this.renderActions.bind(this);\r\n }\r\n\r\n onFilesAdded = (files) => {\r\n\r\n if (this.state.successfullUploaded) {\r\n this.setState({ files: [], successfullUploaded: false })\r\n }\r\n let cleanfiles = []\r\n\r\n files.forEach(f => {\r\n if (this.state.files.every((x) => x.name !== f.name)) {\r\n cleanfiles.push(f)\r\n }\r\n })\r\n this.setState(prevState => ({\r\n files: prevState.files.concat(cleanfiles)\r\n }));\r\n }\r\n\r\n async _uploadFiles() {\r\n this.setState({ uploadProgress: {}, uploading: true });\r\n this.setState({ banner: loadingBanner })\r\n const promises = [];\r\n this.state.files.forEach(file => {\r\n promises.push(this.sendRequest(file));\r\n });\r\n try {\r\n await Promise.all(promises);\r\n\r\n this.setState({ successfullUploaded: true, uploading: false });\r\n this.setState({ banner: loadMore })\r\n if ( this.props.onUploaded ) {\r\n this.props.onUploaded()\r\n }\r\n\r\n } catch (e) {\r\n // Not Production ready! Do some error handling here instead...\r\n this.setState({ successfullUploaded: true, uploading: false });\r\n alert(\"Upload error! Please try again\")\r\n this.setState({ banner: defBanner })\r\n }\r\n }\r\n\r\n sendRequest(file) {\r\n return new Promise((resolve, reject) => {\r\n const req = new XMLHttpRequest();\r\n\r\n req.upload.addEventListener(\"progress\", event => {\r\n if (event.lengthComputable) {\r\n const copy = { ...this.state.uploadProgress };\r\n copy[file.name] = {\r\n state: \"pending\",\r\n percentage: (event.loaded / event.total) * 100\r\n };\r\n this.setState({ uploadProgress: copy });\r\n }\r\n });\r\n\r\n req.upload.addEventListener(\"load\", event => {\r\n const copy = { ...this.state.uploadProgress };\r\n copy[file.name] = { state: \"done\", percentage: 100 };\r\n this.setState({ uploadProgress: copy });\r\n resolve(req.response);\r\n });\r\n\r\n req.upload.addEventListener(\"error\", event => {\r\n const copy = { ...this.state.uploadProgress };\r\n copy[file.name] = { state: \"error\", percentage: 0 };\r\n this.setState({ uploadProgress: copy });\r\n reject(req.response);\r\n });\r\n\r\n const formData = new FormData();\r\n formData.append(\"file\", file, file.name);\r\n\r\n let token = window.sessionStorage.getItem(\"ZeitroA\");\r\n if (token === null) {\r\n window.location.href = \"/#home\";\r\n return;\r\n }\r\n req.open(\"POST\", \"/docs/upload\");\r\n req.setRequestHeader(\"Authorization\", \"Bearer \" + token)\r\n if (\"undefined\" === typeof this.props.taskid) {\r\n req.setRequestHeader(\"X-Comment\", this.comments[file.name])\r\n req.setRequestHeader(\"X-ForWhom\", this.state.forwhom)\r\n req.setRequestHeader(\"X-Taskid\", this.state.taskid)\r\n req.setRequestHeader(\"X-Id\", 0)\r\n\r\n } else {\r\n req.setRequestHeader(\"X-Comment\", this.props.name)\r\n req.setRequestHeader(\"X-ForWhom\", this.props.forwhom)\r\n req.setRequestHeader(\"X-Taskid\", this.props.taskid)\r\n req.setRequestHeader(\"X-Id\", this.props.id)\r\n\r\n }\r\n\r\n req.setRequestHeader(\"Cache\", \"no-cache\")\r\n\r\n req.send(formData);\r\n });\r\n }\r\n\r\n renderProgress(file) {\r\n const uploadProgress = this.state.uploadProgress[file.name];\r\n if (this.state.uploading || this.state.successfullUploaded) {\r\n return (\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n\r\n uploadFiles() {\r\n this.setState({ uploadProgress: {}, uploading: true });\r\n this.setState({ banner: loadingBanner });\r\n \r\n let token = sessionStorage.getItem(\"ZeitroA\");\r\n \r\n const uploadFile = async (file, comment, forwhom, taskid, id) => {\r\n const formData = new FormData();\r\n formData.append(\"upload\", file);\r\n \r\n const response = await fetch(\"/docs/upload\", {\r\n cache: 'no-cache',\r\n method: 'POST',\r\n body: formData,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n Cache: \"no-cache\",\r\n \"X-Comment\": comment,\r\n \"X-ForWhom\": forwhom,\r\n \"X-Taskid\": taskid,\r\n \"X-Id\": id,\r\n },\r\n });\r\n if (response.status !== 200) {\r\n return Promise.reject('Upload failed')\r\n }\r\n return await response.json()\r\n };\r\n \r\n const uploadPromises = this.state.files.map(file => {\r\n let comment = (\"undefined\" === typeof this.props.taskid) ? this.comments[file.name] : this.props.name;\r\n let forwhom = (\"undefined\" === typeof this.props.taskid) ? this.state.forwhom : this.props.forwhom;\r\n let taskid = (\"undefined\" === typeof this.props.taskid) ? this.state.taskid : this.props.taskid;\r\n let id = (\"undefined\" === typeof this.props.taskid) ? 0 : this.props.id;\r\n \r\n return uploadFile(file, comment, forwhom, taskid, id);\r\n });\r\n \r\n Promise.all(uploadPromises)\r\n .then(results => {\r\n this.setState({ successfullUploaded: true, uploading: false });\r\n this.setState({ banner: loadMore });\r\n if (this.props.onUploaded) {\r\n this.props.onUploaded();\r\n }\r\n })\r\n .catch(error => {\r\n this.setState({ successfullUploaded: false, uploading: false });\r\n alert(\"Upload error! Please try again\");\r\n this.setState({ banner: defBanner });\r\n });\r\n }\r\n \r\n\r\n onClear = e => {\r\n this.setState({ files: [], successfullUploaded: false })\r\n }\r\n\r\n renderActions() {\r\n if (this.state.successfullUploaded) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n isValidated() {\r\n if (!this.form.current.reportValidity()) {\r\n this.setState({ validated: true })\r\n return false\r\n };\r\n return true;\r\n }\r\n handleSubmit = (event) => {\r\n\r\n if (this.form.current.reportValidity() === false) {\r\n event.preventDefault();\r\n this.setState({ validated: true })\r\n return false\r\n }\r\n event.preventDefault();\r\n this.setState({ validated: false })\r\n event.stopPropagation();\r\n if (this.state.successfullUploaded) {\r\n this.setState({ files: [], successfullUploaded: false });\r\n this.setState({ banner: defBanner })\r\n } else {\r\n this.uploadFiles()\r\n }\r\n return false\r\n }\r\n changeForWhom = (e) => {\r\n this.setState({ forwhom: e.target.value })\r\n }\r\n render() {\r\n let updateFilename = (name) => {\r\n return event => {\r\n return this.comments[name] = event.target.value\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
{this.state.banner}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {\r\n (typeof this.props.name === \"undefined\") ?\r\n
\r\n Describe Document:\r\n : \"\"\r\n }\r\n \r\n \r\n \r\n File Name\r\n \r\n \r\n\r\n {this.state.files.map(file => {\r\n return (\r\n \r\n {(typeof this.props.name === \"undefined\") ?\r\n (\r\n \r\n \r\n \r\n \r\n \r\n Provide description of the document.\r\n \r\n \r\n \r\n ) : \"\"\r\n }\r\n \r\n {this.renderProgress(file)}\r\n \r\n \r\n {(file.name.length > 64) ? file.name.substring(0, 64) + \"...\" : file.name}\r\n \r\n \r\n );\r\n })}\r\n {(this.state.files.length > 0 && this.props.application.hascoborrower !== \"alone\" ) ?\r\n (\r\n\r\n \r\n \r\n {(this.state.files.length > 1) ? (
These documents are for:
) : (
This document is for:
)}
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n\r\n\r\n ) : \"\"}\r\n \r\n \r\n \r\n
{this.renderActions()}
\r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload)\r\n","import React, { useState, useEffect, useRef, useContext } from 'react';\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"../App.css\";\nimport { Tabs } from \"antd\";\nimport DocumentManager from \"./DocumentManager\";\nimport DocumentChecklist from \"./DocumentChecklist\";\nimport DocumentSidebar from \"./DocumentSidebar\";\nimport Upload from \"./Upload\";\nimport {\n UpdateChangeProgress,\n UpdateChangeProgressType,\n} from \"../Store/progress\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n progress: state.progress,\n hascoborrower: state.application.hascoborrower,\n borrower: state.borrower,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n updateChangeProgress: (step, stage) => {\n dispatch(UpdateChangeProgress(step, stage));\n },\n updateChangeProgressType: (step, stage) => {\n dispatch(UpdateChangeProgressType(step, stage));\n },\n});\nexport default function Documents(props) {\n const [selectMenu, setSelectMenu] = useState('')\n const items = [\n {\n key: \"1\",\n label: `My Documents`,\n children: ,\n },\n {\n key: \"2\",\n label: `Upload New Documents`,\n children: ,\n },\n ];\n const changeMenu = (menu) => {\n setSelectMenu(menu)\n }\n return (\n
\n {/* */}\n
\n \n
\n
\n )\n\n}\nDocuments = connect(mapStateToProps, mapDispatchToProps)(Documents);\n","\nimport React, { useEffect, useState, useCallback, useRef } from 'react';\nimport { connect } from 'react-redux'\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport { PDFDocument, rgb } from 'pdf-lib';\nimport { CloseOutlined } from \"@ant-design/icons\";\nimport { Button, Form, Checkbox, Input, Modal, Spin } from 'antd';\nimport moment from 'moment';\nimport { useHistory } from \"react-router-dom\"\nimport { saveAs } from 'file-saver';\nimport './HardMoneyLoan/PDFPreview.css';\nimport './HardMoneyLoan/TextLayer.css';\n// import \"react-pdf/dist/esm/Page/TextLayer.css\";\n\nexport function blobToURL(blob) {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = function () {\n const base64data = reader.result;\n resolve(base64data);\n };\n });\n}\n\nconst mapStateToProps = (state) => {\n return {\n hasCoBorrower: state.application.hascoborrower === \"withcoborrower\",\n }\n}\n\n// Directly copied from form_marks.go\nconst signCoordinates = {\n \"page2\": {\n \"borrower.signature\": { Left: 149.938012, Top: 699.655642, Right: 448.457415, Bottom: 724.989162 },\n \"borrower.signature.date\": { Left: 492.877884, Top: 700.794918, Right: 576.247894, Bottom: 724.431574 },\n \"coborrower.signature\": { Left: 149.194504, Top: 740.631587, Right: 447.174893, Bottom: 764.115037 },\n \"coborrower.signature.date\": { Left: 494.044096, Top: 739.106156, Right: 575.960673, Bottom: 764.784832 },\n },\n \"page6\": {\n \"borrower.signature\": { Left: 154.992455, Top: 692.501348, Right: 412.125321, Bottom: 712.885257 },\n \"borrower.signature.date\": { Left: 455.208178, Top: 690.486024, Right: 592.914131, Bottom: 712.987128 },\n \"coborrower.signature\": { Left: 169.909857, Top: 737.242870, Right: 421.305854, Bottom: 758.380672 },\n \"coborrower.signature.date\": { Left: 465.925736, Top: 734.865661, Right: 585.810826, Bottom: 758.224112 },\n },\n \"page7\": {\n \"borrower.signature\": { Left: 150.868699, Top: 690.059578, Right: 414.187342, Bottom: 713.687426 },\n \"borrower.signature.date\": { Left: 456.687334, Top: 685.539165, Right: 547.043647, Bottom: 710.956520 },\n \"coborrower.signature.date\": { Left: 465.536239, Top: 726.710112, Right: 553.345275, Bottom: 756.527421 },\n \"coborrower.signature\": { Left: 169.022238, Top: 732.849779, Right: 423.397619, Bottom: 759.467932 },\n },\n \"page8\": {\n \"borrower.signature\": { Left: 156.361317, Top: 679.203119, Right: 409.458129, Bottom: 702.315068 },\n \"borrower.signature.date\": { Left: 454.912180, Top: 678.029100, Right: 587.751260, Bottom: 700.909247 },\n \"coborrower.signature\": { Left: 175.000186, Top: 723.278574, Right: 424.748534, Bottom: 748.862620 },\n \"coborrower.signature.date\": { Left: 468.006864, Top: 719.840562, Right: 590.132241, Bottom: 746.434448 },\n },\n \"page9\": {\n \"borrower.signature\": { Left: 152.011897, Top: 463.909080, Right: 407.620574, Bottom: 487.300107 },\n \"borrower.signature.date\": { Left: 452.712552, Top: 463.862488, Right: 588.684658, Bottom: 485.761183 },\n \"coborrower.signature\": { Left: 168.497061, Top: 512.377038, Right: 421.376242, Bottom: 534.365661 },\n \"coborrower.signature.date\": { Left: 463.001602, Top: 508.093347, Right: 601.608988, Bottom: 532.818064 },\n },\n}\nconst PT_PX_RATIO = 1.46\n\nlet cosignMarks = [\n {\n page: 1,\n signid: \"page2cosignature\",\n pageName: \"page2\",\n type: 'signature',\n key: \"coborrower.signature\",\n style: {\n }\n },\n {\n page: 1,\n signid: \"page2cosignature\",\n pageName: \"page2\",\n type: 'date',\n key: \"coborrower.signature.date\",\n style: {\n }\n },\n {\n page: 5,\n signid: \"page6cosignature\",\n pageName: \"page6\",\n type: 'signature',\n key: \"coborrower.signature\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 5,\n signid: \"page6cosignature\",\n pageName: \"page6\",\n type: 'date',\n key: \"coborrower.signature.date\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 6,\n signid: \"page7cosignature\",\n pageName: \"page7\",\n type: 'signature',\n key: \"coborrower.signature\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 6,\n signid: \"page7cosignature\",\n pageName: \"page7\",\n type: 'date',\n key: \"coborrower.signature.date\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 7,\n signid: \"page8cosignature\",\n pageName: \"page8\",\n type: 'signature',\n key: \"coborrower.signature\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 7,\n signid: \"page8cosignature\",\n pageName: \"page8\",\n type: 'date',\n key: \"coborrower.signature.date\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 8,\n signid: \"page9cosignature\",\n pageName: \"page9\",\n type: 'signature',\n key: \"coborrower.signature\",\n style: {\n top: 0,\n left: 0,\n }\n },\n {\n page: 8,\n signid: \"page9cosignature\",\n pageName: \"page9\",\n type: 'date',\n key: \"coborrower.signature.date\",\n style: {\n top: 0,\n left: 0,\n }\n }\n]\n\n\n\nfunction PDFPreview(props) {\n pdfjs.GlobalWorkerOptions.workerSrc =\n `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\n const history = useHistory()\n const pageRefs = useRef({});\n // const [pdf, setPdf] = useState('');\n const [numPages, setNumPages] = useState(null);\n const [showSignPad, setShowSignPad] = useState(false)\n const [currentSignature, setCurrentSignature] = useState('')\n const [currentSignId, setCurrentSignId] = useState('')\n const [loading, setLoading] = useState(false)\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [signItems, setSignItems] = useState({})\n const { pdf, fileName, signMarks, visible, onClose } = props\n const documentRef = useRef(null);\n const [submitLoading, setSubmitLoading] = useState(false)\n const containerRef = useRef(null)\n const WIDTH = 900\n const [form] = Form.useForm()\n\n const onPageLoadSuccess = (page) => {\n };\n\n /*To Prevent right click on screen*/\n document.addEventListener(\"contextmenu\", (event) => {\n event.preventDefault();\n });\n\n function insertSignature() {\n const foundList = signMarks.filter(x => x.signid === currentSignId)\n let newSignItems = JSON.parse(JSON.stringify(signItems))\n for (const { pageName, key, type } of foundList) {\n if (type === 'signature') {\n newSignItems[pageName][key] = form.getFieldValue(\"signature\")\n } else if (type === 'date') {\n newSignItems[pageName][key] = moment().format(\"MM/DD/YYYY\")\n }\n }\n console.log(newSignItems)\n setSignItems(newSignItems)\n setCurrentSignId(\"\")\n setShowSignPad(false)\n }\n\n /*When document gets loaded successfully*/\n function onDocumentLoadSuccess({ numPages }) {\n setNumPages(numPages);\n }\n\n function verifySignItems(signItems) {\n for (const pageName in signItems) {\n for (const key in signItems[pageName]) {\n if (!signItems[pageName][key]) return [pageName, key]\n }\n }\n return true\n }\n\n function hasNextSign() {\n const verifyResult = verifySignItems(signItems)\n return Array.isArray(verifyResult)\n }\n\n function scrollNextSign() {\n const verifyResult = verifySignItems(signItems)\n if (Array.isArray(verifyResult)) {\n const [pageName, key] = verifyResult\n let found = signMarks.find(x => x.pageName === pageName && key === key)\n if (found && containerRef.current && pageRefs.current) {\n let pageOffset = pageRefs.current[found.page]?.offsetTop || 0\n containerRef.current.scrollTop = found.style.top + pageOffset - 50\n }\n return\n }\n }\n const onSubmit = async () => {\n setSubmitLoading(true)\n const pdfDoc = await PDFDocument.load(pdf);\n // const fontBytes = await fetch(\"../../fonts/Smooch-Regular.ttf\").then((res) => res.arrayBuffer())\n // pdfDoc.registerFontkit(fontkit)\n\n const font = await pdfDoc.embedFont('Helvetica')\n signMarks.forEach(signMark => {\n const page = pdfDoc.getPage(signMark.page - 1)\n const scale = page.getWidth() / 900\n const textSize = signMark.type === 'signature' ? 26 : 14\n const { left, top, width, height } = signMark.style\n const textHeight = font.heightAtSize(textSize)\n const text = signItems[signMark.pageName][signMark.key]\n const textY = page.getHeight() - (top * scale + (height * scale + textHeight) / 2)\n // page.drawRectangle({ \n // x: left * scale, \n // y: page.getHeight() - (top * scale) - (height * scale), \n // width: width * scale, \n // height: height * scale, \n // borderColor: rgb(1, 1, 1), \n // fill: false, \n // })\n page.drawText(text, {\n x: left * scale,\n y: textY,\n font,\n size: textSize,\n color: rgb(0, 0, 139 / 255),\n })\n })\n\n const modifiedPdfBytes = await pdfDoc.save()\n const modifiedPdfBlob = new Blob([modifiedPdfBytes], { type: 'application/pdf' })\n const downloadLink = document.createElement('a')\n downloadLink.href = URL.createObjectURL(modifiedPdfBlob)\n downloadLink.download = fileName\n downloadLink.click()\n setSubmitLoading(false)\n props.onSubmit(modifiedPdfBlob)\n }\n\n function openSignPad(signid) {\n setCurrentSignId(signid)\n setShowSignPad(true)\n }\n\n useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n }, [visible])\n\n\n useEffect(async () => {\n setLoading(true)\n // if (props.hasCoBorrower) {\n // signMarks = [\n // ...signMarks,\n // ...cosignMarks,\n // ]\n // }\n\n let initSignItems = {}\n for (const { pageName, key, type } of signMarks) {\n if (!(pageName in initSignItems)) {\n initSignItems[pageName] = {}\n }\n if (!(key in initSignItems[pageName])) {\n initSignItems[pageName][key] = ''\n }\n }\n console.log(signMarks, initSignItems)\n setSignItems(initSignItems)\n // let token = sessionStorage.getItem(\"ZeitroA\")\n\n // const existingPdfBytes = await fetch('/borrower/hardmoneyloan/previewyeeleeform', {\n // method: 'GET',\n // headers: {\n // Authorization: \"Bearer \" + token,\n // Cache: \"no-cache\"\n // },\n // }).then(res => res.arrayBuffer()).catch(function (err) {\n // console.log('Fetch Error :-S', err);\n // });\n // const blob = new Blob([new Uint8Array(existingPdfBytes)]);\n\n // const URL = await blobToURL(blob);\n // setPdf(URL);\n setLoading(false)\n }, []);\n const PDFComponent = () => {\n return (\n \n {Array.from(\n new Array(numPages),\n (el, index) => (\n {\n pageRefs.current[index] = ref;\n }}\n width={WIDTH}\n key={`page_${index + 1}`}\n pageNumber={index}\n renderTextLayer={false}\n onLoadSuccess={onPageLoadSuccess}\n onRenderSuccess={(props) => {\n\n }}\n >\n \n {signMarks.map((signMark, signIdx) => {\n if (signMark.page === index) {\n let signContent = signItems[signMark.pageName][signMark.key]\n return <>\n openSignPad(signMark.signid)}\n style={{\n position: 'absolute',\n ...signMark.style\n }}\n >\n {signContent}\n \n {!signContent ? openSignPad(signMark.signid)}\n >\n \n Sign Here\n \n \n : null}\n \n }\n return null;\n })}\n \n \n )\n )}\n \n )\n }\n const renderSignPad = () =>\n \n \n \n \n \n \n I agree to electronically sign this document, understand this is a legal\n representation of my signature, and agree to the setIsModalOpen(true)}>electronic signature terms.\n \n\n
\n \n {\n setShowSignPad(false)\n setCurrentSignId(\"\")\n }}\n >Cancel\n \n \n \n \n
\n \n setIsModalOpen(false)}\n footer={[]}\n >\n

By using the electronic signature feature on this website, you agree to the legal validity and binding nature of your electronic signature on the loan application forms. The company reserves the right to implement authentication measures to verify the identity of the applicant when using electronic signatures.\nYou can withdraw consent by notifying the company in writing, but this may affect your loan application.We will retain electronic signature records as required by law.\nYou can request a copy of your signed documents.The company may update these terms. Continued use of electronic signatures implies acceptance of any changes.By using our electronic signature feature, you confirm your understanding and acceptance of these terms.

\n \n \n\n return (\n <>\n
\n
\n
Please follow the instruction to provide your signatures and then click Submit.
\n \n
\n
\n {!loading ? PDFComponent():
}\n
\n\n {renderSignPad()}\n
\n \n {hasNextSign() ? 'Next' : 'Submit'}\n \n
\n
\n \n );\n}\n\nexport default PDFPreview = connect(mapStateToProps)(PDFPreview);\n","import React, { Component } from 'react'\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport './App.css'\nimport { Redirect } from 'react-router-dom'\nimport {\n UpdateChangeProgressLastVisited,\n UpdateChangeProgressType,\n} from './Store/progress'\nimport { saveState } from './Store/index'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport * as com from './Common'\nimport dayjs from 'dayjs'\nimport {\n Modal,\n Button,\n Row,\n Col,\n Skeleton,\n Upload,\n message,\n Popconfirm,\n Collapse,\n Progress,\n} from 'antd'\nimport { UploadOutlined, CloseOutlined, DownOutlined } from '@ant-design/icons'\nimport PDFPreview from './Application/PDFPreview'\nimport './Tasks.css'\n\nconst { Dragger } = Upload\n\nconst mapStateToProps = (state) => {\n return {\n progress: state.progress,\n application: state.application,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateChangeProgressLastVisited: (step) => {\n dispatch(UpdateChangeProgressLastVisited(step))\n },\n updateChangeProgressType: (step, stage) => {\n dispatch(UpdateChangeProgressType(step, stage))\n },\n})\nclass Tasks extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n documents: [],\n url: '',\n download: '',\n redirect: '',\n show: false,\n modalTitle: '',\n index: 0,\n id: 0,\n taskid: '',\n forwhom: '',\n loading: false,\n submitLoading: false,\n uploadLoading: false,\n showclosed: false,\n expandedRowKeys: [],\n showUploadModal: false,\n docID: '',\n uploadFileList: [],\n pdfVisible: false,\n pdfFile: '',\n fileName: '',\n signMarks: [],\n activeKeys: [],\n }\n\n this.aref = React.createRef()\n }\n\n componentDidMount() {\n this.props.updateChangeProgressType('tasks')\n const now = new Date()\n const snow = now.toUTCString()\n this.props.updateChangeProgressLastVisited(snow)\n saveState()\n this.reload()\n }\n\n mergeTasks = (list) => {\n const updatedTaskList = []\n const tasksByType = {}\n list.forEach((task) => {\n if (!(task.TaskType in tasksByType)) {\n tasksByType[task.TaskType] = []\n }\n tasksByType[task.TaskType].push(task)\n })\n for (const taskType in tasksByType) {\n const tasks = tasksByType[taskType]\n\n tasks.sort((a, b) => b.ID - a.ID)\n\n for (let i = 0; i < tasks.length; i++) {\n const currentTask = tasks[i]\n const mergedTask = { ...currentTask }\n\n if (taskType === 'action') {\n for (let j = i + 1; j < tasks.length; j++) {\n const nextTask = tasks[j]\n mergedTask.Items.push(...nextTask.Items)\n }\n } else {\n for (let j = i + 1; j < tasks.length; j++) {\n const nextTask = tasks[j]\n mergedTask.Documents.push(...nextTask.Documents)\n }\n }\n updatedTaskList.push(mergedTask)\n i = tasks.length\n }\n }\n return updatedTaskList\n }\n\n reload = () => {\n this.setState({ loading: true })\n\n const token = sessionStorage.getItem('ZeitroA')\n fetch('/auth/tasks', {\n method: 'GET',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n window.document.dispatchEvent(\n new Event('reauthenticate'),\n ''\n )\n this.setState({ loading: false })\n return\n }\n // Examine the text in the response\n response.json().then((js) => {\n if (js.Status !== 'OK') {\n console.warn('Error: ' + js.Text)\n window.document.dispatchEvent(\n new Event('reauthenticate'),\n ''\n )\n } else {\n const data = js.Tasks\n const filterData = data.filter((item) => item.TaskType !== 'upload')\n const tasks = filterData.length > 0 ? this.mergeTasks(filterData) : []\n const taskTypes = ['action', 'sign']\n const missingTaskTypes = taskTypes.filter(\n (type) =>\n !tasks.some((task) => task.TaskType === type)\n )\n missingTaskTypes.forEach((type) => {\n tasks.push({\n Created: '',\n Deadline: '',\n Documents: [],\n ForWhom: '',\n ID: '',\n Items: [],\n Status: 'open',\n TaskID: 'other',\n TaskType: type,\n name: `New ${type} Task`,\n })\n })\n\n const docs = tasks.map((s) => {\n let dd = com.timeGoToJS(s.Created)\n const dt = new Date(dd)\n dd = com.timeGoToJS(s.Deadline)\n const deadline = new Date(dd)\n return {\n rand: Math.random(),\n id: s.ID,\n name: s.TaskName,\n created: dt.toLocaleString('en-US'),\n status: s.Status,\n forwhom: s.ForWhom,\n tasktype: s.TaskType,\n taskid: s.TaskID,\n deadline: deadline,\n documents: s.Documents,\n items: s.Items,\n }\n })\n this.rawdocs = docs\n this.loaddocs(docs, this.state.showclosed)\n }\n this.setState({ loading: false })\n })\n })\n .catch((err) => {\n this.setState({ loading: false })\n console.error('Fetch Error :', err)\n })\n }\n\n loaddocs = (docs, showclosed) => {\n if (!showclosed) {\n // let newdocs = []\n // docs.forEach( doc => {\n // if(doc.status !== \"open\")\n // return\n // newdocs.push(doc)\n // } )\n // docs = newdocs\n }\n this.setState({ documents: docs })\n }\n\n forWhomDecoded = (_forwhom) => {\n const { borrower, coborrower } = this.props.application\n\n let forwhom = ''\n if (_forwhom === 'joint' && coborrower.firstname === '' && coborrower.lastname === '') {\n _forwhom = 'borrower'\n }\n\n try {\n switch (_forwhom) {\n case 'borrower':\n forwhom = borrower.firstname + ' ' + borrower.lastname\n break\n case 'coborrower':\n forwhom = coborrower.firstname + ' ' + coborrower.lastname\n break\n case 'joint':\n forwhom = borrower.firstname + ' ' + borrower.lastname + ' and ' + coborrower.firstname + ' ' + coborrower.lastname\n break\n default:\n forwhom = _forwhom\n break\n }\n } catch (x) {\n forwhom = _forwhom\n }\n\n return forwhom\n }\n\n showSign = (index) => {\n const { taskid, id } = this.state.documents[index]\n this.setState({\n redirect: (\n \n ),\n })\n }\n\n documentsJSON = (document, index) => {\n const { name, deadline, status, id, tasktype, documents, items } = document\n const forwhom = this.forWhomDecoded(document.forwhom)\n\n return {\n action: name,\n forwhom,\n _forwhom: document.forwhom,\n duedate: deadline.toLocaleDateString(),\n deadline: deadline,\n status: status,\n id: id,\n index: index,\n tasktype: tasktype,\n documents: documents,\n items: items,\n }\n }\n\n onshowclosed = (checked) => {\n this.setState({ showclosed: !checked })\n this.loaddocs(this.rawdocs, !checked)\n }\n\n handleExpand = (record) => {\n const expandedRowKey = [...this.state.expandedRowKeys]\n const spliceIndex = expandedRowKey.findIndex((item) => record.id === item)\n if (spliceIndex > -1) {\n expandedRowKey.splice(spliceIndex, 1)\n } else {\n expandedRowKey.push(record.id)\n }\n this.setState({\n expandedRowKeys: expandedRowKey,\n })\n }\n\n documentName = (task, doc) => {\n let type = ''\n if (task.tasktype === 'upload') {\n type = 'Document upload'\n } else if (task.tasktype === 'action') {\n type = 'Action items'\n } else {\n type = 'Document sign'\n }\n\n return (\n \n {type}{' '}\n \n |{' '}\n {task.tasktype === 'action' ? doc.Description : doc.FileName}\n \n \n )\n }\n\n showUpload = (doc) => {\n this.setState({\n showUploadModal: true,\n uploadFileList: [],\n modalTitle: doc.FileName,\n docID: doc.ID,\n uploadLoading: false,\n })\n }\n\n base64ToFile = (base64String, fileName, contentType) => {\n const byteCharacters = atob(base64String)\n const byteArrays = []\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\n const slice = byteCharacters.slice(offset, offset + 512)\n const byteNumbers = new Array(slice.length)\n\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i)\n }\n\n const byteArray = new Uint8Array(byteNumbers)\n byteArrays.push(byteArray)\n }\n const file = new File(byteArrays, fileName, { type: contentType })\n return file\n }\n\n uploadSave = () => {\n const token = sessionStorage.getItem('ZeitroA')\n const formData = new FormData()\n for (let i = 0; i < this.state.uploadFileList.length; i++) {\n formData.append(\n 'upload',\n this.state.uploadFileList[i].originFileObj\n )\n }\n this.setState({ uploadLoading: true })\n fetch('/docs/uploaddocumentfortask', {\n cache: 'no-cache',\n method: 'POST',\n body: formData,\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-DocID': this.state.docID,\n },\n })\n .then((response) => {\n this.setState({ uploadLoading: true })\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n // Examine the text in the response\n response.json().then((js) => {\n if (js.Status === 'OK') {\n this.uploadCancel()\n this.reload()\n message.success(js.Text)\n } else {\n message.error(js.Text)\n }\n })\n })\n .catch((error) => {\n // Not Production ready! Do some error handling here instead...\n this.setState({ uploadLoading: true })\n })\n }\n\n uploadCancel = () => {\n this.setState({ showUploadModal: false })\n }\n\n deleteDoc = (id) => {\n const token = sessionStorage.getItem('ZeitroA')\n fetch('/docs/deletedocumentfortask', {\n cache: 'no-cache',\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-DocID': id,\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n // Examine the text in the response\n response.json().then((js) => {\n if (js.Status === 'OK') {\n this.reload()\n message.success(js.Text)\n } else {\n message.error(js.Text)\n }\n })\n })\n .catch((error) => {\n // Not Production ready! Do some error handling here instead...\n })\n }\n\n handleDelete = (index) => {\n const updatedTaskDocuments = [...this.state.uploadFileList]\n updatedTaskDocuments.splice(index, 1)\n this.setState({\n uploadFileList: updatedTaskDocuments,\n })\n }\n\n submitTask = (task) => {\n if (task.tasktype === 'upload') {\n const uploadAll = task.documents.every((item) => item.Data)\n if (!uploadAll) {\n message.error('Please upload all the required documents')\n return\n }\n }\n if (task.tasktype === 'sign') {\n const signatureAll = task.documents.every((item) => item.Uploaded !== '')\n if (!signatureAll) {\n message.error('Please signature all the required documents')\n return\n }\n }\n this.setState({ submitLoading: true })\n const token = sessionStorage.getItem('ZeitroA')\n fetch('/auth/submittask', {\n cache: 'no-cache',\n method: 'GET',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-TaskID': task.id,\n },\n })\n .then((response) => {\n this.setState({ submitLoading: false })\n // if (response.status !== 200) {\n // console.log('Looks like there was a problem. Status Code: ' +\n // response.status);\n // return;\n // }\n // Examine the text in the response\n response\n .json()\n .then((js) => {\n if (js.Status === 'OK') {\n this.reload()\n Modal.success({\n content: 'Thank you for successfully completing your assigned task. We appreciate your promptness. Please be informed that your loan officer has been notified of your completion. They will be in touch shortly to guide you through the next steps of your loan process.',\n icon: null,\n })\n } else {\n message.error(js.Text)\n }\n })\n .catch((error) => {\n this.reload()\n Modal.success({\n content: 'Thank you for successfully completing your assigned task. We appreciate your promptness. Please be informed that your loan officer has been notified of your completion. They will be in touch shortly to guide you through the next steps of your loan process.',\n icon: null,\n })\n })\n })\n .catch((error) => {\n // Not Production ready! Do some error handling here instead...\n this.setState({ submitLoading: false })\n })\n }\n\n convertBytes = (bytes) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\n if (bytes === 0) return '0 Byte'\n const i = Math.floor(Math.log(bytes) / Math.log(1024))\n const size = parseFloat((bytes / Math.pow(1024, i)).toFixed(2))\n return `${size} ${sizes[i]}`\n }\n\n fileType = (type) => {\n const fileType = type.split('/')[1]\n return fileType\n }\n\n fileIcon = (type) => {\n const fileType = type.split('/')[1]\n if (fileType === 'zip') {\n return '/images/zip-icon.svg'\n } else if (fileType === 'pdf') {\n return '/images/pdf-icon.svg'\n } else {\n return '/images/image-icon.svg'\n }\n }\n\n base64ToArrayBuffer = (base64) => {\n const binaryString = atob(base64)\n const len = binaryString.length\n const bytes = new Uint8Array(len)\n\n for (let i = 0; i < len; ++i) {\n bytes[i] = binaryString.charCodeAt(i)\n }\n\n return bytes.buffer\n }\n\n signature = (doc) => {\n const extraInfo = JSON.parse(doc.ExtraInfo)\n const scale = +extraInfo.signData.scale\n const pdf = this.base64ToArrayBuffer(doc.Data)\n const transformedMarkList = extraInfo.signData.markList.flatMap(\n (item) =>\n Object.entries(item).flatMap(([key, value]) =>\n Array.isArray(value)\n ? value.map((style, index) => ({\n page: item.page,\n signid: `page${item.page + 1}signature`,\n pageName: `page${item.page + 1}`,\n type: key,\n key: `borrower.signature${\n key === 'date' ? '.date' : ''\n }`,\n style: {\n left: style.x / scale,\n top: style.y / scale,\n width: style.width / scale,\n height: style.height / scale,\n },\n }))\n : []\n )\n )\n this.setState({\n signMarks: transformedMarkList,\n pdfFile: pdf,\n fileName: doc.FileName,\n docID: doc.ID,\n pdfVisible: true,\n })\n }\n\n onSubmit = (pdfBlob) => {\n const pdfFile = new File([pdfBlob], this.state.fileName, {\n type: 'application/pdf',\n })\n const token = sessionStorage.getItem('ZeitroA')\n const formData = new FormData()\n formData.append('upload', pdfFile)\n fetch('/docs/uploaddocumentfortask', {\n cache: 'no-cache',\n method: 'POST',\n body: formData,\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-DocID': this.state.docID,\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n // Examine the text in the response\n response.json().then((js) => {\n if (js.Status === 'OK') {\n this.setState({ pdfVisible: false })\n this.reload()\n message.success(js.Text)\n } else {\n message.error(js.Text)\n }\n })\n })\n .catch((error) => {\n // Not Production ready! Do some error handling here instead...\n message.error(error)\n })\n }\n\n expandedContent = (record) => {\n const documents = record.tasktype === 'action' ? record.items : record.documents\n\n return (\n
\n \n \n Required actions({documents.length})\n \n {record.status !== 'closed' && record.tasktype === 'action'\n ? record.items.length > 0\n : record.documents.length > 0 && (\n this.submitTask(record)}\n >\n {record.tasktype === 'action' ? 'Mark as done' : 'Submit'}\n \n )}\n
\n
\n {record.tasktype !== 'sign'\n ? documents.map((item) => (\n \n
\n
\n
\n {this.documentName(record, item)}\n
\n {record.tasktype === 'upload' &&\n item.Uploaded === '' && (\n Not upload\n )}\n
\n {record.status !== 'closed' &&\n item.Data && (\n
\n
\n \n
\n
\n {item.FileName}.\n {this.fileType(item.MimeType)}\n
\n
\n {this.convertBytes(\n this.base64ToFile(\n item.Data,\n item.FileName,\n item.MimeType\n ).size\n )}\n
\n
\n
\n this.deleteDoc(item.ID)}\n okText=\"Yes\"\n cancelText=\"No\"\n >\n
\n \n
\n \n
\n )}\n
\n {record.tasktype === 'upload' &&\n item.Uploaded === '' && (\n this.showUpload(item)}\n />\n )}\n {record.status === 'closed' && item.Data && (\n
\n \n \n {item.FileName}.\n {this.fileType(item.MimeType)}\n \n
\n )}\n
\n ))\n : documents.map((item) => (\n
\n
\n {this.documentName(record, item)}\n
\n
\n {dayjs(item.DueDate).format('MM/DD/YYYY')}\n
\n
\n
\n \n {item.FileName}\n
\n {item.Uploaded === '' && (\n \n this.signature(item)\n }\n >\n Sign\n \n )}\n
\n
\n ))}\n \n \n )\n }\n\n mapType = (type) => {\n const map = {\n upload: 'Document upload',\n sign: 'Document sign',\n action: 'Customized task',\n }\n return map[type]\n }\n\n noTasks = (item) => {\n if (item.tasktype === 'action') {\n return item.items.length === 0\n } else {\n return item.documents.length === 0\n }\n }\n\n changeCollapse = (e) => {\n this.setState({ activeKeys: e })\n }\n\n customHeader = (item) => {\n let percent = 0\n let completed = 0\n if (item.tasktype === 'upload') {\n completed = item.documents.filter((file) => file.Data).length\n percent = (completed / item.documents.length) * 100\n } else {\n if (item.tasktype === 'action') {\n completed = item.status === 'closed' ? item.items.length : 0\n } else {\n completed = item.status === 'closed' ? item.documents.length : 0\n }\n percent = item.status === 'closed' ? 100 : 0\n }\n\n return (\n
\n
{this.mapType(item.tasktype)}
\n \n Latest update on{' '}\n {this.noTasks(item) ? (\n --\n ) : (\n dayjs(item.deadline).format('MM/DD/YYYY')\n )}\n
\n
\n (\n \n {completed}\n \n )}\n />\n \n {this.noTasks(item) ? (\n No tasks\n ) : (\n `${completed} / ${ item.tasktype === 'action' ? item.items.length : item.documents.length } COMPLETED`\n )}\n \n
\n \n )\n }\n render() {\n const documentTotal = () => {\n let totalLength = 0\n if (this.state.documents.length > 0) {\n this.state.documents.map(this.documentsJSON).forEach((task) => {\n if (task.tasktype === 'action') {\n totalLength += task.items.length\n } else {\n totalLength += task.documents.length\n }\n })\n }\n return totalLength\n }\n\n const showTaskTable = () => {\n return (\n
\n
\n (\n \n )}\n expandIconPosition=\"end\"\n onChange={this.changeCollapse}\n >\n {this.state.documents\n .map(this.documentsJSON)\n .map((item) => (\n \n
\n {this.expandedContent(item)}\n
\n \n ))}\n \n
\n
\n )\n }\n\n const draggerProps = {\n name: 'file',\n className: 'file-upload',\n // maxCount: 1,\n fileList: this.state.uploadFileList,\n showUploadList: false,\n onChange: (info) => {\n const { status } = info.file\n if (status !== 'uploading') {\n console.log(info.file, info.fileList)\n }\n if (status === 'done') {\n console.log(info.file.name)\n } else if (status === 'error') {\n console.log(`${info.file.name} file upload failed.`)\n }\n const fileList = [...info.fileList]\n this.setState({ uploadFileList: fileList })\n },\n onDrop: (e) => {\n console.log('Dropped files', e.dataTransfer.files)\n },\n beforeUpload: (file) => {\n const allowedFileTypes = [\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n ]\n const fileType = file.type\n const isAllowed = allowedFileTypes.includes(fileType)\n if (!isAllowed) {\n message.warning('You can only upload image and PDF files.')\n return Upload.LIST_IGNORE\n }\n return false\n },\n }\n\n return (\n
\n {this.state.redirect}\n \n Cancel\n ,\n \n Add files\n ,\n ]}\n >\n {' '}\n \n \n
\n Upload files | {this.state.modalTitle}\n
\n
\n
\n \n \n
\n \n
\n
\n Drag & Drop or{' '}\n \n Choose File\n {' '}\n to upload\n
\n
\n \n \n
\n \n {this.state.uploadFileList.map((item, index) => (\n
\n
\n
\n \n
\n
\n {item.name}\n
\n
\n {this.convertBytes(\n item.size\n )}\n
\n
\n
\n
\n \n this.handleDelete(index)\n }\n />\n
\n
\n \n ))}\n \n \n \n\n \n  \n \n \n \n
\n \n {documentTotal()} Task\n \n
\n \n \n {this.state.pdfVisible ? (\n this.setState({ pdfVisible: false })}\n />\n ) : null}\n {this.state.loading ? (\n \n ) : (\n
\n {this.state.documents.length === 0 ? (\n
\n There are currently no outstanding tasks\n
\n ) : (\n
{showTaskTable()}
\n )}\n
\n )}\n \n )\n }\n}\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Tasks))\n","import React, { Component } from \"react\";\nimport Calendar from \"react-calendar\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport InputGroup from \"react-bootstrap/InputGroup\";\nimport Form from \"react-bootstrap/Form\";\n\nimport \"./App.css\";\nimport \"./Calendar.css\";\nexport default class DateOfBirth extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n max: false,\n };\n let now = new Date();\n //now.setFullYear(now.getFullYear() - 18)\n this.max = now;\n if (this.props.maxdate) this.max = this.props.maxdate;\n this.ref = React.createRef();\n if (this.props.onRef) {\n this.props.onRef(this.ref);\n }\n }\n componentDidMount() {}\n\n componentWillUnmount() {}\n\n onChange = (e) => {\n this.props.onChange(e);\n };\n show = (e) => {};\n hide = (e) => {\n this.setState({ show: false });\n };\n press = (e) => {\n this.setState({ show: true });\n };\n setCustomValidity(what) {\n if (this.ref.current) this.ref.current.setCustomValidity(what);\n }\n setFocus() {\n if (this.ref.current) this.ref.current.setFocus();\n }\n container = (event) => {\n event.preventDefault();\n event.stopPropagation();\n };\n dateSelected = (e) => {\n let v =\n (\"0\" + (e.getMonth() + 1)).slice(-2) +\n \"/\" +\n (\"0\" + e.getDate()).slice(-2) +\n \"/\" +\n e.getFullYear();\n\n this.props.onChange({ target: { value: v } });\n this.setState({ show: false });\n };\n seed = () => {\n if (this.props.value === \"\") {\n return new Date();\n } else {\n let n = new Date(this.props.value);\n let old = new Date(1960, 0, 1);\n if (n < old) return old;\n return n;\n }\n };\n renderCalendar = () => {\n return (\n \n \n \n \n \n
\n \n
\n \n \n );\n };\n\n render() {\n return (\n \n \n \n \n \n \n {/* */}\n \n {this.props.negativefeedback}\n \n \n {this.state.show ? this.renderCalendar() : \"\"}\n \n );\n }\n}\n","import * as def from '../Defs/accountinfodefs'\n\nexport const updateIsHardMoneyLoan = (payload) => ({\n type: def.IS_HARD_MONEY_LOAN,\n payload: payload,\n });\n\nexport const updateLeadSource = (payload) => ({\n type: def.UPDATE_LEAD_SOURCE,\n payload: payload,\n});\n","import React from \"react\"\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger'\nimport Popover from 'react-bootstrap/Popover'\nimport Tooltip from 'react-bootstrap/Tooltip'\nimport { Tooltip as Totip } from 'antd'\nimport \"./Component.css\"\n\nconst catchall = text =>\n (props) => {\n let p = { ...props, 'show': 'true' }\n return (\n \n {text}\n \n \n )\n }\nexport const tooltip = (title, text, placement, cls, nocomma) => {\n if (\"undefined\" === typeof placement)\n placement = \"bottom\"\n let cla = \"pb-2\"\n\n if (\"undefined\" !== typeof cls) {\n cla = cls\n }\n let last = \"\"\n if (typeof title === \"object\") {\n } else {\n let split = title.split(' ')\n if (split.length > 1) {\n last = split[split.length - 1]\n title = split.slice(0, split.length - 1).join(' ')\n }\n }\n return (\n
\n \n
{title} {last}{nocomma ? '' : ':'}
\n \n
)\n}\nexport const tooltipWhite = (title, text, placement, cls, nocomma, size) => {\n if (\"undefined\" === typeof placement)\n placement = \"bottom\"\n let cla = \"pb-2\"\n\n if (\"undefined\" !== typeof cls) {\n cla = cls\n }\n let last = \"\"\n if (typeof title === \"object\") {\n } else {\n let split = title.split(' ')\n if (split.length > 1) {\n last = split[split.length - 1]\n title = split.slice(0, split.length - 1).join(' ')\n }\n }\n return (\n
\n \n
{title} {last}{\n size ? : \n }{nocomma ? '' : ':'}
\n \n
)\n}\nexport const tooltipFlat = (title, text, placement, cls, nocomma, noquestion) => {\n if (\"undefined\" === typeof placement)\n placement = \"bottom\"\n let cla = \"pb-2\"\n let question = \n if (noquestion === false)\n question = \"\"\n if (\"undefined\" !== typeof cls) {\n cla = cls\n }\n let last = \"\"\n if (typeof title === \"object\") {\n } else {\n let split = title.split(' ')\n if (split.length > 1) {\n last = split[split.length - 1]\n title = split.slice(0, split.length - 1).join(' ')\n }\n }\n return (\n \n \n {title} {last}{question}{nocomma ? '' : ':'}\n \n )\n}\nexport const MonhtlyChange = (old, nw, code) => {\n\n if (Math.round(old - nw) === 0) {\n let text = No improvement\n return (\n
\n \n {code} \n \n
)\n }\n\n if (old < nw) {\n let text = Monthly payment higher by {\"$\" + (nw - old).toFixed(2)} \n return (\n
\n \n {code} \n \n
)\n }\n\n let text = Monthly payment lower by {\"$\" + (old - nw).toFixed(2)} !\n\n return (\n
\n \n {code} \n \n
)\n}\n\nexport const MonhtlyChangeBP = (old, nw, breakEven, code) => {\n\n if (Math.round(old - nw) === 0) {\n let text = No improvement\n return (\n
\n \n {code} \n \n
)\n }\n let be = \"\"\n if (breakEven !== -1) {\n be =
Break even in {breakEven} months
\n }\n if (old < nw) {\n let text = Monthly payment higher by {\"$\" + (nw - old).toFixed(2)} \n return (\n
\n \n {code} \n \n
)\n }\n\n let text = Monthly payment lower by {\"$\" + (old - nw).toFixed(2)} ! {be}\n\n return (\n
\n \n {code} \n \n
)\n}\n\nexport const Tips = ({ content, title, placement, color, style, className }) => {\n const getSrc = () => {\n if (color === \"white\") {\n return \"/images/questionMarkWhite.png\"\n } else if (color === \"blue\") {\n return \"/images/questionMarkBlue.png\"\n }\n return \"/images/questionMark.svg\"\n }\n\n return (\n\n <>\n \n
\n \n INSIGHTS\n
\n {title !== \"\" ?
\n {title}\n
: \"\"}\n
\n {content}\n
\n \n } key={color} color=\"#fff\">\n \n \n\n\n\n\n\n \n\n )\n}","import React, { useState, useEffect } from 'react'\nimport {\n Form,\n InputGroup,\n} from \"react-bootstrap\"\n\nexport default function InputGroupComponent(props) {\n const { placeholderValue } = props\n\n const [placeholder, setPlaceholder] = useState(\"\")\n\n useEffect(() => {\n setPlaceholder(placeholderValue)\n }, [placeholderValue])\n\n return (\n
\n \n \n \n
\n )\n}\n","import React, {Component, useState, useEffect} from \"react\";\nimport * as com from \"../Common.js\";\nimport Form from \"react-bootstrap/Form\";\nimport {Col, Row, Select} from \"antd\";\nimport {InputGroup} from \"react-bootstrap\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"../App.css\";\nvar parser = require(\"parse-address\");\n\nexport default class AddressAutocomplete extends Component {\n constructor(props) {\n super(props);\n this.ref = React.createRef();\n this.state = {\n value: props.defaultValue,\n };\n }\n\n onValidate = (adr) => {\n if (!this.props.onCompletion) {\n this.ref.current.setCustomValidity(\"\");\n let parsed = parser.parseLocation(adr);\n if (parsed != null) {\n let busted = false;\n if (parsed.number === undefined) {\n busted = true;\n this.ref.current.setCustomValidity(\"Need to specify house number\");\n }\n if (parsed.zip === undefined) {\n busted = true;\n this.ref.current.setCustomValidity(\"Need to specify zip code\");\n }\n if (!busted) this.ref.current.setCustomValidity(\"\");\n console.log(\"parsed addr\", JSON.stringify(parsed));\n }\n }\n };\n onChange = (e) => {\n e.preventDefault();\n let adr = e.target.value;\n this.onValidate(adr);\n\n this.props.onChange(e);\n };\n onBlur = (e) => {\n let adr = e.target.value;\n this.onValidate(adr);\n if (this.props.onBlur != null) {\n this.props.onBlur(e);\n }\n };\n componentDidMount() {\n if (window.google == null) return;\n this.autocomplete = new window.google.maps.places.Autocomplete(document.getElementById(this.props.id), {\n types: [\"address\"],\n componentRestrictions: {country: \"us\"},\n });\n\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\n this.onValidate(this.props.defaultValue);\n }\n handlePlaceSelect = () => {\n let addressObject = this.autocomplete.getPlace();\n let address = addressObject.address_components;\n\n if (\"undefined\" === typeof address) return;\n\n let num = com.getSubaddress(address, \"street_number\", \"long_name\");\n let str = com.getSubaddress(address, \"route\", \"long_name\");\n\n if (this.props.onCompletion) {\n let straddr = `${num} ${str}`;\n this.ref.current.value = straddr;\n this.onValidate(address);\n //this.props.onChange({target: {value: straddr}})\n this.props.onCompletion(address);\n } else {\n let city = com.getSubaddress(address, \"locality\", \"long_name\");\n let state = com.getSubaddress(address, \"administrative_area_level_1\", \"short_name\");\n let zip = com.getSubaddress(address, \"postal_code\", \"long_name\");\n let zips = com.getSubaddress(address, \"postal_code_suffix\", \"short_name\");\n //let country = com.getSubaddress(address, \"country\", \"long_name\")\n\n if (zips !== \"\") zip = zip + \"-\" + zips;\n\n let straddr = `${num} ${str}, ${city}, ${state} ${zip}`;\n this.onValidate(straddr);\n this.props.onChange({target: {value: straddr}});\n }\n };\n render = () => {\n return (\n \n {this.props.label !== null && this.props.label !== \"\" ? (\n {this.props.label}\n ) : (\n \"\"\n )}\n \n {this.props.goodfeedback}\n {this.props.badfeedback}\n \n );\n };\n}\n\nexport const AddressComponent = ({id, label, address, state, county, city, zip, onAddressLineChange, onStateChange, onCountyChange, onCityChange, onZipChange, placeholder, cityPlaceholder, zipPlaceholder}) => {\n const [loanLimits, setLoanLimits] = useState([]);\n const [addressLine, setAddressLine] = useState(address);\n const [addressState, setAddressState] = useState(state);\n const [addressCounty, setAddressCounty] = useState(county);\n const [addressCity, setAddressCity] = useState(city);\n const [addressZip, setAddressZip] = useState(zip);\n\n useEffect(() => {\n fetchLoanLimits();\n }, []);\n\n const fetchLoanLimits = () => {\n fetch(\"/data/loanlimits\")\n .then((res) => {\n if (!res.ok) {\n throw Error(res.statusText);\n }\n return res.json();\n })\n .then((res) => {\n setLoanLimits(res);\n })\n .catch((err) => {\n console.error(err);\n });\n };\n\n const getStates = () => {\n let options = [];\n let keys = Object.keys(loanLimits);\n\n keys.forEach((x) => {\n options.push();\n });\n return options;\n };\n\n const getCounties = () => {\n let options = [];\n\n try {\n if (loanLimits[addressState.toUpperCase()]) {\n let keys = Object.keys(loanLimits[addressState.toUpperCase()]);\n keys.forEach((x) => {\n options.push();\n });\n }\n } catch (error) {\n console.log(error);\n }\n return options;\n };\n\n const onStreetAddressCompletion = (address) => {\n let num = com.getSubaddress(address, \"street_number\", \"long_name\");\n let city = com.getSubaddress(address, \"locality\", \"long_name\");\n let state = com.getSubaddress(address, \"administrative_area_level_1\", \"short_name\");\n let zip = com.getSubaddress(address, \"postal_code\", \"long_name\");\n let county = com.getSubaddress(address, \"administrative_area_level_2\", \"long_name\");\n\n let longstate = com.getSubaddress(address, \"administrative_area_level_1\", \"long_name\");\n let short = com.getSubaddress(address, \"route\", \"short_name\");\n let stradd = num + \" \" + short;\n\n setAddressLine(stradd);\n setAddressState(longstate);\n setAddressCounty(county);\n setAddressCity(city);\n setAddressZip(zip);\n\n onAddressLineChange(stradd);\n onStateChange(longstate);\n onCountyChange(county);\n onCityChange(city);\n onZipChange(zip);\n };\n\n return (\n
\n \n
\n {\n setAddressLine(e.target.value);\n onAddressLineChange(e.target.value);\n }}\n placeholder={placeholder ? placeholder : \"Enter the address\"}\n goodfeedback=\"\"\n badfeedback=\"Please provide your street address.\"\n onCompletion={(e) => onStreetAddressCompletion(e)}\n size=\"md\"\n />\n \n \n \n \n {\n setAddressState(e);\n onStateChange(e);\n }}>\n {getStates()}\n \n \n \n {\n setAddressCounty(e);\n onCountyChange(e);\n }}\n value={addressCounty || \"County\"}>\n {getCounties()}\n \n \n \n \n {\n setAddressCity(e.target.value);\n onCityChange(e.target.value);\n }}\n value={addressCity}\n placeholder={cityPlaceholder ? cityPlaceholder : \"City\"}\n />\n \n \n \n \n {\n setAddressZip(e.target.value);\n onZipChange(e.target.value);\n }}\n value={addressZip}\n placeholder={zipPlaceholder ? zipPlaceholder : \"Zip code\"}\n />\n \n \n \n \n );\n};\n","import { EventEmitter } from 'events';\r\nconst eventBus = new EventEmitter();\r\nexport default eventBus;","import { isEmpty } from 'lodash'\nimport * as com from '../Common'\n\n/**\n * Get states from loan limits\n * @param {*} loanLimits\n * @returns\n */\nexport const getStates = (loanLimits) => {\n const options = []\n options.push({ value: '', label: 'Select state' })\n\n // Handle cases where loanLimits is undefined, null or empty\n if (isEmpty(loanLimits)) {\n return options\n }\n\n const keys = Object.keys(loanLimits)\n keys.forEach((x) => {\n options.push({ value: com.capitalize(x), label: com.capitalize(x) })\n })\n\n return options\n}\n\n/**\n * Get counties from loan limits with a given state\n * @param {*} loanLimits\n * @param {*} state\n * @returns\n */\nexport const getCounties = (loanLimits, state) => {\n const options = []\n options.push({ value: '', label: 'Select county' })\n\n // Handle cases where loanLimits or state is undefined, null or empty\n if (isEmpty(loanLimits) || isEmpty(state)) {\n return options\n }\n\n const stateData = loanLimits[state.toUpperCase()]\n if (!isEmpty(stateData)) {\n const keys = Object.keys(stateData)\n keys.forEach((x) => {\n options.push({ value: com.capitalize(x), label: com.capitalize(x) })\n })\n }\n\n return options\n}\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { Checkbox, DatePicker, Input, InputNumber, Select, Switch } from 'antd'\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Modal from 'react-bootstrap/Modal'\nimport Button from 'react-bootstrap/Button'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash'\nimport './ApplicationInterview.css'\nimport '../BorrowerApplication.css'\nimport DateOfBirth from '../DateOfBirth'\nimport * as act from '../Store/actions'\nimport * as st from '../State'\nimport * as com from '../Common'\nimport { UpdateChangeProgress, UpdateChangeLastTouch } from '../Store/progress'\nimport { updateLeadSource } from '../Store/accountinfo'\nimport { Tips } from '../Common/Tooltip'\nimport InputGroupComponent from '../Common/InputGroup'\nimport AddressAutocomplete from '../Common/AddressAutocomplete'\nimport CheckGroup from '../Common/components/CheckGroup'\nimport eventBus from '../Bus'\nimport { getStates, getCounties } from '../Tools/Address'\n\nconst PHONE_NUMBER_PLACEHOLDER = '(000)-000-0000'\n\nconst visas = [\n st.VT_A_1,\n st.VT_E_1,\n st.VT_E_2,\n st.VT_E_3,\n st.VT_F_1,\n st.VT_G_1,\n st.VT_G_2,\n st.VT_G_3,\n st.VT_G_4,\n st.VT_H_1B,\n st.VT_H_4,\n st.VT_L_1,\n st.VT_L_2,\n st.VT_O_1,\n st.VT_O_2,\n st.VT_O_3,\n st.VT_P_1,\n st.VT_P_2,\n st.VT_P_3,\n st.VT_P_4,\n st.VT_TN,\n]\n\nclass PhoneInput extends Component {\n constructor(props) {\n super(props)\n this.state = {\n displayValue: props.value === PHONE_NUMBER_PLACEHOLDER ? '' : props.value\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({\n displayValue: this.props.value === PHONE_NUMBER_PLACEHOLDER ? '' : this.props.value\n })\n }\n }\n\n handleChange = (e) => {\n const { onChange } = this.props\n // limit input length to 14 characters (format like: (123)-456-7890)\n const newValue = e.target.value.slice(0, 14)\n // update internal display value\n this.setState({ displayValue: newValue })\n // trigger external onChange\n onChange({\n target: {\n value: newValue || PHONE_NUMBER_PLACEHOLDER\n }\n })\n }\n\n render() {\n const { type, phoneRef, onDelete, onTypeChange, showDelete = true } = this.props\n const { displayValue } = this.state\n const isEmpty = !displayValue\n\n const availableTypes = this.props.availableTypes || ['home', 'mobile', 'work'];\n return (\n
\n
\n
\n {showDelete && (\n
\n onDelete(type)}\n >\n Delete\n \n
\n )}\n
\n {\n if (!/[0-9-()\\s]/.test(e.key)) {\n e.preventDefault()\n }\n }}\n />\n
\n \n {availableTypes.map(phoneType => (\n \n {phoneType.charAt(0).toUpperCase() + phoneType.slice(1)}\n \n ))}\n \n
\n \n Please enter a valid phone number.\n \n
\n
\n
\n )\n }\n}\n\nconst mapStateToProps = (state) => {\n // Helper function to determine occupation status based on employment and self-employment flags\n const getOccupation = (employed, selfemployed) => {\n if (employed !== 'employed') return 'unemployed'\n return selfemployed ? 'selfemployed' : 'employed'\n }\n\n return {\n application: state.application,\n accountInfo: state.accountInfo,\n hascoborrower: state.application.hascoborrower,\n property: state.application.property,\n cohabiting: state.application.cohabiting,\n financingsameproperty: state.application.financingsameproperty,\n borroweroccupation: getOccupation(\n state.application.borrower.occupation.hasoccupation,\n state.application.borrower.occupation.selfemployed\n ),\n coborroweroccupation:\n 'co' +\n getOccupation(\n state.application.coborrower.occupation.hasoccupation,\n state.application.coborrower.occupation.selfemployed\n ),\n progress: state.progress,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateLeadSource: (t) => {\n dispatch(updateLeadSource(t))\n },\n changeBorrowerInfoByValue: (val, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(val, who, verb))\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n updateSameProperty: (event) => {\n dispatch(act.UpdateSameProperty(event.target.checked))\n },\n updateCurrentResidence: (event) => {\n dispatch(act.UpdateCurrentResidence(event.target.value))\n },\n updateCoborrower: (event) => {\n dispatch(act.UpdateHasCoborrower(event.target.value))\n },\n updateCohabiting: (event) => {\n dispatch(act.UpdateCohabiting(event.target.checked))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n changeMainPropertyPurpose: (event) => {\n dispatch(act.ChangeMainPropertyPurpose(event.target.value))\n },\n changeMainPropertyAppraisal: (event) => {\n dispatch(act.ChangeMainPropertyAppraisal(event.target.value))\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\n },\n updateBorrowerAttribute: (who, value, verb) => {\n dispatch(act.UpdateBorrowerAttribute(who, value, verb))\n },\n changeMainPropertySalesPrice: (event) => {\n dispatch(act.ChangeMainPropertySalesPrice(event.target.value))\n },\n addPreviousAddress: (event, who) => {\n dispatch(act.AddPreviousAddress(event.target.value, who))\n },\n updatePreviousAddress: (event, who, verb, n) => {\n dispatch(act.UpdatePreviousAddress(event.target.value, who, verb, n))\n },\n removePreviousAddress: (event, who, n) => {\n dispatch(act.RemovePreviousAddress(event.target.value, who, n))\n },\n clearPreviousAddress: (event, who) => {\n dispatch(act.ClearPreviousAddress(event.target.value, who))\n },\n changeOccupationInfo: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(event.target.value, who, verb))\n },\n changeOccupationCheck: (check, who, verb) => {\n dispatch(act.ChangeOccupationInfo(check, who, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n updateApplicationCheck: (event, verb) => {\n dispatch(act.UpdateApplicationAttribute(event.target.checked, verb))\n },\n changeMainPropertyPropertyType: (event) => {\n dispatch(act.ChangeMainPropertyPropertyType(event.target.value))\n },\n updateChangeProgress: (step, stage) => {\n dispatch(UpdateChangeProgress(step, stage))\n },\n addRemoteCoborrower: (i) => {\n dispatch(act.AddRemoteCoborrower(i))\n },\n changeMainPropertyRefinanceAttribute: (value, verb) => {\n dispatch(act.ChangeMainPropertyRefinanceAttribute(value, verb))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n changeReviewedLoans: (value) => {\n dispatch(act.ChangeReviewedLoans(value))\n },\n changeMainPropertyOccupancy: (event) => {\n dispatch(act.ChangeMainPropertyOccupancy(event.target.value))\n },\n clearBorrowerGift: () => {\n dispatch(act.ClearBorrowerGift())\n },\n clearBorrowerInsurance: () => {\n dispatch(act.ClearBorrowerInsurance())\n },\n addBorrowerOwnedProperty: (t) => {\n dispatch(act.AddBorrowerOwnedProperty(t))\n },\n prependOwnedProperty: (t) => {\n dispatch(act.PrependOwnedProperty(t))\n },\n prependBorrowerOwnedProperty: () => {\n dispatch(act.PrependBorrowerOwnedProperty())\n },\n prependCoborrowerOwnedProperty: () => {\n dispatch(act.PrependCoborrowerOwnedProperty())\n },\n changeOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeOwnedProperty(t, i, v))\n },\n changeBorrowerOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeBorrowerOwnedProperty(t, i, v))\n },\n changeCoborrowerOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeCoborrowerOwnedProperty(t, i, v))\n },\n removeOwnedProperty: (i) => {\n dispatch(act.RemoveOwnedProperty(i))\n },\n removeBorrowerOwnedProperty: (i) => {\n dispatch(act.RemoveBorrowerOwnedProperty(i))\n },\n removeCoborrowerOwnedProperty: (i) => {\n dispatch(act.RemoveCoborrowerOwnedProperty(i))\n },\n clearBorrowerOwnedProperty: (t) => {\n dispatch(act.ClearBorrowerOwnedProperty(t))\n },\n updateChangeLastTouch: (t) => {\n dispatch(UpdateChangeLastTouch(t))\n },\n updateExpenses: (event, who, verb) => {\n dispatch(act.UpdateExpenses(event, who, verb))\n },\n changeBorrowerCheck: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.checked, who, verb))\n },\n})\n\nclass Applicant extends Component {\n constructor(props) {\n super(props)\n\n this.form = React.createRef()\n this.cform = React.createRef()\n\n this.state = {\n selectedalone: props.hascoborrower ? '' : 'selected',\n withcoborrower: props.hascoborrower ? 'selected' : '',\n show: false,\n email: '',\n isValidEmail: true,\n showSelf: false,\n showCashout: false,\n qualify: '',\n additional: '',\n residence: '',\n validated: false,\n loanLimits: {},\n sameAddress: false,\n }\n\n this.radiocoborrower = React.createRef()\n this.homePhoneRef = React.createRef()\n this.mobilePhoneRef = React.createRef()\n this.workPhoneRef = React.createRef()\n this.dob = React.createRef()\n\n if (sessionStorage.getItem('ZeitroA') !== null) {\n const { firstname, lastname } = this.props.application.borrower\n if (firstname === '' && lastname === '') {\n this.getName()\n }\n }\n\n if (this.props.application.firsttimebuyer === null) {\n this.props.updateApplicationAttribute(false, 'firsttimebuyer')\n }\n }\n\n onRef = (ref) => {\n this.dob = ref\n }\n\n getName = async () => {\n try {\n const token = sessionStorage.getItem('ZeitroA')\n const response = await fetch('/auth/getprofile', {\n method: 'GET',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-Borrower': this.props.borrowerid,\n },\n })\n\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n\n const js = await response.json()\n\n if (js.Status !== 'OK') {\n console.error('Error: ' + js.Text)\n return\n }\n\n // Update borrower info\n this.props.changeBorrowerInfo(\n { target: { value: js.FirstName } },\n 'borrower',\n 'firstname'\n )\n this.props.changeBorrowerInfo(\n { target: { value: js.LastName } },\n 'borrower',\n 'lastname'\n )\n this.props.changeBorrowerInfo(\n { target: { value: js.Email } },\n 'borrower',\n 'email'\n )\n\n } catch (err) {\n console.error('Fetch Error:', err)\n }\n }\n\n updateBorrower = async () => {\n try {\n const token = sessionStorage.getItem('ZeitroA')\n const bo = this.props.application.borrower\n const cb = this.props.application.coborrower\n\n const response = await fetch('/auth/updateborrower', {\n body: JSON.stringify({\n Email: bo.email,\n FirstName: bo.firstname,\n MiddleName: bo.middlename,\n LastName: bo.lastname,\n CoborrowerFirstName: cb.firstname,\n CoborrowerMiddleName: cb.middlename,\n CoborrowerLastName: cb.lastname,\n CoborrowerEmail: cb.email,\n CoborrowerPhone: cb.homephone,\n }),\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'X-Borrower': this.props.borrowerid,\n },\n })\n\n if (response.status !== 200) {\n console.warn('Looks like there was a problem. Status Code: ' + response.status)\n return\n }\n } catch (err) {\n console.error('Fetch Error:', err)\n }\n }\n\n updateYears = (value) => {\n com.touch()\n\n const { who } = this.props\n const { previousaddresses } = this.props.application[who]\n\n if (value !== '' && parseInt(value) < 2 && previousaddresses.length === 0) {\n this.props.addPreviousAddress(\n { target: { value: 0 } },\n who\n )\n this.props.changeBorrowerInfo(\n { target: { value: '0' } },\n who,\n 'presentaddressmonths'\n )\n }\n\n if (value !== '' && parseInt(value) >= 2 && previousaddresses.length !== 0) {\n this.props.clearPreviousAddress(\n { target: { value: 0 } },\n who\n )\n }\n\n this.props.changeBorrowerInfo(\n { target: { value } },\n who,\n 'presentaddressyears'\n )\n }\n\n updateMonths = (value) => {\n com.touch()\n\n this.props.changeBorrowerInfo(\n { target: { value } },\n this.props.who,\n 'presentaddressmonths'\n )\n }\n\n componentDidMount() {\n if (this.props.application.hascoborrower === null) {\n this.updateCoborrower({ target: { value: st.HC_Alone } })\n }\n\n this.completion()\n this.setState({ sameAddress: this.hasSameAddress() })\n\n const inputs = document.querySelectorAll('input')\n // Iterate over each input\n inputs.forEach(function (input) {\n // Set autocomplete attribute to off or new-password\n input.setAttribute('autocomplete', 'off')\n if (input.type === 'password') {\n input.setAttribute('autocomplete', 'new-password')\n }\n })\n }\n\n componentDidUpdate() {\n this.completion()\n }\n\n completion = () => {\n const formElements = this.form.current.elements\n if (formElements.length === 0) {\n sessionStorage.setItem('progressValue', 100)\n return\n }\n\n let totalCount = 0\n let fillNum = 0\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (element.type !== 'button') {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem('progressValue', progressValue)\n }\n\n hasSameAddress = () => {\n const application = this.props.application\n const borrower = application.borrower\n const coBorrower = application.coborrower\n\n return (\n borrower.presentaddressstreet === coBorrower.presentaddressstreet &&\n borrower.presentaddressstate === coBorrower.presentaddressstate &&\n borrower.presentaddresscounty === coBorrower.presentaddresscounty &&\n borrower.presentaddresscity === coBorrower.presentaddresscity &&\n borrower.presentaddresszip === coBorrower.presentaddresszip\n )\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n onFinish = () => {\n const { who } = this.props\n const { hascoborrower } = this.props.application\n const { completedsteps } = this.props.application[who] || {}\n\n if (who === com.coborrower && hascoborrower !== 'withcoborrower') {\n return\n }\n\n if (!completedsteps?.yourinfo) {\n // Mark the step as completed\n this.props.changeBorrowerInfo(\n {\n target: {\n value: { ...completedsteps, yourinfo: true },\n },\n },\n who,\n 'completedsteps'\n )\n }\n }\n\n handleSubmit = (e) => {\n const { who } = this.props\n const { homephone, mobilephone, workphone } = this.props.application[who]\n const phones = [\n { value: homephone, ref: this.homePhoneRef },\n { value: mobilephone, ref: this.mobilePhoneRef },\n { value: workphone, ref: this.workPhoneRef }\n ]\n\n // Check all existing phone numbers\n let isValid = true\n phones.forEach(({ value, ref }) => {\n if (ref.current) {\n if (value && value.length !== 14) {\n ref.current.setCustomValidity('Incorrect phone number format.')\n isValid = false\n } else if (value) {\n ref.current.setCustomValidity('')\n }\n }\n })\n\n if (!isValid) {\n this.setState({ validated: true })\n return false\n }\n\n if (this.form.current.reportValidity() === false) {\n e.preventDefault()\n this.setState({ validated: true })\n return false\n }\n\n const { hascoborrower } = this.props.application\n if (hascoborrower === 'withcoborrower') {\n if (this.cform.current.reportValidity() === false) {\n e.preventDefault()\n e.stopPropagation()\n this.setState({ validated: true })\n return false\n }\n }\n\n const { purpose } = this.props.property\n if (purpose !== st.POL_Purchase && this.props.financingsameproperty) {\n this.props.changeBorrowerInfo(\n { target: { value: st.O_Own } },\n com.borrower,\n 'presentaddressownership'\n )\n }\n\n this.updateBorrower()\n\n return true\n }\n\n chooseBorrower = (event) => {\n com.touch()\n this.radioself.current.checked = true\n this.updateCoborrower({ target: { value: st.HC_Alone } }) // this is a hack\n }\n\n chooseCoborrower = (event) => {\n com.touch()\n this.radiocoborrower.current.checked = true\n this.updateCoborrower({ target: { value: st.HC_Withcoborrower } }) // this is a hack\n }\n\n updateCoborrower = (event) => {\n com.touch()\n\n const eventTargetId = event.target.id\n if (eventTargetId === 'multiple') {\n if (this.props.application.remotecoborrowers.length === 0)\n this.props.addRemoteCoborrower()\n }\n if (eventTargetId === 'withcoborrower') {\n this.updateMarried({ target: { value: 'true' } })\n }\n if (eventTargetId === 'alone') {\n this.updateMarried({ target: { value: 'false' } })\n }\n\n this.props.updateCoborrower(event)\n }\n\n updateCohabiting = (e) => {\n com.touch()\n this.props.updateCohabiting({\n target: { checked: e.target.value === 'true' },\n })\n }\n\n updateMarried = (e) => {\n com.touch()\n this.props.updateApplicationAttribute(\n e.target.value === 'true',\n st.MS_Married\n )\n }\n\n changeMainPropertyAppraisal = (e) => {\n com.touch()\n\n const { purpose } = this.props.property\n if (purpose !== st.POL_Purchase && this.props.financingsameproperty) {\n this.props.changeBorrowerInfo(e, com.borrower, 'marketvalue')\n }\n\n this.props.changeMainPropertyAppraisal(e)\n }\n\n onMarried = (e) => {\n com.touch()\n\n const isCurrentlyCohabiting = this.props.application.cohabiting\n this.props.updateCohabiting({ target: { checked: !isCurrentlyCohabiting } })\n this.props.updateApplicationAttribute(!isCurrentlyCohabiting, st.MS_Married)\n }\n\n updateCoborrowerAssetsUsed = (e) => {\n com.touch()\n\n if (e.target.checked) {\n this.radiocoborrower.current.checked = true\n this.updateCoborrower({ target: { value: 'withcoborrower' } }) // this is a hack\n }\n\n this.props.updateApplicationCheck(e, 'assetsofotherpersonused')\n }\n\n updateCoborrowerLiabilitiesUsed = (e) => {\n com.touch()\n\n if (e.target.checked) {\n this.radiocoborrower.current.checked = true\n this.updateCoborrower({ target: { value: st.HC_Withcoborrower } }) // this is a hack\n }\n\n this.props.updateApplicationCheck(e, 'liabilitiesofotherpersonrequired')\n }\n\n figureOut = () => {\n this.setState({ show: true })\n }\n handleClose = () => {\n this.setState({ show: false })\n }\n handleSelfClose = () => {\n this.setState({ showSelf: false })\n }\n selfEmployedAsessment = () => {\n this.setState({ showSelf: true })\n }\n qualifyForCashout = () => {\n this.setState({ showCashout: true })\n }\n handleCloseCashout = () => {\n this.setState({ showCashout: false })\n }\n\n changeMainPropertyPurpose = (e) => {\n com.touch()\n\n this.props.updateSelectField(new st.ChosenLoan(), 'selectedloan')\n this.props.changeReviewedLoans(0)\n\n if (e.target.value === 'cashoutrefinance') {\n this.setState({ showCashout: true })\n }\n\n if (this.props.property.purpose !== 'purchase') {\n // if change from purpose, clear gifts/insurance\n this.props.clearBorrowerGift()\n this.props.clearBorrowerInsurance()\n }\n\n this.props.changeMainPropertyPurpose(e)\n }\n\n render() {\n const schangeBorrowerInfo = (who, verb) => {\n return event => {\n com.touch()\n this.props.changeBorrowerInfo(\n {\n target: {\n value: event == null ? '' : event,\n },\n },\n who,\n verb\n )\n }\n }\n\n const changeBorrowerInfo = (who, verb) => {\n return event => {\n com.touch()\n this.props.changeBorrowerInfo(event, who, verb)\n }\n }\n\n const changeCoBorrower = (who, verb) => {\n return event => {\n com.touch()\n this.props.changeBorrowerInfo(event, who, verb)\n this.updateCoborrower({\n target: { value: st.HC_Withcoborrower }\n })\n const { hascoborrower, cohabiting } = this.props.application\n if (hascoborrower === st.HC_Withcoborrower && cohabiting === null) {\n this.props.updateCohabiting({\n target: { checked: true },\n })\n }\n }\n }\n\n const handleChangePhoneNumber = (who, verb) => {\n return event => {\n com.touch()\n if (this.homePhoneRef.current) {\n this.homePhoneRef.current.setCustomValidity('')\n }\n if (this.mobilePhoneRef.current) {\n this.mobilePhoneRef.current.setCustomValidity('')\n }\n if (this.workPhoneRef.current) {\n this.workPhoneRef.current.setCustomValidity('')\n }\n const phone = com.fixPhoneInput(event.target.value)\n return this.props.changePhoneInfo(phone, who, verb)\n }\n }\n\n const onQualify = (e) => {\n this.setState({ qualify: e.target.value })\n }\n\n const onAdditional = (e) => {\n this.setState({ additional: e.target.value })\n }\n\n const defDate = new Date()\n defDate.setFullYear(defDate.getFullYear() + 10)\n\n const changeExpiration = (event, who) => {\n com.touch()\n this.expiration.current.setCustomValidity('')\n const date = com.fixDateInput(event.target.value)\n return this.props.changePhoneInfo(date, who, 'visaexpiration')\n }\n\n const Citizenship = (citizenship, visa, visaexpiration) => {\n const isAlien = citizenship === 'alien'\n\n return (\n <>\n
\n \n *What's your citizenship?\n
\n \n US Citizen\n Permanent Resident Alien\n Non-Permanent Resident Alien\n \n
\n \n Please provide your citizenship status.\n \n
\n \n \n {isAlien && (\n \n Visa:\n
\n \n {massage(visas, who).map(\n (value, index) => {value}\n )}\n \n
\n
\n )}\n \n \n {isAlien && (\n \n Expires:\n
\n {\n return (\n current &&\n current.valueOf() < dayjs().startOf('day').valueOf()\n )\n }}\n name=\"dateofbirth\"\n style={{ width: '100%' }}\n onRef={(ref) => { this.expiration = ref }}\n required\n size=\"sm\"\n placeholder=\"MM/DD/YYYY\"\n format=\"MM/DD/YYYY\"\n value={visaexpiration ? dayjs(visaexpiration, 'MM/DD/YYYY') : ''}\n onChange={(e) => {\n changeExpiration(\n {\n target: {\n value: dayjs(e).format('MM/DD/YYYY'),\n },\n },\n who\n )\n }}\n />\n
\n
\n { this.expiration = ref }}\n required={citizenship === 'alien' ? true : false}\n placeholder=\"MM/DD/YYYY\"\n name=\"expiration\"\n type=\"text\"\n value={visaexpiration}\n onChange={(e) => {changeExpiration(e, who)}}\n negativefeedback=\"Visa should be valid for at least 90 days.\"\n pattern=\"^(01|02|03|04|05|06|07|08|09|10|11|12)\\/[0-9]{2,2}\\/[1-9][0-9]{3,3}$\"\n />\n
\n
\n )}\n \n \n )\n }\n\n const massage = (visas, who) => {\n if (who === 'coborrower') return visas\n\n return visas.filter((x) => {\n if ([st.VT_H_4, st.VT_L_2, st.VT_O_3, st.VT_P_4].includes(x))\n return false\n\n return true\n })\n }\n\n const onChangeSwitch = (checked) => {\n const value = checked ? 'withcoborrower' : 'alone'\n this.updateCoborrower({ target: { value } })\n\n if (!checked) {\n const who = 'coborrower'\n this.props.updateCohabiting({ target: { checked: false } })\n this.props.updateApplicationAttribute(false, st.MS_Married)\n\n this.props.changeBorrowerInfoByValue('', who, 'firstname')\n this.props.changeBorrowerInfoByValue('', who, 'lastname')\n this.props.changeBorrowerInfoByValue('', who, 'email')\n this.props.changeBorrowerInfoByValue('', who, 'homephone')\n this.props.changeBorrowerInfoByValue('', who, 'citizenship')\n }\n }\n\n const { who } = this.props\n const { qualify, additional, showSelf, validated, isValidEmail } = this.state\n\n const { assetsofotherpersonused, liabilitiesofotherpersonrequired, hascoborrower, cohabiting, } = this.props.application\n const {\n firstname,\n middlename,\n lastname,\n suffix,\n dateofbirth,\n homephone,\n mobilephone,\n workphone,\n email,\n maritalstatus,\n citizenship,\n visa,\n visaexpiration,\n } = this.props.application[who]\n\n const isAlien = citizenship === 'alien'\n const phoneTypes = ['home', 'mobile', 'work']\n const phoneValues = phoneTypes.map(type => this.props.application[who][`${type}phone`])\n const visiblePhoneCount = phoneValues.filter(phone => !isEmpty(phone)).length\n\n const { leadSource } = this.props.accountInfo\n\n const handleDeletePhone = (phoneType) => {\n const { application } = this.props\n const phoneTypes = ['home', 'mobile', 'work']\n\n const existingPhones = phoneTypes.filter(type => !isEmpty(application[who][`${type}phone`]))\n\n if (existingPhones.length > 1) {\n schangeBorrowerInfo(who, `${phoneType}phone`)('')\n }\n }\n\n const handleChangePhoneType = (oldType, newType, currentValue) => {\n\n if (oldType === newType) return\n\n const usedTypes = getUsedPhoneTypes()\n\n if (usedTypes.includes(newType) && newType !== oldType) {\n return\n }\n\n const currentValueToUse = currentValue || PHONE_NUMBER_PLACEHOLDER\n \n Promise.resolve()\n .then(() => {\n schangeBorrowerInfo(who, `${newType}phone`)(currentValueToUse)\n })\n .then(() => {\n schangeBorrowerInfo(who, `${oldType}phone`)('')\n })\n\n \n\n }\n\n const handleAddPhone = () => {\n const phoneTypes = ['home', 'mobile', 'work']\n for (const type of phoneTypes) {\n const phoneValue = this.props.application[who][`${type}phone`]\n if (isEmpty(phoneValue)) {\n schangeBorrowerInfo(who, `${type}phone`)(PHONE_NUMBER_PLACEHOLDER)\n return\n }\n }\n }\n const getUsedPhoneTypes = () => {\n const phoneTypes = ['home', 'mobile', 'work']\n const applicationData = this.props.application[who] || {}\n \n return phoneTypes.filter(type => {\n const value = applicationData[`${type}phone`]\n return value && value !== ''\n })\n }\n if (who === com.borrower) {\n return (\n
\n \n \n \n Do you qualify for cash out refinance?\n \n \n \n
\n The borrower must be on the property title for at least 6 months in order to qualify for cash out refinance.\n
\n
\n Have you been on the title for more than 6 months?\n
\n
\n \n \n \n \n
\n {qualify === 'yes6month' && (\n
\n Yes! Please continue filling out the application\n
\n )}\n {qualify === 'no6month' && (\n
\n Does the following apply to you?\n
    \n
  • You acquired the property through inheritance, divorce, separation or dissolution of domestic partnership.
  • \n
  • Purchased the property using all cash.
  • \n
  • Property was under an LLC or under a Trust for a minimum of six months.
  • \n
\n
\n \n \n \n \n
\n {additional === 'yesapplies' && (\n
\n Yes! Please continue filling out the application\n
\n )}\n {additional === 'doesnotapply' && (\n
\n Sorry, you can't apply for a cash out loan at this point in time.\n
\n )}\n
\n )}\n
\n \n \n \n \n\n \n \n \n When you need to apply with a coborrower:\n \n \n \n
\n
\n Applicants should complete this form as \"Borrower\" or \"Additional Borrower,\" as applicable.\n
\n
\n Additional Borrower information must also be provided (and the appropriate box checked) when\n
\n \n
\n \n \n The INCOME or ASSETS of a person other than the Borrower (including the Borrower's spouse) will be used as a basis for loan qualification\n \n \n \n or\n \n \n \n \n \n {' '}\n \n \n \n \n \n \n \n\n \n \n Are you self employed?\n \n \n
You only qualify for self employed status if you own 25% of your company or more.
\n
{' '}Otherwise you are a salaried employee for the purpose of obtaining a loan.
\n
\n \n \n \n \n\n
\n \n
\n
\n Personal\n /\n Your info\n
\n \n \n\n \n \n \n *First name\n \n \n \n \n \n Middle name\n \n \n \n \n \n *Last name\n \n \n \n \n \n \n \n Suffix\n
\n \n \n -- No Suffix --\n \n Jr.\n Sr.\n I\n II\n III\n IV\n Ph.D.\n M.D.\n Esq.\n J.D.\n CPA\n DDS\n KBE\n OBE\n MBE\n \n
\n
\n \n \n \n \n \n \n *Date of birth\n \n {\n this.props.changeBorrowerInfoByValue(\n e ? dayjs(new Date(e)).format('MM/DD/YYYY') : '',\n com.borrower,\n 'dateofbirth'\n )\n }}\n />\n \n \n {Citizenship(citizenship, visa, visaexpiration)}\n \n \n \n \n \n *Marital status\n \n If you are in a domestic partnership, single or divorced, select Unmarried\n \n }\n />\n \n
\n \n
\n
\n Please provide your marital status\n
\n
\n \n \n \n \n \n *Contact information\n\n \n {/* Home Phone */}\n {(!isEmpty(homephone) || (isEmpty(mobilephone) && isEmpty(workphone))) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'home' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('home', newType, homephone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n\n {/* Mobile Phone */}\n {!isEmpty(mobilephone) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'mobile' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('mobile', newType, mobilephone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n\n {/* Work Phone */}\n {!isEmpty(workphone) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'work' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('work', newType, workphone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n \n\n {\n e.preventDefault()\n e.stopPropagation()\n handleAddPhone()\n }}\n >\n Add contact information\n \n\n
\n We hate spam just as much as you do. You won't receive any unwanted calls or texts from us.\n
\n \n \n \n\n {com.getCustomerId() === 'ratedna' && (\n \n
\n \n \n Where did you hear about us? (optional)\n \n {this.props.updateLeadSource(e.target.value)}}\n >\n \n \n \n \n \n \n \n \n \n )}\n \n \n )\n }\n\n if (who === com.coborrower) {\n return (\n
\n \n \n \n Do you qualify for cash out refinance?\n \n \n \n
\n The borrower must be on the property title for at least 6 months in order to qualify for cash out refinance.\n
\n
\n Have you been on the title for more than 6 months?\n
\n
\n \n \n \n \n
\n {qualify === 'yes6month' && (\n
\n Yes! Please continue filling out the application\n
\n )}\n {qualify === 'no6month' && (\n
\n Does the following apply to you?\n
    \n
  • You acquired the property through inheritance, divorce, separation or dissolution of domestic partnership.
  • \n
  • Purchased the property using all cash.
  • \n
  • Property was under an LLC or under a Trust for a minimum of six months.
  • \n
\n
\n \n \n \n \n
\n {additional === 'yesapplies' && (\n
\n Yes! Please continue filling out the application{' '}\n
\n )}\n {additional === 'doesnotapply' && (\n
\n Sorry, you can't apply for a cash out loan at this point in time.\n
\n )}\n
\n )}\n
\n \n \n \n \n\n \n \n \n When you need to apply with a coborrower:\n \n \n \n \n
\n Applicants should complete this form as \"Borrower\" or \"Additional Borrower,\" as applicable.\n
\n
\n Additional Borrower information must also be provided (and the appropriate box checked) when\n
\n \n
\n \n \n The INCOME or ASSETS of a person other than the Borrower (including the Borrower's spouse) will be used as a basis for loan qualification\n \n \n \n or\n \n \n \n \n \n {' '}\n \n \n \n \n \n \n \n\n \n \n Are you self employed?\n \n \n
You only qualify for self employed status if you own 25% of your company or more.
\n
{' '}Otherwise you are a salaried employee for the purpose of obtaining a loan.
\n
\n \n \n \n \n\n
\n \n
\n
\n Personal\n /\n Your info\n
\n \n \n\n \n \n \n \n I have a co-borrower\n \n \n \n\n {hascoborrower === 'withcoborrower' && (\n <>\n \n \n \n \n *First name\n \n \n \n \n \n Middle name\n \n \n \n \n \n *Last name\n \n \n \n \n \n \n \n Suffix\n
\n \n \n -- No Suffix --\n \n Jr.\n Sr.\n I\n II\n III\n IV\n Ph.D.\n M.D.\n Esq.\n J.D.\n CPA\n DDS\n KBE\n OBE\n MBE\n \n
\n
\n \n \n \n\n \n \n \n Email\n {\n const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\n if (emailRegex.test(e.target.value)) {\n this.setState({ isValidEmail: true })\n } else {\n this.setState({ isValidEmail: false })\n this.props.changeBorrowerInfo(\n { target: { value: '' } },\n 'coborrower',\n 'email'\n )\n }\n }}\n placeholder=\"Enter your co-applicant's email address\"\n value={email}\n onChange={changeCoBorrower('coborrower', 'email')}\n />\n {!isValidEmail && (\n
\n please enter your co-applicant's vaild email address\n
\n )}\n
\n \n \n\n \n \n \n \n *Date of birth\n \n\n {\n this.props.changeBorrowerInfoByValue(\n e ? dayjs(new Date(e)).format('MM/DD/YYYY') : '',\n 'coborrower',\n 'dateofbirth'\n )\n }}\n />\n \n \n {Citizenship(citizenship, visa, visaexpiration)}\n \n \n \n \n \n *Marital status\n \n If you are in a domestic partnership, single or divorced, select Unmarried\n \n }\n />\n \n
\n \n
\n \n Please provide your marital status\n \n
\n \n \n {maritalstatus === 'married' && (\n \n \n \n \n {' '}I am married to the primary applicant.\n \n \n \n \n )}\n\n \n \n \n *Contact information\n\n \n {/* Home Phone */}\n {(!isEmpty(homephone) || (isEmpty(mobilephone) && isEmpty(workphone))) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'home' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('home', newType, homephone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n\n {/* Mobile Phone */}\n {!isEmpty(mobilephone) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'mobile' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('mobile', newType, mobilephone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n\n {/* Work Phone */}\n {!isEmpty(workphone) && (\n 1 ? '-8px' : '0'}}>\n \n type !== 'work' && !getUsedPhoneTypes().includes(type)\n )]}\n onTypeChange={(newType) => handleChangePhoneType('work', newType, workphone)}\n showDelete={visiblePhoneCount > 1}\n />\n \n )}\n \n\n {\n e.preventDefault()\n e.stopPropagation()\n handleAddPhone()\n }}\n >\n Add contact information\n \n\n
\n We hate spam just as much as you do. You won't receive any unwanted calls or texts from us.\n
\n \n \n \n \n )}\n \n \n )\n }\n\n return null\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(Applicant)\n\nexport class Residence extends Component {\n constructor(props) {\n super(props)\n\n this.formRef = React.createRef()\n\n const borrowerStreet = this.props.application.borrower.presentaddressstreet\n const coBorrowerStreet = this.props.application.coborrower.presentaddressstreet\n this.state = {\n validated: false,\n loanLimits: {},\n tabAvtive: 0,\n sameAddress: borrowerStreet === coBorrowerStreet,\n errMsg: false,\n }\n\n this.fetchLoanLimits()\n }\n\n componentDidMount() {\n this.completion('application')\n this.setState({ sameAddress: this.hasSameAddress() })\n const { who } = this.props\n const { presentaddressmonths } = this.props.application[who]\n if (presentaddressmonths === '') {\n this.props.changeBorrowerInfoByValue(\n '0',\n who,\n 'presentaddressmonths'\n )\n }\n }\n\n componentDidUpdate() {\n this.completion('application')\n }\n\n completion = (stateKey) => {\n const { who } = this.props\n const keysToFilter = [\n `${who}.presentaddressstreet`,\n `${who}.presentaddressstate`,\n `${who}.presentaddresscounty`,\n `${who}.presentaddresscity`,\n `${who}.presentaddresszip`,\n `${who}.presentaddressownership`,\n `${who}.presentaddressyears`,\n ]\n\n const { presentaddressyears } = this.props[stateKey][who]\n if (presentaddressyears !== '' && parseInt(presentaddressyears) < 2) {\n keysToFilter.push(`${who}.presentaddressmonths`)\n }\n\n const filteredObj = keysToFilter.reduce((obj, key) => {\n if (key.includes('.')) {\n const nestedKeys = key.split('.')\n\n let value = this.props[stateKey]\n let nestedKeyString = ''\n for (let i = 0; i < nestedKeys.length - 1; i++) {\n const nestedKey = nestedKeys[i]\n\n if (value.hasOwnProperty(nestedKey)) {\n value = value[nestedKey]\n nestedKeyString += nestedKey + '.'\n } else {\n value = undefined\n break\n }\n }\n\n const lastNestedKey = nestedKeys[nestedKeys.length - 1]\n if (value !== undefined && value.hasOwnProperty(lastNestedKey)) {\n obj[nestedKeyString + lastNestedKey] = value[lastNestedKey]\n }\n } else if (this.props[stateKey].hasOwnProperty(key)) {\n obj[key] = this.props[stateKey][key]\n }\n\n return obj\n }, {})\n\n const emptyNum = Object.keys(filteredObj).filter((key) => {\n const value = filteredObj[key]\n return value === '' || value === null || value === undefined\n }).length\n\n const progressValue = Math.round(\n ((keysToFilter.length - emptyNum) / keysToFilter.length) * 100\n )\n\n sessionStorage.setItem('progressValue', progressValue)\n }\n\n hasSameAddress = () => {\n const { borrower, coborrower } = this.props.application\n return (\n borrower.presentaddressstreet === coborrower.presentaddressstreet &&\n borrower.presentaddressstate === coborrower.presentaddressstate &&\n borrower.presentaddresscounty === coborrower.presentaddresscounty &&\n borrower.presentaddresscity === coborrower.presentaddresscity &&\n borrower.presentaddresszip === coborrower.presentaddresszip\n )\n }\n\n isValidated() {\n if (!this.formRef.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n fetchLoanLimits = async () => {\n try {\n const response = await fetch('/data/loanlimits')\n if (!response.ok) {\n throw Error(response.statusText)\n }\n const data = await response.json()\n this.setState({ loanLimits: data })\n } catch (err) {\n console.error(err)\n }\n }\n\n onStreetAddressCompletion = (address, who) => {\n const num = com.getSubaddress(address, 'street_number', 'long_name')\n const city = com.getSubaddress(address, 'locality', 'long_name')\n const zip = com.getSubaddress(address, 'postal_code', 'long_name')\n const county = com.getSubaddress(address, 'administrative_area_level_2', 'long_name')\n const longstate = com.getSubaddress(address, 'administrative_area_level_1', 'long_name')\n\n this.props.changePhoneInfo(city, who, 'presentaddresscity')\n this.props.changePhoneInfo(longstate, who, 'presentaddressstate')\n this.props.changePhoneInfo(zip, who, 'presentaddresszip')\n this.props.changePhoneInfo(county, who, 'presentaddresscounty')\n\n const short = com.getSubaddress(address, 'route', 'short_name')\n const stradd = num + ' ' + short\n this.props.changeBorrowerInfo(\n { target: { value: stradd } },\n who,\n 'presentaddressstreet'\n )\n\n const { presentaddressownership, ownedproperties } = this.props.application[who]\n if (presentaddressownership === st.O_Own && ownedproperties.length >= 1) {\n const changeOwnedProperty = who === com.borrower ? this.props.changeBorrowerOwnedProperty : this.props.changeCoborrowerOwnedProperty\n changeOwnedProperty(stradd, 0, 'address')\n changeOwnedProperty(longstate, 0, 'state')\n changeOwnedProperty(county, 0, 'county')\n changeOwnedProperty(city, 0, 'city')\n changeOwnedProperty(zip, 0, 'zipcode')\n }\n\n const { presentaddressstreet, presentaddressstate, presentaddresszip } = this.props.application.coborrower\n if (who === com.borrower && presentaddressstreet === '' && presentaddressstate === '' && presentaddresszip === '') {\n this.props.changePhoneInfo(city, com.coborrower, 'presentaddresscity')\n this.props.changePhoneInfo(longstate, com.coborrower, 'presentaddressstate')\n this.props.changePhoneInfo(zip, com.coborrower, 'presentaddresszip')\n this.props.changePhoneInfo(county, com.coborrower, 'presentaddresscounty')\n this.props.changePhoneInfo(stradd, com.coborrower, 'presentaddressstreet')\n }\n }\n\n updateMonths = (value) => {\n com.touch()\n\n this.props.changeBorrowerInfo(\n { target: { value } },\n this.props.who,\n 'presentaddressmonths'\n )\n }\n\n updateYears = (value) => {\n com.touch()\n\n const { who } = this.props\n const { previousaddresses } = this.props.application[who]\n if (value !== '' && parseInt(value) < 2 && previousaddresses.length === 0) {\n this.props.addPreviousAddress(\n { target: { value: 0 } },\n who\n )\n this.props.changeBorrowerInfo(\n { target: { value: '0' } },\n who,\n 'presentaddressmonths'\n )\n }\n\n if (value !== '' && parseInt(value) >= 2 && previousaddresses.length !== 0) {\n this.props.clearPreviousAddress(\n { target: { value: 0 } },\n who\n )\n }\n\n this.props.changeBorrowerInfo(\n { target: { value } },\n who,\n 'presentaddressyears'\n )\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.residence) {\n // Mark the step as completed\n this.props.changeBorrowerInfo(\n {\n target: {\n value: { ...completedsteps, residence: true },\n },\n },\n who,\n 'completedsteps'\n )\n }\n }\n\n handleSubmit = (e) => {\n const { who } = this.props\n const { presentaddressstreet } = this.props.application[who]\n\n // There is no need to validate the address for the co-borrower\n if (who === 'borrower' && presentaddressstreet === '') {\n this.setState({ errMsg: true }, () => {\n // Scroll to the address section\n const addressSection = document.querySelector('#Address')\n if (addressSection) {\n addressSection.scrollIntoView({ behavior: 'smooth' })\n }\n })\n return false\n }\n\n return true\n }\n\n handlePrevious = () => {\n return true\n }\n\n changeTab = (tab) => {\n this.setState(\n { tabAvtive: tab, who: tab === 0 ? com.borrower : com.coborrower },\n () => {\n this.completion('application')\n eventBus.emit('changeProgressValue')\n }\n )\n }\n\n displayPreviousAddress = (address, index) => {\n const { who } = this.props\n\n const achangeAddressInfo = (who, verb) => {\n return (event) =>\n this.props.updatePreviousAddress(\n { target: { value: event } },\n who,\n verb,\n index\n )\n }\n\n const changeAddressInfo = (who, verb) => {\n return (event) => {this.props.updatePreviousAddress({ target: { value: verb === 'state' ? event : event.target.value } }, who, verb, index)}\n }\n\n const onPreviousStreetAddressCompletion = (address) => {\n const city = com.getSubaddress(address, 'locality', 'long_name')\n const state = com.getSubaddress(address, 'administrative_area_level_1', 'long_name')\n const county = com.getSubaddress(address, 'administrative_area_level_2', 'long_name')\n\n let zip = com.getSubaddress(address, 'postal_code', 'long_name')\n const zips = com.getSubaddress(address, 'postal_code_suffix', 'short_name')\n if (zips !== '') zip = zip + '-' + zips\n\n const num = com.getSubaddress(address, 'street_number', 'long_name')\n const short = com.getSubaddress(address, 'route', 'short_name')\n const stradd = num + ' ' + short\n\n this.props.updatePreviousAddress(\n { target: { value: stradd } },\n who,\n 'street',\n index\n )\n this.props.updatePreviousAddress(\n { target: { value: city } },\n who,\n 'city',\n index\n )\n this.props.updatePreviousAddress(\n { target: { value: county } },\n who,\n 'county',\n index\n )\n this.props.updatePreviousAddress(\n { target: { value: state } },\n who,\n 'state',\n index\n )\n this.props.updatePreviousAddress(\n { target: { value: zip } },\n who,\n 'zip',\n index\n )\n }\n\n return (\n
\n
\n \n
\n \n \n \n \n \n \n \n {getStates(this.state.loanLimits).map((x, index) => (\n \n {x.label}\n \n ))}\n \n \n \n \n \n \n \n Please provide the city.\n \n \n \n \n \n \n \n Please provide the ZIP code.\n \n \n \n \n \n \n
No PO Box addresses are accepted
\n \n \n \n \n \n \n Years \n \n
\n \n
\n
\n \n \n \n \n Months \n \n \n \n Please provide months.\n \n \n \n \n \n \n Ownership \n \n
\n \n \n \n \n \n
\n
\n \n {address.ownership === st.O_Rent && (\n \n
\n Monthly rent\n
\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={achangeAddressInfo(who, 'rent')}\n size=\"large\"\n />\n \n )}\n \n \n \n \n \n )\n }\n\n displayPreviousAddresses = () => {\n const { who, application } = this.props\n const { presentaddressyears, previousaddresses } = application[who]\n\n if (!presentaddressyears) return <>\n\n if (who === com.borrower && parseInt(presentaddressyears) < 2)\n return previousaddresses.map(this.displayPreviousAddress)\n\n if (who === com.coborrower) {\n const { cohabiting } = application\n const borrowerYears = parseInt(application.borrower.presentaddressyears)\n const coborrowerYears = parseInt(presentaddressyears)\n if (cohabiting) {\n if (borrowerYears < 2)\n return previousaddresses.map(this.displayPreviousAddress)\n } else {\n if (coborrowerYears < 2)\n return previousaddresses.map(this.displayPreviousAddress)\n }\n }\n\n return <>\n }\n\n render() {\n const onAddressChange = (e) => {\n com.touch()\n return this.props.changeBorrowerInfo(e, who, 'presentaddressstreet')\n }\n const onUnitChange = (e) => {\n com.touch()\n return this.props.changeBorrowerInfo(e, who, 'presentaddressunit')\n }\n\n const setLoanState = (v) => {\n this.props.changePhoneInfo(v, who, 'presentaddressstate')\n }\n\n const setLoanCounty = (v) => {\n this.props.changePhoneInfo(v, who, 'presentaddresscounty')\n }\n\n const setLoanCity = (v) => {\n this.props.changePhoneInfo(v, who, 'presentaddresscity')\n }\n\n const setZip = (v) => {\n v = v.replace(/\\D/g, '')\n this.props.changePhoneInfo(v, who, 'presentaddresszip')\n }\n\n const onChangeCheckbox = (e) => {\n this.setState({ sameAddress: e.target.checked })\n if (e.target.checked) {\n const {\n presentaddressstreet,\n presentaddressstate,\n presentaddresscounty,\n presentaddresscity,\n presentaddresszip,\n } = this.props.application.borrower\n\n this.props.changeBorrowerInfo(\n {\n target: {\n value: presentaddressstreet,\n },\n },\n com.coborrower,\n 'presentaddressstreet'\n )\n setLoanState(presentaddressstate, com.coborrower)\n setLoanCounty(presentaddresscounty, com.coborrower)\n setLoanCity(presentaddresscity, com.coborrower)\n setZip(presentaddresszip, com.coborrower)\n } else {\n this.props.removeCoborrowerOwnedProperty(0)\n const { presentaddressownership } = this.props.application.coborrower\n if (presentaddressownership === st.O_Own) {\n this.props.prependCoborrowerOwnedProperty()\n }\n }\n }\n\n const { who } = this.props\n const { sameAddress, validated } = this.state\n\n const {\n presentaddressstreet,\n presentaddressunit,\n presentaddressstate,\n presentaddresscounty,\n presentaddresscity,\n presentaddresszip,\n presentaddressmonths,\n presentaddressyears,\n samemailingaddress,\n mailingaddressstreet,\n mailingaddressunit,\n mailingaddresscounty,\n mailingaddresscity,\n mailingaddressstate,\n mailingaddresszip,\n } = this.props.application[who]\n\n const handleSameMailingAddress = (checked) => {\n com.touch()\n this.props.changeBorrowerCheck(\n { target: { checked } },\n who,\n 'samemailingaddress'\n )\n }\n\n const handleMailingAddressChange = (e) => {\n com.touch()\n return this.props.changeBorrowerInfo(e, who, 'mailingaddressstreet')\n }\n const handleMailingUnitChange = (e) => {\n com.touch()\n return this.props.changeBorrowerInfo(e, who, 'mailingaddressunit')\n }\n const handleMailingStateChange = (v) => {\n this.props.changePhoneInfo(v, who, 'mailingaddressstate')\n }\n\n const handleMailingCountyChange = (v) => {\n this.props.changePhoneInfo(v, who, 'mailingaddresscounty')\n }\n\n const handleMailingCityChange = (v) => {\n this.props.changePhoneInfo(v, who, 'mailingaddresscity')\n }\n\n const handleMailingZipChange = (v) => {\n v = v.replace(/\\D/g, '')\n this.props.changePhoneInfo(v, who, 'mailingaddresszip')\n }\n\n const onMailingAddressCompletion = (address) => {\n const { who } = this.props\n const num = com.getSubaddress(address, 'street_number', 'long_name')\n const city = com.getSubaddress(address, 'locality', 'long_name')\n const zip = com.getSubaddress(address, 'postal_code', 'long_name')\n const county = com.getSubaddress(address, 'administrative_area_level_2', 'long_name')\n const longstate = com.getSubaddress(address, 'administrative_area_level_1', 'long_name')\n\n this.props.changePhoneInfo(city, who, 'mailingaddresscity')\n this.props.changePhoneInfo(longstate, who, 'mailingaddressstate')\n this.props.changePhoneInfo(zip, who, 'mailingaddresszip')\n this.props.changePhoneInfo(county, who, 'mailingaddresscounty')\n\n const short = com.getSubaddress(address, 'route', 'short_name')\n const stradd = num + ' ' + short\n\n this.props.changeBorrowerInfo(\n { target: { value: stradd } },\n who,\n 'mailingaddressstreet'\n )\n }\n\n return (\n
\n \n
\n
\n Personal\n /\n Current Residence\n
\n {who === com.coborrower && (\n
\n \n \n Co-borrower has the same address as the primary borrower.\n \n \n
\n )}\n {!(sameAddress && who === com.coborrower) && (\n
\n
\n this.onStreetAddressCompletion(e, who)}\n size=\"md\"\n />\n \n \n \n \n
\n )}\n \n \n {!(sameAddress && who === com.coborrower) && (\n
\n \n
\n \n setLoanState(e)}\n >\n {getStates(this.state.loanLimits).map((x, index) => (\n \n {x.label}\n \n ))}\n \n \n \n \n \n setLoanCounty(e)}\n value={presentaddresscounty}\n >\n {getCounties(this.state.loanLimits, presentaddressstate).map((x, index) => (\n \n {x.label}\n \n ))}\n \n \n \n \n \n setLoanCity(e.target.value)}\n value={presentaddresscity}\n placeholder=\"City\"\n />\n \n \n \n \n setZip(e.target.value)}\n value={presentaddresszip}\n placeholder=\"Zip Code\"\n />\n \n \n \n \n \n
No PO Box addresses are accepted
\n \n \n \n )}\n \n \n
\n *How long at current address?\n {presentaddressyears !== '' && parseInt(presentaddressyears) < 2 ? (\n \n
\n {this.updateYears(e.target.value)}}\n />\n \n \n {this.updateMonths(e.target.value > 11 ? 11 : e.target.value)}}\n />\n \n \n ) : (\n \n \n {this.updateYears(e.target.value)}}\n />\n \n \n )}\n \n \n \n\n {this.displayPreviousAddresses()}\n\n \n \n handleSameMailingAddress(e.target.checked)}\n checked={samemailingaddress}\n >\n \n Mailing Address is same as my current address\n \n \n\n {!samemailingaddress && (\n
\n *What's your mailing address\n handleMailingAddressChange(e)}\n goodfeedback=\"\"\n badfeedback=\"Please provide your mailing address.\"\n onCompletion={onMailingAddressCompletion}\n placeholder=\"Street address\"\n />\n \n handleMailingUnitChange(e)}\n />\n \n \n
\n \n handleMailingStateChange(e)}\n >\n {getStates(this.state.loanLimits).map((x, index) => (\n \n {x.label}\n \n ))}\n \n \n \n \n \n handleMailingCountyChange(e)}\n >\n {getCounties(this.state.loanLimits, mailingaddressstate).map((x, index) => (\n \n {x.label}\n \n ))}\n \n \n \n \n \n handleMailingCityChange(e.target.value)}\n />\n \n \n \n \n handleMailingZipChange(e.target.value)}\n />\n \n \n \n \n )}\n \n \n {!samemailingaddress && (\n \n \n
No PO Box addresses are accepted
\n \n \n )}\n \n )\n }\n}\n\nResidence = connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(Residence)\n","import React, { Component } from \"react\"\nimport { InputNumber, Select } from \"antd\"\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport * as com from \"../Common.js\"\nimport { Tips } from \"../Common/Tooltip\"\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport CheckGroup from '../Common/components/CheckGroup'\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n borrower: state.application.borrower.declarations,\n coborrower: state.application.coborrower.declarations,\n hascoborrower: state.application.hascoborrower,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n changeDeclaration: (event, who, verb) => {\n dispatch(act.ChangeDeclaration(event.target.value, who, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event, who, verb))\n },\n})\n\nclass Declarations extends Component {\n constructor(props) {\n super(props)\n\n this.form = React.createRef()\n\n this.state = {\n validated: false\n }\n\n this.isValidated = this.isValidated.bind(this)\n this.form = React.createRef()\n }\n\n componentDidMount() { }\n\n componentWillUnmount() { }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.propertymoney) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, propertymoney: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n return true\n }\n\n render = () => {\n const achangeDeclaration = (verb, who) => {\n return ((event) => {\n const e = {\n target: {\n value: event\n }\n }\n com.touch()\n this.props.changeDeclaration(e, who, verb)\n }\n )\n }\n\n const { who, borrower, coborrower } = this.props\n const { purpose } = this.props.application.property\n\n const occupyAsPrimary = who === com.borrower ? borrower.occupyasprimary : coborrower.occupyasprimary\n const ownershipInterest = who === com.borrower ? borrower.ownershipinterest : coborrower.ownershipinterest\n const propertyOwned = who === com.borrower ? borrower.propertyowned : coborrower.propertyowned\n const familyRelationship = who === com.borrower ? borrower.familyrelationship : coborrower.familyrelationship\n const titleHeld = who === com.borrower ? borrower.titleheld : coborrower.titleheld\n const downPaymentBorrowed = who === com.borrower ? borrower.downpaymentborrowed : coborrower.downpaymentborrowed\n const moneyBorrowed = who === com.borrower ? borrower.moneyborrowed : coborrower.moneyborrowed\n const applyingOnAnother = who === com.borrower ? borrower.applyingonanother : coborrower.applyingonanother\n const applyingNewCredit = who === com.borrower ? borrower.applyingnewcredit : coborrower.applyingnewcredit\n const cleanEnergyLien = who === com.borrower ? borrower.cleanenergylien : coborrower.cleanenergylien\n\n const yesnooptions = [\n { value: 'yes', label: 'Yes' },\n { value: 'no', label: 'No' },\n ]\n\n return (\n
\n
\n Declarations\n /\n Property and your money for this loan\n
\n\n \n
\n \n \n Will you occupy the property as your primary residence?\n \n \n \n \n {\n const e = { target: { value: event } }\n if (event === 'no') {\n this.props.changeDeclaration(e, who, 'ownershipinterest')\n }\n this.props.changeDeclaration(e, who, 'occupyasprimary')\n }}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n \n \n \n {occupyAsPrimary !== 'yes' ? '' :\n \n \n \n \n Have you had an ownership interest in another property in the last three years?\n \n \n \n \n {\n if (occupyAsPrimary === 'no') return\n const e = { target: { value: event } }\n com.touch()\n this.props.changeDeclaration(e, who, 'ownershipinterest')\n }}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n \n \n \n }\n {occupyAsPrimary === 'yes' &&\n \n \n \n \n \n What type of property did you own?\n \n Select FHA Second Home only if your mortgage is an FHA one, and your property was qualified as FHA secondary for this mortgage\n }\n />\n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n How did you hold title to the home?\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n }\n {purpose === \"purchase\" &&\n \n \n \n \n Do you have a family relationship or business affiliation with the seller of the property?\n \n \n \n \n {\n const e = { target: { value: event } }\n this.props.changeDeclaration(e, who, 'familyrelationship')\n }}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n \n \n \n }\n \n \n \n \n Are you borrowing any money for this real estate transaction?\n \n (e.g., money for your closing costs or down payment) or\n obtaining any money from another party, such as the seller or realtor, that you have not disclosed on this loan application?\n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n {downPaymentBorrowed === 'yes' &&\n \n \n \n \n What is the amount of this money?\n \n
\n \n
\n
\n \n \n }\n \n \n \n \n Have you or will you be applying for a mortgage loan on another property (not the property securing this loan) on or before closing this transaction that is not disclosed on this loan application?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Have you or will you be applying for any new credit on or before closing this loan that is not disclosed on this application?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Will this property be subject to a lien that could take priority over the first mortgage lien?\n \n \n \n \n \n {\n const e = { target: { value: event } }\n this.props.changeDeclaration(e, who, \"cleanenergylien\")\n }}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n \n \n \n \n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Declarations)\n","import React, { Component } from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nimport './ApplicationInterview.css';\nimport Form from 'react-bootstrap/Form'\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common\"\nimport { UpdateChangeProgress, UpdateChangeLastTouch } from \"../Store/progress\"\n\nconst mapStateToProps = (state) => {\n let getOccupation = (employed, selfemployed) => {\n if (employed === \"employed\" && !selfemployed) return \"employed\"\n if (employed === \"employed\" && selfemployed) return \"selfemployed\"\n return \"unemployed\"\n\n }\n return {\n application: state.application,\n hascoborrower: state.application.hascoborrower,\n property: state.application.property,\n cohabiting: state.application.cohabiting,\n financingsameproperty: state.application.financingsameproperty,\n borroweroccupation: getOccupation(state.application.borrower.occupation.hasoccupation,\n state.application.borrower.occupation.selfemployed),\n coborroweroccupation: \"co\" + getOccupation(state.application.coborrower.occupation.hasoccupation,\n state.application.coborrower.occupation.selfemployed),\n progress: state.progress,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n changeBorrowerInfoByValue: (val, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(val, who, verb));\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb));\n },\n updateSameProperty: (event) => {\n dispatch(act.UpdateSameProperty(event.target.checked))\n },\n updateCurrentResidence: (event) => {\n dispatch(act.UpdateCurrentResidence(event.target.value))\n },\n updateCoborrower: (event) => {\n dispatch(act.UpdateHasCoborrower(event.target.value))\n },\n updateCohabiting: (event) => {\n dispatch(act.UpdateCohabiting(event.target.checked))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb));\n },\n changeMainPropertyPurpose: (event) => {\n dispatch(act.ChangeMainPropertyPurpose(event.target.value))\n },\n changeMainPropertyAppraisal: (event) => {\n dispatch(act.ChangeMainPropertyAppraisal(event.target.value))\n },\n\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\n },\n\n changeMainPropertySalesPrice: (event) => {\n dispatch(act.ChangeMainPropertySalesPrice(event.target.value))\n },\n\n changeOccupationInfo: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(event.target.value, who, verb))\n },\n changeOccupationCheck: (check, who, verb) => {\n dispatch(act.ChangeOccupationInfo(check, who, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n\n updateApplicationCheck: (event, verb) => {\n dispatch(act.UpdateApplicationAttribute(event.target.checked, verb))\n },\n changeMainPropertyPropertyType: (event) => {\n dispatch(act.ChangeMainPropertyPropertyType(event.target.value))\n },\n updateChangeProgress: (step, stage) => {\n dispatch(UpdateChangeProgress(step, stage))\n },\n addRemoteCoborrower: (i) => {\n dispatch(act.AddRemoteCoborrower(i))\n },\n changeMainPropertyRefinanceAttribute: (value, verb) => {\n dispatch(act.ChangeMainPropertyRefinanceAttribute(value, verb))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n changeReviewedLoans: (value) => {\n dispatch(act.ChangeReviewedLoans(value))\n }, \n changeMainPropertyOccupancy: (event) => {\n dispatch(act.ChangeMainPropertyOccupancy(event.target.value))\n }, \n clearBorrowerGift: () => {\n dispatch(act.ClearBorrowerGift())\n },\n clearBorrowerInsurance: () => {\n dispatch(act.ClearBorrowerInsurance())\n },\n updateChangeLastTouch: (t) => {\n dispatch(UpdateChangeLastTouch(t))\n }, \n});\n\nclass Applicant extends Component {\n\n constructor(props) {\n super(props);\n this.form = React.createRef();\n this.state = {\n validated: false,\n }\n this.radiocoborrower = React.createRef()\n }\n\n componentDidMount() { \n }\n\n\n\n componentWillUnmount() { }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n };\n return true;\n }\n handleSubmit = e => {\n if (this.form.current.reportValidity() === false) {\n\n e.preventDefault();\n this.setState({ validated: true })\n return false\n }\n\n // if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,})+$/.test(this.props.application.borrower.email)) {\n // return true\n // }\n return true\n }\n \n render() {\n let changeBorrowerInfo = (who, verb) => {\n return (event) => {\n com.touch();\n this.props.changeBorrowerInfo(event, who, verb);\n };\n };\n return (\n
\n
\n
\n \n What's your email address?\n \n \n \n
\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Applicant)\n","import React, { Component } from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport InputGroup from \"react-bootstrap/InputGroup\";\nimport Form from \"react-bootstrap/Form\";\nimport \"./App.css\";\n\nconst timedelta = 200;\n\nexport default class NumericalInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n noarrow: this.props.noarrow ? this.props.noarrow : false,\n value: this.props.defaultValue,\n minimum: this.props.min,\n maximum: this.props.max,\n step: this.props.step,\n size: this.props.size,\n };\n if (typeof this.state.minimum === \"undefined\") this.state.minimum = 0;\n if (typeof this.state.size === \"undefined\") this.state.size = \"sm\";\n if (typeof this.state.step === \"undefined\") this.state.step = 100;\n this.intervalid = 0;\n this.intervaldirecton = 0;\n\n this.ref = React.createRef();\n }\n componentDidMount() {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n }\n\n componentWillUnmount() {}\n decommaizeNumeric = (v) => {\n let n = v.replace(/[^0-9-]/g, \"\");\n if (n === \"\") return n;\n return parseInt(n);\n };\n commaize = (v) => {\n if (null === v || typeof v === \"undefined\") {\n if (typeof this.state.minimum !== \"undefined\")\n return this.state.minimum.toString();\n return \"\";\n }\n\n v = v.toString();\n let input = v.replace(/[^0-9-]/g, \"\");\n\n if (input === \"\") {\n return \"\";\n }\n\n input = parseInt(input);\n input = input.toString();\n let output = \"\";\n for (;;) {\n if (input.length <= 3) {\n output = input + output;\n break;\n }\n let right = input.substr(-3);\n let left = input.substr(0, input.length - 3);\n input = left;\n output = \",\" + right + output;\n }\n return output;\n };\n onChange = (e) => {\n let v = e.target.value;\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v).toString();\n\n this.props.onChange({ target: { value: value } });\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n };\n onBlur = (e) => {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n\n let v = this.decommaizeNumeric(e.target.value);\n if (isNaN(v) || e.target.value === \"\") {\n v = \"\";\n if (\"undefined\" !== typeof this.props.onBlur)\n this.props.onBlur({ target: { value: \"\" } });\n return;\n }\n\n v = this.limit(v).toString();\n\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v);\n\n if (!this.props.onBlur) return;\n\n this.props.onBlur({ target: { value: value } });\n };\n limit = (v) => {\n if (typeof this.state.minimum !== \"undefined\" && v < this.state.minimum)\n v = this.state.minimum;\n if (typeof this.state.maximum !== \"undefined\" && v > this.state.maximum)\n v = this.state.maximum;\n return v;\n };\n up = (e) => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n\n if (fs.length > 0 && fs[0].disabled) return;\n\n let val = this.limit(\n this.decommaizeNumeric(this.ref.current.value) + this.state.step\n );\n this.ref.current.value = this.commaize(val);\n\n if (this.ref.current.value === \"\") {\n if (typeof this.state.minimum !== \"undefined\")\n this.ref.current.value = this.state.minimum;\n else this.ref.current.value = 0;\n }\n this.props.onChange({ target: { value: val.toString() } });\n };\n down = (e) => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n if (fs.length > 0 && fs[0].disabled) return;\n\n let val = this.limit(\n this.decommaizeNumeric(this.ref.current.value) - this.state.step\n );\n this.ref.current.value = this.commaize(val);\n if (this.ref.current.value === \"\") {\n if (typeof this.state.maximum !== \"undefined\")\n this.ref.current.value = this.state.maximum;\n else this.ref.current.value = 0;\n }\n\n this.props.onChange({ target: { value: val.toString() } });\n };\n downUp = (e) => {\n this.intervalid = window.setInterval(this.up, timedelta);\n };\n upUp = (e) => {\n window.clearInterval(this.intervalid);\n };\n downDown = (e) => {\n this.intervalid = window.setInterval(this.down, timedelta);\n };\n upDown = (e) => {\n window.clearInterval(this.intervalid);\n };\n render() {\n let toexpand = {};\n if (\"undefined\" !== typeof this.props.defaultValue) {\n toexpand[\"defaultValue\"] = this.commaize(this.props.defaultValue);\n }\n if (\"undefined\" !== typeof this.props.value) {\n toexpand[\"value\"] = this.commaize(this.props.value);\n }\n const childClassName = `${this.props.className} react-numeric-input w-100`\n return (\n \n \n \n \n $\n \n \n\n \n {!this.props.noarrow && \n
\n \n \n \n \n \n \n
\n
}\n
\n \n );\n }\n}\n\nexport class PennyInput extends Component {\n constructor(props) {\n super(props);\n\n this.ref = React.createRef();\n }\n dotdecommaizeNumeric = (v) => {\n let n = v.replace(/[^0-9-.]/g, \"\");\n if (n === \"\") return n;\n let ret = parseFloat(n);\n return ret;\n };\n dotcommaize = (v) => {\n v = v.toString();\n let input = v.replace(/[^0-9.]/g, \"\");\n\n if (input === \"\") {\n return \"\";\n }\n\n let postdot = \"\";\n if (input.indexOf(\".\") >= 0) {\n let sp = input.split(\".\");\n input = sp[0];\n postdot = sp[1];\n }\n\n input = parseInt(input);\n input = input.toString();\n let output = \"\";\n for (;;) {\n if (input.length <= 3) {\n output = input + output;\n break;\n }\n let right = input.substr(-3);\n let left = input.substr(0, input.length - 3);\n input = left;\n output = \",\" + right + output;\n }\n\n if (postdot.length > 2) {\n postdot = postdot.substr(0, 2);\n }\n if (v.indexOf(\".\") < 0) return output;\n return output + \".\" + postdot;\n };\n\n onChange = (e) => {\n let v = e.target.value;\n\n e.target.value = this.dotcommaize(v);\n\n let value =\n e.target.value !== \"\"\n ? this.dotdecommaizeNumeric(e.target.value).toFixed(2).toString()\n : \"\";\n\n this.props.onChange({ target: { value: value } });\n };\n\n onBlur = (e) => {\n let v = this.dotdecommaizeNumeric(e.target.value);\n if (isNaN(v)) {\n v = \"\";\n if (!this.props.onBlur) this.props.onBlur({ target: { value: \"\" } });\n }\n\n e.target.value = this.dotcommaize(v);\n\n let value = this.dotdecommaizeNumeric(e.target.value);\n if (value !== \"\")\n value = this.dotdecommaizeNumeric(e.target.value).toFixed(2).toString();\n this.ref.current.value = value;\n\n if (!this.props.onBlur) return;\n\n this.props.onBlur({ target: { value: value } });\n };\n\n render() {\n return (\n \n \n \n \n $\n \n \n\n \n \n \n );\n }\n}\n\nexport class NumericalInputSimple extends Component {\n constructor(props) {\n super(props);\n this.state = {\n value: this.props.defaultValue,\n minimum: this.props.min,\n maximum: this.props.max,\n step: this.props.step,\n };\n if (typeof this.state.minimum === \"undefined\") this.state.minimum = 0;\n if (typeof this.state.step === \"undefined\") this.state.step = 100;\n this.intervalid = 0;\n this.intervaldirecton = 0;\n\n this.ref = React.createRef();\n }\n componentDidMount() {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n }\n\n componentWillUnmount() {}\n decommaizeNumeric = (v) => {\n let n = v.replace(/[^0-9-]/g, \"\");\n if (n === \"\") return n;\n return parseInt(n);\n };\n commaize = (v) => {\n if (null === v || typeof v === \"undefined\") {\n if (typeof this.state.minimum !== \"undefined\")\n return this.state.minimum.toString();\n return \"\";\n }\n\n v = v.toString();\n let input = v.replace(/[^0-9-]/g, \"\");\n\n if (input === \"\") {\n return \"\";\n }\n\n input = parseInt(input);\n input = input.toString();\n let output = \"\";\n for (;;) {\n if (input.length <= 3) {\n output = input + output;\n break;\n }\n let right = input.substr(-3);\n let left = input.substr(0, input.length - 3);\n input = left;\n output = \",\" + right + output;\n }\n return output;\n };\n onChange = (e) => {\n let v = e.target.value;\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v).toString();\n\n this.props.onChange({ target: { value: value } });\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n };\n onBlur = (e) => {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n\n let v = this.decommaizeNumeric(e.target.value);\n if (isNaN(v) || e.target.value === \"\") {\n v = \"\";\n if (\"undefined\" !== typeof this.props.onBlur)\n this.props.onBlur({ target: { value: \"\" } });\n return;\n }\n\n v = this.limit(v).toString();\n\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v);\n\n if (!this.props.onBlur) return;\n\n this.props.onBlur({ target: { value: value } });\n };\n limit = (v) => {\n if (typeof this.state.minimum !== \"undefined\" && v < this.state.minimum)\n v = this.state.minimum;\n if (typeof this.state.maximum !== \"undefined\" && v > this.state.maximum)\n v = this.state.maximum;\n return v;\n };\n render() {\n let toexpand = {};\n if (\"undefined\" !== typeof this.props.defaultValue) {\n toexpand[\"defaultValue\"] = this.commaize(this.props.defaultValue);\n }\n if (\"undefined\" !== typeof this.props.value) {\n toexpand[\"value\"] = this.commaize(this.props.value);\n }\n\n return (\n \n \n \n \n $\n \n \n\n \n \n \n );\n }\n}\n\nexport class CommaizedInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n value: this.props.defaultValue,\n minimum: this.props.min,\n maximum: this.props.max,\n step: this.props.step,\n wrap: this.props.wrap,\n };\n if (typeof this.state.minimum === \"undefined\") this.state.minimum = 0;\n if (typeof this.state.step === \"undefined\") this.state.step = 100;\n this.intervalid = 0;\n this.intervaldirecton = 0;\n\n this.ref = React.createRef();\n }\n componentDidMount() {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n }\n\n componentWillUnmount() {}\n decommaizeNumeric = (v) => {\n let n = v.replace(/[^0-9-]/g, \"\");\n if (n === \"\") return n;\n return parseInt(n);\n };\n commaize = (v) => {\n if (null === v || typeof v === \"undefined\") {\n if (typeof this.state.minimum !== \"undefined\")\n return this.state.minimum.toString();\n return \"\";\n }\n\n v = v.toString();\n let input = v.replace(/[^0-9-]/g, \"\");\n\n if (input === \"\") {\n return \"\";\n }\n\n input = parseInt(input);\n input = input.toString();\n let output = \"\";\n for (;;) {\n if (input.length <= 3) {\n output = input + output;\n break;\n }\n let right = input.substr(-3);\n let left = input.substr(0, input.length - 3);\n input = left;\n output = \",\" + right + output;\n }\n return output;\n };\n onChange = (e) => {\n let v = e.target.value;\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v).toString();\n\n this.props.onChange({ target: { value: value } });\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n };\n onBlur = (e) => {\n if (this.props.onValid) {\n this.props.onValid(this.ref.current.validity.valid);\n }\n\n let v = this.decommaizeNumeric(e.target.value);\n if (isNaN(v) || e.target.value === \"\") {\n v = \"\";\n if (\"undefined\" !== typeof this.props.onBlur)\n this.props.onBlur({ target: { value: \"\" } });\n return;\n }\n\n v = this.limit(v).toString();\n\n e.target.value = this.commaize(v);\n let value = this.decommaizeNumeric(v);\n\n if (!this.props.onBlur) return;\n\n this.props.onBlur({ target: { value: value } });\n };\n limit = (v) => {\n if (typeof this.state.minimum !== \"undefined\" && v < this.state.minimum)\n v = this.state.minimum;\n if (typeof this.state.maximum !== \"undefined\" && v > this.state.maximum)\n v = this.state.maximum;\n return v;\n };\n render() {\n let toexpand = {};\n if (\"undefined\" !== typeof this.props.defaultValue) {\n toexpand[\"defaultValue\"] = this.commaize(this.props.defaultValue);\n }\n if (\"undefined\" !== typeof this.props.value) {\n toexpand[\"value\"] = this.commaize(this.props.value);\n }\n\n return (\n \n \n {this.props.withDollarSign && \n \n $\n \n }\n \n \n \n );\n }\n}","import React from \"react\"\nimport { InputNumber } from 'antd'\n\n\nexport const DollarInput = (props) => {\n return {\n const data = `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n return data.replace(/[\\u4e00-\\u9fa5]/g, '').replaceAll('-', '').replace('.', '')\n\n }}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={props.onChange}\n size=\"large\"\n />\n}\n\n","import React, { Component } from 'react'\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\nimport { PieChart } from 'react-minimal-pie-chart'\nimport { every, omit } from 'lodash'\nimport * as com from '../Common.js'\nimport Button from 'react-bootstrap/Button'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Col from 'react-bootstrap/Col'\nimport Row from 'react-bootstrap/Row'\nimport Form from 'react-bootstrap/Form'\nimport Modal from 'react-bootstrap/Modal'\nimport NumericalInput from '../NumericalInput'\nimport { connect } from 'react-redux'\nimport * as act from '../Store/actions'\nimport { getCurrentState } from '../Store'\nimport { Tips } from '../Common/Tooltip'\nimport CheckGroup from '../Common/components/CheckGroup'\nimport { isEmpty } from 'lodash'\nimport { Input, Select, Checkbox, DatePicker } from 'antd'\nimport dayjs from 'dayjs'\nimport { DollarInput } from '../Common/components/DollarInput'\n\nexport function getassets() {\n let total = 0\n\n const { accounts, brokerages, lifeinsurance, gifts, otherassets } = this.props.application.assetsandliabilities\n\n accounts && accounts.forEach((x) => {\n if (x.balance !== '') total += parseFloat(x.balance)\n })\n brokerages && brokerages.forEach((x) => {\n if (x.balance !== '') total += parseFloat(x.balance)\n })\n lifeinsurance && lifeinsurance.forEach((x) => {\n if (x.netvalue !== '') total += parseFloat(x.netvalue)\n })\n gifts && gifts.forEach((x) => {\n if (x.value !== '') total += parseFloat(x.value)\n })\n otherassets && otherassets.forEach((x) => {\n if (x.value !== '') total += parseFloat(x.value)\n })\n\n return com.commaizeFloat(total)\n}\n\nconst mapStateToPropsA = (state) => {\n return {\n application: state.application,\n }\n}\n\nconst mapDispatchToPropsA = (dispatch) => ({})\n\nclass Allocation extends Component {\n constructor(props) {\n super(props)\n\n const [stocks, bonds, cash] = props.allocation\n this.props = props\n this.state = {\n show: false,\n stocks,\n bonds,\n cash,\n input: stocks === 0 && bonds === 0 && cash === 0 ? '' : 'set',\n }\n }\n\n componentDidMount = () => {\n const e = document.getElementById('allocation' + this.props.index)\n e.checkValidity = function () {\n alert()\n }\n e.reportValidity = function () {\n alert()\n }\n }\n\n apply = (e) => {\n const val = [\n parseFloat(this.state.stocks),\n parseFloat(this.state.bonds),\n parseFloat(this.state.cash),\n ]\n this.props.onChange(val)\n this.setState({ show: false })\n }\n\n render = () => {\n const onStocks = (e) => {\n let val = e.target.value\n if (val.length > 1 && val[0] === '0') {\n val = val.substr(1, val.length)\n }\n\n let v = parseFloat(val)\n if (isNaN(v)) {\n v = 0\n val = 0\n }\n\n v = Math.max(0, Math.min(100, v))\n if (val[val.length - 1] === '.') val = v.toString() + '.'\n else val = v.toString()\n\n this.setState({ stocks: val })\n if (v + parseFloat(this.state.bonds) > 100) {\n this.setState({\n bonds: Math.max(100 - v),\n cash: 0,\n input: 'set',\n })\n } else {\n this.setState({\n cash: parseFloat(\n 100 - v - parseFloat(this.state.bonds).toFixed(2)\n ),\n input: 'set',\n })\n }\n }\n\n const onBonds = (e) => {\n let val = e.target.value\n if (val.length > 1 && val[0] === '0') {\n val = val.substr(1, val.length)\n }\n\n let v = parseFloat(val)\n if (isNaN(v)) {\n v = 0\n val = 0\n }\n\n v = Math.max(0, Math.min(100, v))\n if (val[val.length - 1] === '.') val = v.toString() + '.'\n else val = v.toString()\n\n this.setState({ bonds: val })\n if (v + parseFloat(this.state.stocks) > 100) {\n this.setState({\n stocks: Math.max(0, 100 - v),\n cash: 0,\n input: 'set',\n })\n } else {\n this.setState({\n cash: parseFloat(\n 100 - v - parseFloat(this.state.stocks).toFixed(2)\n ),\n input: 'set',\n })\n }\n }\n\n const isAllZero = this.state.stocks === 0 && this.state.bonds === 0 && this.state.cash === 0\n const notSetData = [\n {\n title: 'Not set',\n value: 100,\n color: '#AAAAAA',\n },\n ]\n\n const stocks = parseFloat(this.state.stocks)\n const bonds = parseFloat(this.state.bonds)\n const cash = 100 - stocks - bonds\n const allocationData = [\n {\n title: `Stocks:${stocks.toFixed(1)}%`,\n value: stocks,\n color: '#EC6B56',\n },\n {\n title: `Bonds:${bonds.toFixed(1)}%`,\n value: bonds,\n color: '#FFC154',\n },\n {\n title: `Cash:${cash.toFixed(1)}%`,\n value: cash,\n color: '#47B39C',\n },\n ]\n\n\n return (\n
\n this.setState({ show: false })}\n >\n \n \n Please specify asset allocation in your portfolio:\n \n \n \n \n
\n \n \n \n Stocks:\n \n \n \n \n \n %\n \n \n \n \n Please provide the name of the bank/credit union.\n \n \n \n \n \n \n \n Bonds:\n \n \n \n \n \n %\n \n \n \n \n Please provide the name of the bank/credit union.\n \n \n \n \n \n \n \n Cash:\n \n
\n \n {' '}\n {this.state.cash.toFixed(2)}%\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n this.setState({ show: true })}\n required\n className=\"zeitro-radio obutton text-left pr-3\"\n variant=\"outline-primary\"\n >\n {' '}\n Allocation\n \n \n )\n }\n}\n\nconnect(mapStateToPropsA, mapDispatchToPropsA, null, {\n forwardRef: true,\n})(Allocation)\n\nconst mapStateToProps = (state) => {\n return {\n finances: state.application.borrower.finances,\n application: state.application,\n borrower: state.application.borrower.declarations,\n coborrower: state.application.coborrower.declarations,\n hascoborrower: state.application.hascoborrower,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateJointly: (event) => {\n dispatch(act.UpdateJointly(event.target.checked))\n },\n updateFinances: (event, who, verb) => {\n dispatch(act.UpdateFinances(event.target.value, who, verb))\n },\n clearBorrowerBankAccounts: (index, who) => {\n dispatch(act.ClearBorrowerBankAccounts(index, who))\n },\n addBorrowerBankAccount: (i, who) => {\n dispatch(act.AddBorrowerBankAccount(i, who))\n },\n clearBorrowerBrokerAccounts: (index, who) => {\n dispatch(act.ClearBorrowerBrokerAccounts(index, who))\n },\n addBorrowerBrokerAccount: (i, who) => {\n dispatch(act.AddBorrowerBrokerAccount(i, who))\n },\n removeBorrowerBrokerAccount: (index, who) => {\n dispatch(act.RemoveBorrowerBrokerAccount(index, who))\n },\n changeBorrowerBrokerName: (event, index, who) => {\n dispatch(act.ChangeBorrowerBrokerName(event.target.value, index, who))\n },\n changeBorrowerBrokerAccount: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBrokerAccount(event.target.value, index, who)\n )\n },\n changeBorrowerBrokerBalance: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBrokerBalance(event.target.value, index, who)\n )\n },\n changeBorrowerBrokerAttribution: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBrokerAttribution(event.target.value, index, who)\n )\n },\n changeBorrowerBrokerTaxStatus: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBrokerTaxStatus(event.target.value, index, who)\n )\n },\n changeBorrowerBrokerAllocation: (value, index, who) => {\n dispatch(act.ChangeBorrowerBrokerAllocation(value, index, who))\n },\n changeDeclaration: (event, who, verb) => {\n dispatch(act.ChangeDeclaration(event, who, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event, who, verb))\n },\n updateEqualOpportunity: (value, who, verb) => {\n dispatch(act.UpdateEqualOpportunity(value, who, verb))\n },\n updateEqualOpportunitySub: (value, who, section, verb) => {\n dispatch(act.UpdateEqualOpportunitySub(value, who, section, verb))\n },\n})\n\nclass Finances extends Component {\n constructor(props) {\n super(props)\n\n this.formRef = React.createRef()\n\n this.state = {\n validated: false,\n totalAssets: 0,\n }\n\n this.isValidated = this.isValidated.bind(this)\n\n const { who } = this.props\n const { brokerages, accounts } = this.props.application.assetsandliabilities\n if (typeof brokerages === undefined)\n this.props.application.assetsandliabilities.brokerages = []\n\n if (accounts === null) {\n this.props.clearBorrowerBankAccounts(0, who)\n }\n\n if (brokerages === null) {\n this.props.clearBorrowerBrokerAccounts(0, who)\n }\n\n const { currentStatus, hascoborrower } = this.props.application\n // Change button text \"Next\" button to \"Submit\"\n if (currentStatus === 'ApplicationStarted') {\n const { who } = this.props\n const { completedsteps } = this.props.application[who]\n // Omit finances from completed steps because it is not set yet\n const shouldSubmit = every(omit(completedsteps, ['finances']), (step) => step === true)\n if (shouldSubmit) {\n if (who === com.borrower) {\n if (hascoborrower !== 'withcoborrower') {\n this.props.changeContinueButtonText('Submit')\n } else {\n const coborrowerCompleted = every(this.props.application[com.coborrower].completedsteps, (step) => step === true)\n if (coborrowerCompleted) {\n this.props.changeContinueButtonText('Submit')\n }\n }\n }\n if (who === com.coborrower) {\n const borrowerCompleted = every(this.props.application[com.borrower].completedsteps, (step) => step === true)\n if (borrowerCompleted) {\n this.props.changeContinueButtonText('Submit')\n }\n }\n }\n }\n }\n\n recalcAssets = () => {\n //setTimeout( () => this.setState({totalAssets: this.calculateAssets()}), 100)\n this.calculateAssets()\n }\n\n componentDidMount() {\n this.recalcAssets()\n setTimeout(() => {\n this.completion()\n }, 100)\n }\n\n componentDidUpdate(prevProps) {\n this.completion()\n }\n\n componentWillUnmount() { }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.finances) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, finances: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n completion = () => {\n const form = this.props.self.current\n const formElements = form?.elements\n if (formElements && formElements.length !== 0) {\n let totalCount = 2\n let fillNum = 2\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (\n element.type !== 'button' &&\n element.type !== 'fieldset' &&\n element.type !== 'submit'\n ) {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n\n // Define declaration fields to check\n const declarationFields = [\n 'comakeronnote',\n 'judgements',\n 'delinquentondebt',\n 'lawsuit',\n 'conveyedtitle',\n 'loanforeclosure',\n 'propertyforeclosure',\n 'loansinforebearance',\n 'bancrupt'\n ]\n\n // Create borrower declarations object using field list\n const borrowerDeclarations = declarationFields.reduce((acc, field) => {\n acc[field] = this.props.borrower[field]\n return acc\n }, {})\n\n // Create co-borrower declarations if needed\n const coborrowerDeclarations = this.props.hascoborrower !== 'alone'\n ? declarationFields.reduce((acc, field) => {\n acc[`co${field.charAt(0).toUpperCase()}${field.slice(1)}`] = this.props.coborrower[field]\n return acc\n }, {})\n : {}\n\n // Merge declarations\n const mergedObj = { ...borrowerDeclarations, ...coborrowerDeclarations }\n\n const emptyNum = Object.keys(mergedObj).filter((key) => {\n const value = mergedObj[key]\n return value === '' || value === null || value === undefined\n }).length\n totalCount = totalCount + Object.keys(mergedObj).length\n fillNum = fillNum + Object.keys(mergedObj).length - emptyNum\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem('progressValue', progressValue)\n }\n }\n\n processBrokerages = (val, index) => {\n if (null === val) return ''\n\n const { bankname, account, key, balance, attribution, isretirement } = val\n return this.generateBrokerAccount(\n index,\n bankname,\n account,\n balance,\n attribution,\n isretirement,\n key\n )\n }\n\n generateBrokerAccount = (index, brokername, account, balance, attribution, isretirement, key) => {\n index = parseInt(index)\n\n const { who } = this.props\n\n const removeBorrowerBrokerAccount = (event) => {\n com.touch()\n this.props.removeBorrowerBrokerAccount(index, who)\n }\n const updateBroker = (event) => {\n com.touch()\n this.props.changeBorrowerBrokerName(event, index, who)\n }\n const updateAccount = (event) => {\n com.touch()\n this.props.changeBorrowerBrokerAccount(event, index, who)\n }\n const changeBorrowerBrokerBalance = (event) => {\n com.touch()\n this.props.changeBorrowerBrokerBalance(event, index, who)\n }\n const addBorrowerBrokerAccount = (event) => {\n com.touch()\n return this.props.addBorrowerBrokerAccount(event, who)\n }\n\n const changeAttribution = (event) => {\n com.touch()\n this.props.changeBorrowerBrokerAttribution(\n event,\n index,\n who\n )\n }\n const changeTaxStatus = (event) => {\n com.touch()\n const val = event.target.checked\n this.props.changeBorrowerBrokerTaxStatus(\n { target: { value: val } },\n index,\n who\n )\n }\n\n const amountName = () => {\n return isretirement ? (\n \n Vested amount\n \n Vested amount refers to the part of the retirement account that can be potentially withdrawn. Employer matching contribution typically has a vesting schedule, and only belongs to you after it vests.\n \n }\n placement=\"top\"\n />\n \n ) : (\n Balance\n )\n }\n\n const { hascoborrower, married, borrower, coborrower, assetsandliabilities } = this.props.application\n const { brokerages } = assetsandliabilities\n\n const borrowerName = `${borrower.firstname} ${borrower.lastname}`\n const coborrowerName = `${coborrower.firstname} ${coborrower.lastname}`\n\n return (\n
\n \n
\n \n \n \n \n Institution\n \n \n \n Please provide the name of the bank/credit union.\n \n \n \n \n \n \n Account\n \n \n \n Please provide account number.\n \n \n \n \n \n {amountName()}\n
\n \n changeBorrowerBrokerBalance(\n e.target.value < 1 ? { target: { value: 1 } } : e\n )\n }\n />\n
\n \n Please provide account balance.\n \n
\n \n \n \n \n
\n \n
\n Check if this is a retirement account{' '}\n \n If this is a retirement account (401K, IRA, SEP, Keogh, Annuities) choose Retirement, and specify only the vested account. Otherwise, choose Regular.\n
\n }\n placement=\"bottom\"\n title=\"Retirement\"\n />\n
\n \n \n \n {hascoborrower === 'withcoborrower' && married && (\n \n
Ownership
\n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n {title}\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n const onEthnicity = (event) => {\n com.touch()\n this.props.updateEqualOpportunity(event.target.value, who, 'ethnicity')\n }\n\n const onOtherHispanic = (event) => {\n com.touch()\n this.props.updateEqualOpportunitySub(event.target.value, who, 'hispanic', 'otherdesctiption')\n }\n\n const onPacific = (event) => {\n com.touch()\n this.props.updateEqualOpportunitySub(event.target.value, who, 'race|pacificdetails', 'otherdetails')\n }\n\n const onTribe = (event) => {\n com.touch()\n this.props.updateEqualOpportunitySub(event.target.value, who, 'race', 'indiantribe')\n }\n\n const onOtherAsian = (event) => {\n com.touch()\n this.props.updateEqualOpportunitySub(event.target.value, who, 'race|asiandetails', 'otherdesctiption')\n }\n\n const onSex = (event) => {\n com.touch()\n this.props.updateEqualOpportunity(event.target.value, who, 'sex')\n }\n\n\n const updateEqualOpportunityCheck = (who, section, verb) => {\n return event => {\n com.touch()\n this.props.updateEqualOpportunitySub(event.target.checked, who, section, verb)\n }\n }\n\n const { who, borrower, coborrower } = this.props\n const { servearmedforces, militaryservice } = this.props.application[who].declarations\n const { ethnicity, hispanic, race, sex } = this.props.application[who].equalopportunity\n\n const bancrupt = who === com.borrower ? borrower.bancrupt : coborrower.bancrupt\n\n const isHispanicRequired = () => {\n if (ethnicity !== 'hispanic') return false\n return !hispanic.mexican && !hispanic.puertorican && !hispanic.cuban && !hispanic.other\n }\n\n const isRaceRequired = () => {\n const { notfurnished, asian, pacific, black, americanindian, white } = race\n if (notfurnished) return false\n return !asian && !pacific && !black && !americanindian && !white\n }\n\n const isPacificRequired = () => {\n const { pacific, pacificdetails } = race\n if (!pacific) return false\n return !pacificdetails.hawaian && !pacificdetails.samoan && !pacificdetails.guamanian && !pacificdetails.other\n }\n\n const isAsianRequired = () => {\n const { asian, asiandetails } = race\n if (!asian) return false\n return (\n !asiandetails.otherasian &&\n !asiandetails.asianindian &&\n !asiandetails.chinese &&\n !asiandetails.korean &&\n !asiandetails.vietnamese &&\n !asiandetails.filipino &&\n !asiandetails.japanese\n )\n }\n\n const handleMilitaryService = (e) => {\n com.touch()\n this.props.changeDeclaration(e, who, 'servearmedforces')\n }\n\n const changeMilitary = (verb) => {\n const m = {...militaryservice}\n return (e) => {\n com.touch()\n m[verb] = e.target.checked\n this.props.changeDeclaration(m, who, 'militaryservice')\n }\n }\n\n const { chapter7, chapter11, chapter12, chapter13 } = this.props[who]\n\n return (\n
\n
\n Declarations\n /\n Finances\n
\n\n {declaration(\n 'Are you a co-signer or guarantor on any debt or loan that is not disclosed on this application?',\n 'comakeronnote'\n )}\n {declaration(\n 'Are there any outstanding judgments against you?',\n 'judgements'\n )}\n {declaration(\n 'Are you currently delinquent or in default on a Federal debt?',\n 'delinquentondebt'\n )}\n {declaration(\n 'Are you a party to a lawsuit in which you potentially have any personal financial liability?',\n 'lawsuit'\n )}\n {declaration(\n 'Have you conveyed title to any property in lieu of foreclosure in the past 7 years?',\n 'conveyedtitle'\n )}\n {declaration(\n 'Within the past 7 years, have you completed a pre-foreclosure sale or short sale? whereby the property was sold to a third party and the Lender agreed to accept less than the outstanding mortgage balance due?',\n 'loanforeclosure'\n )}\n {declaration(\n 'Have you had property foreclosed upon in the last 7 years?',\n 'propertyforeclosure'\n )}\n {declaration(\n 'Do you currently have any loans in forebearance?',\n 'loansinforebearance'\n )}\n {declaration(\n 'Have you been declared bankrupt within the past 7 years?',\n 'bancrupt'\n )}\n\n {bancrupt === 'yes' && (\n <>\n
\n please Identify the type(s) of bankruptcy:\n
\n \n
\n {\n this.props.changeDeclaration(e.target.checked, who, 'chapter7')\n }}\n >\n chapter7\n \n \n \n \n \n {\n this.props.changeDeclaration(e.target.checked, who, 'chapter11')\n }}\n >\n chapter11\n \n \n \n \n \n {\n this.props.changeDeclaration(e.target.checked, who, 'chapter12')\n }}\n >\n chapter12\n \n \n \n \n \n {\n this.props.changeDeclaration(e.target.checked, who, 'chapter13')\n }}\n >\n chapter13\n \n \n \n \n )}\n\n \n \n \n \n Did you (or your deceased spouse) ever serve, or are you currently serving, in the United States Armed Forces?\n \n \n \n \n \n \n \n \n \n \n \n {servearmedforces === 'yes' && (\n <>\n \n \n \n Currently serving on active duty with projected expiration date of service/tour\n \n \n \n {militaryservice.currentlyserving && (\n <>\n
Expiration date
\n \n
\n {\n com.touch();\n const m = { ...militaryservice };\n m.projectedexpirationdate = date ? date.format('MM/DD/YYYY') : '';\n this.props.changeDeclaration(m, who, 'militaryservice');\n }}\n style={{ \n height: '36px'\n }}\n />\n \n \n \n )}\n \n \n \n Currently retired, discharged, or separated from service\n \n \n \n \n \n \n Only period of service was as a non-activated member of the Reserve or National Guard\n \n \n \n \n \n \n Surviving spouse\n \n \n \n \n )}\n\n \n \n Ethnicity\n \n \n \n \n
\n \n \n
\n {ethnicity === 'hispanic' && (\n
\n
Check one or more
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {hispanic.other && (\n \n \n \n )}\n \n \n )}\n \n \n \n \n \n \n \n \n I do not wish to provide this information\n \n \n \n\n \n \n Sex\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n I do not wish to provide this information\n \n \n \n\n \n \n Race\n \n \n \n \n \n \n I do not wish to provide this information\n \n \n \n\n {race.notfurnished ? <> :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {race.pacific && (\n <>\n
Check one or more
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {race.pacificdetails.other && (\n \n \n \n )}\n \n \n )}\n \n \n \n \n \n \n \n {race.americanindian && (\n \n Print name of enrolled or principal tribe:\n \n \n \n \n )}\n \n \n \n \n \n \n {race.asian && (\n <>\n
Check one or more
\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 {race.asiandetails.otherasian && (\n \n \n \n )}\n \n \n )}\n \n }\n \n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(Finances)\n\nconst mapStateToPropsStocks = (state) => {\n return {\n finances: state.application.borrower.finances,\n application: state.application,\n borrower: state.application.borrower.declarations,\n coborrower: state.application.coborrower.declarations,\n hascoborrower: state.application.hascoborrower,\n }\n}\n\nconst mapDispatchToPropsStocks = (dispatch) => ({\n updateFinances: (event, who, verb) => {\n dispatch(act.UpdateFinances(event.target.value, who, verb))\n },\n addBorrowerOtherAsset: (event, who) => {\n dispatch(act.AddBorrowerOtherAsset(event, who))\n },\n removeBorrowerOtherAsset: (event, index, who) => {\n dispatch(act.RemoveBorrowerOtherAsset(index, who))\n },\n clearBorrowerOtherAssets: (event, who) => {\n dispatch(act.ClearBorrowerOtherAssets(event, who))\n },\n changeBorrowerOtherAssetName: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerOtherAssetName(event.target.value, index, who)\n )\n },\n changeBorrowerOtherAssetValue: (event, index, who) => {\n dispatch(act.ChangeBorrowerOtherAssetValue(event, index, who))\n },\n changeBorrowerOtherAssetAttribution: (event, index) => {\n dispatch(\n act.ChangeBorrowerOtherAssetAttribution(event.target.value, index)\n )\n },\n changeBorrowerOtherAsset: (value, verb, index) => {\n dispatch(act.ChangeBorrowerOtherAsset(value, verb, index))\n },\n changeBorrowerInsuranceValue: (event, index, verb) => {\n dispatch(\n act.ChangeBorrowerInsuranceValue(event.target.value, index, verb)\n )\n },\n clearBorrowerInsurance: () => {\n dispatch(act.ClearBorrowerInsurance())\n },\n removeBorrowerInsurance: (index) => {\n dispatch(act.RemoveBorrowerInsurance(index))\n },\n addBorrowerInsurance: () => {\n dispatch(act.AddBorrowerInsurance())\n },\n addBorrowerGift: () => {\n dispatch(act.AddBorrowerGift())\n },\n removeBorrowerGift: (index) => {\n dispatch(act.RemoveBorrowerGift(index))\n },\n clearBorrowerGift: () => {\n dispatch(act.ClearBorrowerGift())\n },\n updateBorrowerGift: (value, verb, index) => {\n dispatch(act.UpdateBorrowerGift(value, verb, index))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event, who, verb))\n },\n removeBorrowerBankAccount: (index, who) => {\n dispatch(act.RemoveBorrowerBankAccount(index, who))\n },\n changeBorrowerBankName: (event, index, who) => {\n dispatch(act.ChangeBorrowerBankName(event.target.value, index, who))\n },\n changeBorrowerBankAccount: (event, index, who) => {\n dispatch(act.ChangeBorrowerBankAccount(event.target.value, index, who))\n },\n changeBorrowerBankBalance: (event, index, who) => {\n dispatch(act.ChangeBorrowerBankBalance(event, index, who))\n },\n addBorrowerBankAccount: (i, who) => {\n dispatch(act.AddBorrowerBankAccount(i, who))\n },\n changeBorrowerBankAttribution: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBankAttribution(event.target.value, index, who)\n )\n },\n changeBorrowerBankAccountType: (event, index, who) => {\n dispatch(\n act.ChangeBorrowerBankAccountType(event.target.value, index, who)\n )\n },\n clearBorrowerBankAccounts: (index, who) => {\n dispatch(act.ClearBorrowerBankAccounts(index, who))\n },\n})\n\nexport class MoreFinances extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n validated: false,\n totalAssets: 0,\n }\n\n this.isValidated = this.isValidated.bind(this)\n this.form = React.createRef()\n this.formRef = React.createRef()\n }\n\n recalcAssets = () => {\n setTimeout(\n () => this.setState({ totalAssets: this.calculateAssets() }),\n 100\n )\n }\n\n componentDidMount() {\n this.recalcAssets()\n\n const { gifts, otherassets } = this.props.application.assetsandliabilities\n if (gifts === null) {\n this.props.clearBorrowerGift()\n }\n if (null === otherassets) {\n this.props.clearBorrowerOtherAssets(0, this.props.who)\n }\n setTimeout(() => {\n this.completion()\n }, 100)\n }\n\n componentDidUpdate(prevProps) {\n this.completion()\n }\n\n componentWillUnmount() {}\n\n completion = () => {\n const form = this.props.self.current\n const formElements = form?.elements\n if (formElements && formElements.length !== 0) {\n let totalCount = 2\n let fillNum = 2\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (!['button', 'fieldset', 'submit'].includes(element.type)) {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem('progressValue', progressValue)\n }\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.assets) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, assets: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n updateInsurance = (e) => {\n com.touch()\n\n const val = e.target.value === 'true'\n this.props.updateFinances(\n { target: { value: val } },\n this.props.who,\n 'havelifeinsurance'\n )\n }\n\n calculateAssets = getassets.bind(this)\n\n processInsurance = (val, index) => {\n if (null === val) return ''\n\n const { issuer, netvalue, facevalue, key, attribution } = val\n\n return this.renderInsurance(\n index,\n issuer,\n netvalue,\n facevalue,\n attribution,\n key\n )\n }\n\n renderInsurance(index, issuer, netvalue, facevalue, attribution, key) {\n index = parseInt(index)\n\n const changeBorrowerInsuranceValue = (verb) => {\n return (event) => {\n com.touch()\n this.props.changeBorrowerInsuranceValue(event, index, verb)\n }\n }\n\n const removeBorrowerInsurance = (event) => {\n com.touch()\n this.props.removeBorrowerInsurance(index)\n }\n const addBorrowerInsurance = (event) => {\n com.touch()\n this.props.addBorrowerInsurance()\n }\n\n const { lifeinsurance } = this.props.application.assetsandliabilities\n const { hascoborrower, married } = this.props.application\n\n const borrowerName = `${this.props.application.borrower.firstname} ${this.props.application.borrower.lastname}`\n const coborrowerName = `${this.props.application.coborrower.firstname} ${this.props.application.coborrower.lastname}`\n\n return (\n
\n \n
\n \n \n \n \n Issuer:\n \n \n \n Please provide issuer.\n \n \n \n \n \n \n Net Value:\n \n \n \n Please provide your annual income.\n \n \n \n \n \n \n Face Value:\n \n \n \n Please provide your annual income.\n \n \n \n {hascoborrower === 'withcoborrower' && married && (\n \n \n Ownership\n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n Asset type\n \n
\n \n Cash Gift\n Gift of Equity\n Grant\n \n
\n
\n \n \n \n Is deposited?\n \n \n \n
\n changeDeposited(e)}\n >\n Deposited\n Not Deposited\n \n
\n
\n \n \n \n \n {getSourceDescription()}\n \n
\n { changeGiftSource(e) }}\n style={{ width: '100%', height: 44 }}\n value={gifts[index].sourcedescription || gifts[index].source}\n >\n {com.fundssourcetype.map(\n (st, index) => {\n let desc = st[1]\n if ('' === desc) {\n desc = com.unCamelCase(st[0])\n }\n return (\n {desc}\n )\n }\n )}\n \n
\n
\n \n \n \n \n Market value\n \n
\n changeGiftAmount(e)}\n value={gifts[index].value}\n />\n
\n \n Please provide gift value.\n \n
\n \n {hascoborrower === 'withcoborrower' && married && (\n \n \n Ownership\n \n
\n changeAttribution({ target: { value: e } })}\n >\n {borrowerName}\n {coborrowerName}\n Joint\n \n
\n \n )}\n \n \n\n \n \n \n \n \n \n {getDescription()}\n \n
\n otherAssetSelect(e)}\n >\n {com.otherassetsandcredits.map(\n (st, index) => {\n return (\n \n {st[1]}\n \n )\n }\n )}\n \n
\n
\n \n \n \n \n Value\n \n
\n \n changeBorrowerOtherAssetValue(e < 1 ? 1 : e)\n }\n onBlur={this.recalcAssets}\n />\n
\n \n Please provide your middle name.\n \n
\n \n {hascoborrower === 'withcoborrower' && married && (\n \n \n Ownership\n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n Institution\n \n \n \n Please provide the name of the bank/credit union.\n \n \n \n \n \n \n Account type\n \n
\n onSelect(e)}\n style={{ height: 44, width: '100%' }}\n value={accounts[index].accounttype}\n >\n {com.bankaccounttypes.map(\n (st, index) => {\n return (\n \n {st[1]}\n \n )\n }\n )}\n \n
\n
\n \n \n \n \n Account number\n \n \n \n Please provide account number.\n \n \n \n \n \n \n Balance\n \n
\n \n
\n \n Please provide account balance.\n \n
\n \n {hascoborrower === 'withcoborrower' && married && (\n \n \n Ownership\n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n Would you like to add any financial accounts to your application?\n \n This is only necessary for{' '}asset depletion mortgages, and to ensure you have enough reserves for certain loans.\n \n }\n placement=\"bottom\"\n title=\"Asset depletion only\"\n />\n \n \n {\n com.touch()\n const val = e === 'yes'\n if (!val) {\n this.props.clearBorrowerBankAccounts(0, who)\n } else {\n this.props.addBorrowerBankAccount(0, who)\n }\n }}\n value={!isEmpty(accounts) ? 'yes' : 'no'}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n {!isEmpty(accounts) && accounts.map(this.process)}\n \n \n \n Have you received any gifts in the last 2 months, or do you expect to receive any gifts to help with obtaining this loan?\n \n \n \n \n {\n com.touch()\n const val = e === 'yes'\n if (val) {\n this.props.addBorrowerGift()\n } else {\n this.props.clearBorrowerGift()\n }\n }}\n value={!isEmpty(gifts) ? 'yes' : 'no'}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n {!isEmpty(gifts) && gifts.map(this.processGifts)}\n \n \n \n Do you have any other assets or credits you would like to use to qualify for this loan?\n \n \n \n \n {\n com.touch()\n const val = e === 'yes'\n if (!val) {\n this.props.clearBorrowerOtherAssets(0, who)\n } else {\n this.props.addBorrowerOtherAsset(0, who)\n }\n }}\n value={!isEmpty(otherassets) ? 'yes' : 'no'}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n {!isEmpty(otherassets) && otherassets.map(this.processAssets)}\n \n )\n }\n}\n\nMoreFinances = connect(mapStateToPropsStocks, mapDispatchToPropsStocks, null, {\n forwardRef: true,\n})(MoreFinances)\n","// lifted from joshtronic\nimport React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport Form from 'react-bootstrap/Form'\nimport { AutoComplete } from 'antd'\nclass Autocomplete extends Component {\n static propTypes = {\n suggestions: PropTypes.instanceOf(Array)\n };\n\n static defaultProps = {\n suggestions: []\n };\n\n constructor(props) {\n super(props)\n this.suggestionsRef = React.createRef()\n this.state = {\n options: [],\n activeSuggestion: 0,\n filteredSuggestions: [],\n showSuggestions: false,\n\n }\n }\n componentDidMount() {\n\n\n document.addEventListener(\"click\", this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"click\", this.handleClickOutside)\n }\n handleClickOutside = (e) => {\n if (this.suggestionsRef.current && !this.suggestionsRef.current.contains(e.target) && e.target.id !== this.props.id\n ) {\n this.setState({\n showSuggestions: false,\n })\n }\n }\n onChange = e => {\n const { suggestions } = this.props\n\n const filteredSuggestions = suggestions.filter(\n suggestion =>\n suggestion.toLowerCase().indexOf(e.target.value.toLowerCase()) > -1\n )\n this.setState({\n activeSuggestion: 0,\n filteredSuggestions,\n showSuggestions: true,\n })\n\n this.props.onChange(e)\n };\n\n onClick = e => {\n\n this.setState({\n activeSuggestion: 0,\n filteredSuggestions: [],\n showSuggestions: false,\n })\n\n this.props.onChange({ target: { value: e.currentTarget.innerText } })\n };\n handleSearch = (value) => {\n console.log(value, 'handleClickOutside')\n const { suggestions } = this.props\n if (value == '') {\n this.setState({\n options: []\n })\n this.props.onChange({ target: { value: '' } })\n return\n\n }\n this.setState({\n options: suggestions.filter(ele =>ele.toLowerCase().includes(value.toLowerCase())).map((item) => {\n return {\n label: item,\n value: item\n\n }\n })\n })\n this.props.onChange({ target: { value: value } })\n };\n\n onSelect = (value) => {\n console.log('onSelect', value)\n this.props.onChange({ target: { value: value } })\n };\n onBlur = e => {\n return\n /*\n this.setState({\n showSuggestions: false,\n })\n */\n }\n onFocus = e => {\n this.setState({\n showSuggestions: true,\n })\n\n }\n onKeyDown = e => {\n const { activeSuggestion, filteredSuggestions } = this.state\n\n if (e.keyCode === 13) {\n\n this.setState({\n activeSuggestion: 0,\n showSuggestions: false,\n })\n this.props.onChange({ target: { value: filteredSuggestions[activeSuggestion] } })\n e.preventDefault()\n e.stopPropagation()\n return false\n }\n else if (e.keyCode === 38) {\n if (activeSuggestion === 0) {\n return\n }\n this.setState({ activeSuggestion: activeSuggestion - 1 })\n }\n else if (e.keyCode === 40) {\n if (activeSuggestion - 1 === filteredSuggestions.length) {\n return\n }\n\n this.setState({ activeSuggestion: activeSuggestion + 1 })\n }\n };\n\n render() {\n const {\n onChange,\n onKeyDown,\n state: {\n activeSuggestion,\n filteredSuggestions,\n showSuggestions,\n\n }\n } = this\n\n let suggestionsListComponent\n\n if (showSuggestions && this.props.value) {\n if (filteredSuggestions.length) {\n suggestionsListComponent = (\n
    \n {filteredSuggestions.map((suggestion, index) => {\n let className\n\n // Flag the active suggestion with a class\n if (index === activeSuggestion) {\n className = \"suggestion-active\"\n }\n\n return (\n \n {suggestion}\n \n )\n })}\n
\n )\n } else {\n suggestionsListComponent = (\n
\n
\n )\n }\n }\n\n return (\n <>\n\n \n {this.props.label} \n {/* \n {suggestionsListComponent} */}\n\n \n\n {this.props.valid}\n \n {this.props.invalid}\n \n \n \n\n )\n }\n}\n\nexport default Autocomplete","let occupations=[\n\"Architecture and Engineering\",\n\"Arts and Design\",\n\"Building and Grounds Cleaning\",\n\"Business and Financial\",\n\"Community and Social Service\",\n\"Computer and Information Technology\",\n\"Construction and Extraction\",\n\"Education, Training, and Library\",\n\"Entertainment and Sports\",\n\"Farming, Fishing, and Forestry\",\n\"Food Preparation and Serving\",\n\"Healthcare\",\n\"Installation, Maintenance, and Repair\",\n\"Legal\",\n\"Life, Physical, and Social Science\",\n\"Management\",\n\"Math\",\n\"Media and Communication\",\n\"Military\",\n\"Office and Administrative Support\",\n\"Personal Care and Service\",\n\"Production\",\n\"Protective Service\",\n\"Sales\",\n\"Transportation and Material Moving\",\n\"Accommodation\",\n\"Accommodation and Food Services\",\n\"Administrative and Support Services\",\n\"Administrative and Support and Waste Management and Remediation Services\",\n\"Agriculture, Forestry, Fishing and Hunting\",\n\"Air Transportation\",\n\"Ambulatory Health Care Services\",\n\"Amusement, Gambling, and Recreation Industries\",\n\"Animal Production\",\n\"Apparel Manufacturing\",\n\"Arts, Entertainment, and Recreation\",\n\"Beverage and Tobacco Product Manufacturing\",\n\"Broadcasting (except Internet)\",\n\"Building Material and Garden Equipment and Supplies Dealers\",\n\"Chemical Manufacturing\",\n\"Clothing and Clothing Accessories Stores\",\n\"Computer and Electronic Product Manufacturing\",\n\"Construction\",\n\"Construction of Buildings\",\n\"Couriers and Messengers\",\n\"Credit Intermediation and Related Activities\",\n\"Crop Production\",\n\"Data Processing, Hosting, and Related Services\",\n\"Education and Health Services\",\n\"Educational Services\",\n\"Electrical Equipment, Appliance, and Component Manufacturing\",\n\"Electronics and Appliance Stores\",\n\"Fabricated Metal Product Manufacturing\",\n\"Finance and Insurance\",\n\"Financial Activities\",\n\"Fishing, Hunting and Trapping\",\n\"Food Manufacturing\",\n\"Food Services and Drinking Places\",\n\"Food and Beverage Stores\",\n\"Forestry and Logging\",\n\"Funds, Trusts, and Other Financial Vehicles\",\n\"Furniture and Home Furnishings Stores\",\n\"Furniture and Related Product Manufacturing\",\n\"Gasoline Stations\",\n\"General Merchandise Stores\",\n\"Goods-Producing Industries\",\n\"Health Care and Social Assistance\",\n\"Health and Personal Care Stores\",\n\"Heavy and Civil Engineering Construction\",\n\"Hospitals\",\n\"Information\",\n\"Insurance Carriers and Related Activities\",\n\"Internet Publishing and Broadcasting\",\n\"Leather and Allied Product Manufacturing\",\n\"Leisure and Hospitality\",\n\"Lessors of Nonfinancial Intangible Assets (except Copyrighted Works)\",\n\"Machinery Manufacturing\",\n\"Management of Companies and Enterprises\",\n\"Manufacturing\",\n\"Merchant Wholesalers, Durable Goods\",\n\"Merchant Wholesalers, Nondurable Goods\",\n\"Mining (except Oil and Gas)\",\n\"Mining, Quarrying, and Oil and Gas Extraction\",\n\"Miscellaneous Manufacturing\",\n\"Miscellaneous Store Retailers\",\n\"Monetary Authorities - Central Bank\",\n\"Motion Picture and Sound Recording Industries\",\n\"Motor Vehicle and Parts Dealers\",\n\"Museums, Historical Sites, and Similar Institutions\",\n\"Natural Resources and Mining\",\n\"Nonmetallic Mineral Product Manufacturing\",\n\"Nonstore Retailers\",\n\"Nursing and Residential Care Facilities\",\n\"Oil and Gas Extraction\",\n\"Other Information Services\",\n\"Other Services (except Public Administration)\",\n\"Paper Manufacturing\",\n\"Performing Arts, Spectator Sports, and Related Industries\",\n\"Personal and Laundry Services\",\n\"Petroleum and Coal Products Manufacturing\",\n\"Pipeline Transportation\",\n\"Plastics and Rubber Products Manufacturing\",\n\"Postal Service\",\n\"Primary Metal Manufacturing\",\n\"Printing and Related Support Activities\",\n\"Private Households\",\n\"Professional and Business Services\",\n\"Professional, Scientific, and Technical Services\",\n\"Publishing Industries (except Internet)\",\n\"Rail Transportation\",\n\"Real Estate\",\n\"Real Estate and Rental and Leasing\",\n\"Religious, Grantmaking, Civic, Professional, and Similar Organizations\",\n\"Rental and Leasing Services\",\n\"Repair and Maintenance\",\n\"Retail Trade\",\n\"Scenic and Sightseeing Transportation\",\n\"Securities, Commodity Contracts, and Other Financial Investments and Related Activities\",\n\"Service-Providing Industries\",\n\"Social Assistance\",\n\"Specialty Trade Contractors\",\n\"Sporting Goods, Hobby, Book, and Music Stores\",\n\"Support Activities for Agriculture and Forestry\",\n\"Support Activities for Mining\",\n\"Support Activities for Transportation\",\n\"Telecommunications\",\n\"Textile Mills\",\n\"Textile Product Mills\",\n\"Trade, Transportation, and Utilities\",\n\"Transit and Ground Passenger Transportation\",\n\"Transportation Equipment Manufacturing\",\n\"Transportation and Warehousing\",\n\"Truck Transportation\",\n\"Utilities\",\n\"Warehousing and Storage\",\n\"Waste Management and Remediation Services\",\n\"Water Transportation\",\n\"Wholesale Electronic Markets and Agents and Brokers\",\n\"Wholesale Trade\",\n\"Wood Product Manufacturing\",\n]\n /*\nlet titles = [\n 'Architecture and Engineering Occupations',\n 'Aerospace Engineering and Operations Technicians',\n 'Aerospace Engineers',\n 'Agricultural Engineers',\n 'Architects, Except Landscape and Naval',\n 'Architectural Drafters',\n 'Automotive Engineering Technicians',\n 'Automotive Engineers',\n 'Biochemical Engineers',\n 'Biomedical Engineers',\n 'Cartographers and Photogrammetrists',\n 'Chemical Engineers',\n 'Civil Drafters',\n 'Civil Engineering Technicians',\n 'Civil Engineers',\n 'Computer Hardware Engineers',\n 'Drafters, All Other',\n 'Electrical Drafters',\n 'Electrical Engineering Technicians',\n 'Electrical Engineering Technologists',\n 'Electrical Engineers',\n 'Electromechanical Engineering Technologists',\n 'Electro-Mechanical Technicians',\n 'Electronic Drafters',\n 'Electronics Engineering Technicians',\n 'Electronics Engineering Technologists',\n 'Electronics Engineers, Except Computer',\n 'Energy Engineers',\n 'Engineering Technicians, Except Drafters, All Other',\n 'Engineers, All Other',\n 'Environmental Engineering Technicians',\n 'Environmental Engineers',\n 'Fire-Prevention and Protection Engineers',\n 'Fuel Cell Engineers',\n 'Fuel Cell Technicians',\n 'Geodetic Surveyors',\n 'Human Factors Engineers and Ergonomists',\n 'Industrial Engineering Technicians',\n 'Industrial Engineering Technologists',\n 'Industrial Engineers',\n 'Industrial Safety and Health Engineers',\n 'Landscape Architects',\n 'Manufacturing Engineering Technologists',\n 'Manufacturing Engineers',\n 'Manufacturing Production Technicians',\n 'Mapping Technicians',\n 'Marine Architects',\n 'Marine Engineers',\n 'Materials Engineers',\n 'Mechanical Drafters',\n 'Mechanical Engineering Technicians',\n 'Mechanical Engineering Technologists',\n 'Mechanical Engineers',\n 'Mechatronics Engineers',\n 'Microsystems Engineers',\n 'Mining and Geological Engineers, Including Mining Safety Engineers',\n 'Nanosystems Engineers',\n 'Nanotechnology Engineering Technicians',\n 'Nanotechnology Engineering Technologists',\n 'Non-Destructive Testing Specialists',\n 'Nuclear Engineers',\n 'Petroleum Engineers',\n 'Photonics Engineers',\n 'Photonics Technicians',\n 'Product Safety Engineers',\n 'Radio Frequency Identification Device Specialists',\n 'Robotics Engineers',\n 'Robotics Technicians',\n 'Solar Energy Systems Engineers',\n 'Surveying Technicians',\n 'Surveyors',\n 'Transportation Engineers',\n 'Validation Engineers',\n 'Water/Wastewater Engineers',\n 'Wind Energy Engineers',\n 'Actors',\n 'Art Directors',\n 'Artists and Related Workers, All Other',\n 'Athletes and Sports Competitors',\n 'Audio and Video Equipment Technicians',\n 'Broadcast News Analysts',\n 'Broadcast Technicians',\n 'Camera Operators, Television, Video, and Motion Picture',\n 'Choreographers',\n 'Coaches and Scouts',\n 'Commercial and Industrial Designers',\n 'Copy Writers',\n 'Craft Artists',\n 'Dancers',\n 'Designers, All Other',\n 'Directors- Stage, Motion Pictures, Television, and Radio',\n 'Editors',\n 'Entertainers and Performers, Sports and Related Workers, All Other',\n 'Fashion Designers',\n 'Film and Video Editors',\n 'Fine Artists, Including Painters, Sculptors, and Illustrators',\n 'Floral Designers',\n 'Graphic Designers',\n 'Interior Designers',\n 'Interpreters and Translators',\n 'Media and Communication Equipment Workers, All Other',\n 'Media and Communication Workers, All Other',\n 'Merchandise Displayers and Window Trimmers',\n 'Multimedia Artists and Animators',\n 'Music Composers and Arrangers',\n 'Music Directors',\n 'Musicians, Instrumental',\n 'Photographers',\n 'Poets, Lyricists and Creative Writers',\n 'Producers',\n 'Program Directors',\n 'Public Address System and Other Announcers',\n 'Public Relations Specialists',\n 'Radio and Television Announcers',\n 'Radio Operators',\n 'Reporters and Correspondents',\n 'Set and Exhibit Designers',\n 'Singers',\n 'Sound Engineering Technicians',\n 'Talent Directors',\n 'Technical Directors/Managers',\n 'Technical Writers',\n 'Umpires, Referees, and Other Sports Officials',\n 'Building Cleaning Workers, All Other',\n 'First-Line Supervisors of Housekeeping and Janitorial Workers',\n 'First-Line Supervisors of Landscaping, Lawn Service, and Groundskeeping Workers',\n 'Grounds Maintenance Workers, All Other',\n 'Janitors and Cleaners, Except Maids and Housekeeping Cleaners',\n 'Landscaping and Groundskeeping Workers',\n 'Maids and Housekeeping Cleaners',\n 'Pest Control Workers',\n 'Pesticide Handlers, Sprayers, and Applicators, Vegetation',\n 'Tree Trimmers and Pruners',\n 'Accountants',\n 'Agents and Business Managers of Artists, Performers, and Athletes',\n 'Appraisers, Real Estate',\n 'Assessors',\n 'Auditors',\n 'Budget Analysts',\n 'Business Continuity Planners',\n 'Business Operations Specialists, All Other',\n 'Buyers and Purchasing Agents, Farm Products',\n 'Claims Examiners, Property and Casualty Insurance',\n 'Compensation, Benefits, and Job Analysis Specialists',\n 'Coroners',\n 'Cost Estimators',\n 'Credit Analysts',\n 'Credit Counselors',\n 'Customs Brokers',\n 'Energy Auditors',\n 'Environmental Compliance Inspectors',\n 'Equal Opportunity Representatives and Officers',\n 'Farm Labor Contractors',\n 'Financial Analysts',\n 'Financial Examiners',\n 'Financial Quantitative Analysts',\n 'Financial Specialists, All Other',\n 'Fraud Examiners, Investigators and Analysts',\n 'Fundraisers',\n 'Government Property Inspectors and Investigators',\n 'Human Resources Specialists',\n 'Insurance Adjusters, Examiners, and Investigators',\n 'Insurance Appraisers, Auto Damage',\n 'Insurance Underwriters',\n 'Investment Underwriters',\n 'Labor Relations Specialists',\n 'Licensing Examiners and Inspectors',\n 'Loan Counselors',\n 'Loan Officers',\n 'Logisticians',\n 'Logistics Analysts',\n 'Logistics Engineers',\n 'Management Analysts',\n 'Market Research Analysts and Marketing Specialists',\n 'Meeting, Convention, and Event Planners',\n 'Online Merchants',\n 'Personal Financial Advisors',\n 'Purchasing Agents, Except Wholesale, Retail, and Farm Products',\n 'Regulatory Affairs Specialists',\n 'Risk Management Specialists',\n 'Security Management Specialists',\n 'Sustainability Specialists',\n 'Tax Examiners and Collectors, and Revenue Agents',\n 'Tax Preparers',\n 'Training and Development Specialists',\n 'Wholesale and Retail Buyers, Except Farm Products',\n 'Child, Family, and School Social Workers',\n 'Clergy',\n 'Community and Social Service Specialists, All Other',\n 'Community Health Workers',\n 'Counselors, All Other',\n 'Directors, Religious Activities and Education',\n 'Educational, Guidance, School, and Vocational Counselors',\n 'Health Educators',\n 'Healthcare Social Workers',\n 'Marriage and Family Therapists',\n 'Mental Health and Substance Abuse Social Workers',\n 'Mental Health Counselors',\n 'Probation Officers and Correctional Treatment Specialists',\n 'Rehabilitation Counselors',\n 'Religious Workers, All Other',\n 'Social and Human Service Assistants',\n 'Social Workers, All Other',\n 'Substance Abuse and Behavioral Disorder Counselors',\n 'Actuaries',\n 'Biostatisticians',\n 'Business Intelligence Analysts',\n 'Clinical Data Managers',\n 'Computer and Information Research Scientists',\n 'Computer Network Architects',\n 'Computer Network Support Specialists',\n 'Computer Occupations, All Other',\n 'Computer Programmers',\n 'Computer Systems Analysts',\n 'Computer Systems Engineers/Architects',\n 'Computer User Support Specialists',\n 'Data Warehousing Specialists',\n 'Database Administrators',\n 'Database Architects',\n 'Document Management Specialists',\n 'Geographic Information Systems Technicians',\n 'Geospatial Information Scientists and Technologists',\n 'Informatics Nurse Specialists',\n 'Information Security Analysts',\n 'Information Technology Project Managers',\n 'Mathematical Science Occupations, All Other',\n 'Mathematical Technicians',\n 'Mathematicians',\n 'Network and Computer Systems Administrators',\n 'Operations Research Analysts',\n 'Search Marketing Strategists',\n 'Software Developers, Applications',\n 'Software Developers, Systems Software',\n 'Software Quality Assurance Engineers and Testers',\n 'Statisticians',\n 'Telecommunications Engineering Specialists',\n 'Video Game Designers',\n 'Web Administrators',\n 'Web Developers',\n 'Boilermakers',\n 'Brickmasons and Blockmasons',\n 'Carpet Installers',\n 'Cement Masons and Concrete Finishers',\n 'Construction and Building Inspectors',\n 'Construction and Related Workers, All Other',\n 'Construction Carpenters',\n 'Construction Laborers',\n 'Continuous Mining Machine Operators',\n 'Derrick Operators, Oil and Gas',\n 'Drywall and Ceiling Tile Installers',\n 'Earth Drillers, Except Oil and Gas',\n 'Electricians',\n 'Elevator Installers and Repairers',\n 'Explosives Workers, Ordnance Handling Experts, and Blasters',\n 'Extraction Workers, All Other',\n 'Fence Erectors',\n 'First-Line Supervisors of Construction Trades and Extraction Workers',\n 'Floor Layers, Except Carpet, Wood, and Hard Tiles',\n 'Floor Sanders and Finishers',\n 'Glaziers',\n 'Hazardous Materials Removal Workers',\n 'Helpers, Construction Trades, All Other',\n 'Helpers--Brickmasons, Blockmasons, Stonemasons, and Tile and Marble Setters',\n 'Helpers--Carpenters',\n 'Helpers--Electricians',\n 'Helpers--Extraction Workers',\n 'Helpers--Painters, Paperhangers, Plasterers, and Stucco Masons',\n 'Helpers--Pipelayers, Plumbers, Pipefitters, and Steamfitters',\n 'Helpers--Roofers',\n 'Highway Maintenance Workers',\n 'Insulation Workers, Floor, Ceiling, and Wall',\n 'Insulation Workers, Mechanical',\n 'Mine Cutting and Channeling Machine Operators',\n 'Mining Machine Operators, All Other',\n 'Operating Engineers and Other Construction Equipment Operators',\n 'Painters, Construction and Maintenance',\n 'Paperhangers',\n 'Paving, Surfacing, and Tamping Equipment Operators',\n 'Pile-Driver Operators',\n 'Pipe Fitters and Steamfitters',\n 'Pipelayers',\n 'Plasterers and Stucco Masons',\n 'Plumbers',\n 'Rail-Track Laying and Maintenance Equipment Operators',\n 'Reinforcing Iron and Rebar Workers',\n 'Rock Splitters, Quarry',\n 'Roof Bolters, Mining',\n 'Roofers',\n 'Rotary Drill Operators, Oil and Gas',\n 'Rough Carpenters',\n 'Roustabouts, Oil and Gas',\n 'Segmental Pavers',\n 'Septic Tank Servicers and Sewer Pipe Cleaners',\n 'Service Unit Operators, Oil, Gas, and Mining',\n 'Sheet Metal Workers',\n 'Solar Energy Installation Managers',\n 'Solar Photovoltaic Installers',\n 'Solar Thermal Installers and Technicians',\n 'Stonemasons',\n 'Structural Iron and Steel Workers',\n 'Tapers',\n 'Terrazzo Workers and Finishers',\n 'Tile and Marble Setters',\n 'Weatherization Installers and Technicians',\n 'Adapted Physical Education Specialists',\n 'Adult Basic and Secondary Education and Literacy Teachers and Instructors',\n 'Agricultural Sciences Teachers, Postsecondary',\n 'Anthropology and Archeology Teachers, Postsecondary',\n 'Architecture Teachers, Postsecondary',\n 'Archivists',\n 'Area, Ethnic, and Cultural Studies Teachers, Postsecondary',\n 'Art, Drama, and Music Teachers, Postsecondary',\n 'Atmospheric, Earth, Marine, and Space Sciences Teachers, Postsecondary',\n 'Audio-Visual and Multimedia Collections Specialists',\n 'Biological Science Teachers, Postsecondary',\n 'Business Teachers, Postsecondary',\n 'Career/Technical Education Teachers, Middle School',\n 'Career/Technical Education Teachers, Secondary School',\n 'Chemistry Teachers, Postsecondary',\n 'Communications Teachers, Postsecondary',\n 'Computer Science Teachers, Postsecondary',\n 'Criminal Justice and Law Enforcement Teachers, Postsecondary',\n 'Curators',\n 'Economics Teachers, Postsecondary',\n 'Education Teachers, Postsecondary',\n 'Education, Training, and Library Workers, All Other',\n 'Elementary School Teachers, Except Special Education',\n 'Engineering Teachers, Postsecondary',\n 'English Language and Literature Teachers, Postsecondary',\n 'Environmental Science Teachers, Postsecondary',\n 'Farm and Home Management Advisors',\n 'Foreign Language and Literature Teachers, Postsecondary',\n 'Forestry and Conservation Science Teachers, Postsecondary',\n 'Geography Teachers, Postsecondary',\n 'Graduate Teaching Assistants',\n 'Health Specialties Teachers, Postsecondary',\n 'History Teachers, Postsecondary',\n 'Home Economics Teachers, Postsecondary',\n 'Instructional Coordinators',\n 'Instructional Designers and Technologists',\n 'Kindergarten Teachers, Except Special Education',\n 'Law Teachers, Postsecondary',\n 'Librarians',\n 'Library Science Teachers, Postsecondary',\n 'Library Technicians',\n 'Mathematical Science Teachers, Postsecondary',\n 'Middle School Teachers, Except Special and Career/Technical Education',\n 'Museum Technicians and Conservators',\n 'Nursing Instructors and Teachers, Postsecondary',\n 'Philosophy and Religion Teachers, Postsecondary',\n 'Physics Teachers, Postsecondary',\n 'Political Science Teachers, Postsecondary',\n 'Postsecondary Teachers, All Other',\n 'Preschool Teachers, Except Special Education',\n 'Psychology Teachers, Postsecondary',\n 'Recreation and Fitness Studies Teachers, Postsecondary',\n 'Secondary School Teachers, Except Special and Career/Technical Education',\n 'Self-Enrichment Education Teachers',\n 'Social Sciences Teachers, Postsecondary, All Other',\n 'Social Work Teachers, Postsecondary',\n 'Sociology Teachers, Postsecondary',\n 'Special Education Teachers, All Other',\n 'Special Education Teachers, Kindergarten and Elementary School',\n 'Special Education Teachers, Middle School',\n 'Special Education Teachers, Preschool',\n 'Special Education Teachers, Secondary School',\n 'Teacher Assistants',\n 'Teachers and Instructors, All Other',\n 'Tutors',\n 'Vocational Education Teachers, Postsecondary',\n 'Agricultural Equipment Operators',\n 'Agricultural Inspectors',\n 'Agricultural Workers, All Other',\n 'Animal Breeders',\n 'Fallers',\n 'Farmworkers and Laborers, Crop',\n 'Farmworkers, Farm, Ranch, and Aquacultural Animals',\n 'First-Line Supervisors of Agricultural Crop and Horticultural Workers',\n 'First-Line Supervisors of Animal Husbandry and Animal Care Workers',\n 'First-Line Supervisors of Aquacultural Workers',\n 'First-Line Supervisors of Logging Workers',\n 'Fishers and Related Fishing Workers',\n 'Forest and Conservation Workers',\n 'Graders and Sorters, Agricultural Products',\n 'Hunters and Trappers',\n 'Log Graders and Scalers',\n 'Logging Equipment Operators',\n 'Logging Workers, All Other',\n 'Nursery Workers',\n 'Baristas',\n 'Bartenders',\n 'Chefs and Head Cooks',\n 'Combined Food Preparation and Serving Workers, Including Fast Food',\n 'Cooks, All Other',\n 'Cooks, Fast Food',\n 'Cooks, Institution and Cafeteria',\n 'Cooks, Private Household',\n 'Cooks, Restaurant',\n 'Cooks, Short Order',\n 'Counter Attendants, Cafeteria, Food Concession, and Coffee Shop',\n 'Dining Room and Cafeteria Attendants and Bartender Helpers',\n 'Dishwashers',\n 'First-Line Supervisors of Food Preparation and Serving Workers',\n 'Food Preparation and Serving Related Workers, All Other',\n 'Food preparation Workers',\n 'Food Servers, Nonrestaurant',\n 'Hosts and Hostesses, Restaurant, Lounge, and Coffee Shop',\n 'Waiters and Waitresses',\n 'Acupuncturists',\n 'Acute Care Nurses',\n 'Advanced Practice Psychiatric Nurses',\n 'Allergists and Immunologists',\n 'Anesthesiologist Assistants',\n 'Anesthesiologists',\n 'Art Therapists',\n 'Athletic Trainers',\n 'Audiologists',\n 'Cardiovascular Technologists and Technicians',\n 'Chiropractors',\n 'Clinical Nurse Specialists',\n 'Critical Care Nurses',\n 'Cytogenetic Technologists',\n 'Cytotechnologists',\n 'Dental Hygienists',\n 'Dentists, All Other Specialists',\n 'Dentists, General',\n 'Dermatologists',\n 'Diagnostic Medical Sonographers',\n 'Dietetic Technicians',\n 'Dietitians and Nutritionists',\n 'Emergency Medical Technicians and Paramedics',\n 'Exercise Physiologists',\n 'Family and General Practitioners',\n 'Genetic Counselors',\n 'Health Diagnosing and Treating Practitioners, All Other',\n 'Health Technologists and Technicians, All Other',\n 'Healthcare Practitioners and Technical Workers, All Other',\n 'Hearing Aid Specialists',\n 'Histotechnologists and Histologic Technicians',\n 'Hospitalists',\n 'Internists, General',\n 'Licensed Practical and Licensed Vocational Nurses',\n 'Low Vision Therapists, Orientation and Mobility Specialists, and Vision Rehabilitation Therapists',\n 'Magnetic Resonance Imaging Technologists',\n 'Medical and Clinical Laboratory Technicians',\n 'Medical and Clinical Laboratory Technologists',\n 'Medical Records and Health Information Technicians',\n 'Midwives',\n 'Music Therapists',\n 'Naturopathic Physicians',\n 'Neurodiagnostic Technologists',\n 'Neurologists',\n 'Nuclear Medicine Physicians',\n 'Nuclear Medicine Technologists',\n 'Nurse Anesthetists',\n 'Nurse Midwives',\n 'Nurse Practitioners',\n 'Obstetricians and Gynecologists',\n 'Occupational Health and Safety Specialists',\n 'Occupational Health and Safety Technicians',\n 'Occupational Therapists',\n 'Ophthalmic Medical Technicians',\n 'Ophthalmic Medical Technologists',\n 'Ophthalmologists',\n 'Opticians, Dispensing',\n 'Optometrists',\n 'Oral and Maxillofacial Surgeons',\n 'Orthodontists',\n 'Orthoptists',\n 'Orthotists and Prosthetists',\n 'Pathologists',\n 'Pediatricians, General',\n 'Pharmacists',\n 'Pharmacy Technicians',\n 'Physical Medicine and Rehabilitation Physicians',\n 'Physical Therapists',\n 'Physician Assistants',\n 'Physicians and Surgeons, All Other',\n 'Podiatrists',\n 'Preventive Medicine Physicians',\n 'Prosthodontists',\n 'Psychiatric Technicians',\n 'Psychiatrists',\n 'Radiation Therapists',\n 'Radiologic Technicians',\n 'Radiologic Technologists',\n 'Radiologists',\n 'Recreational Therapists',\n 'Registered Nurses',\n 'Respiratory Therapists',\n 'Respiratory Therapy Technicians',\n 'Speech-Language Pathologists',\n 'Sports Medicine Physicians',\n 'Surgeons',\n 'Surgical Assistants',\n 'Surgical Technologists',\n 'Therapists, All Other',\n 'Urologists',\n 'Veterinarians',\n 'Veterinary Technologists and Technicians',\n 'Dental Assistants',\n 'Endoscopy Technicians',\n 'Healthcare Support Workers, All Other',\n 'Home Health Aides',\n 'Massage Therapists',\n 'Medical Assistants',\n 'Medical Equipment Preparers',\n 'Medical Transcriptionists',\n 'Nursing Assistants',\n 'Occupational Therapy Aides',\n 'Occupational Therapy Assistants',\n 'Orderlies',\n 'Pharmacy Aides',\n 'Phlebotomists',\n 'Physical Therapist Aides',\n 'Physical Therapist Assistants',\n 'Psychiatric Aides',\n 'Speech-Language Pathology Assistants',\n 'Veterinary Assistants and Laboratory Animal Caretakers',\n 'Aircraft Mechanics and Service Technicians',\n 'Automotive Body and Related Repairers',\n 'Automotive Glass Installers and Repairers',\n 'Automotive Master Mechanics',\n 'Automotive Service Technicians and Mechanics',\n 'Automotive Specialty Technicians',\n 'Avionics Technicians',\n 'Bicycle Repairers',\n 'Bus and Truck Mechanics and Diesel Engine Specialists',\n 'Camera and Photographic Equipment Repairers',\n 'Coin, Vending, and Amusement Machine Servicers and Repairers',\n 'Commercial Divers',\n 'Computer, Automated Teller, and Office Machine Repairers',\n 'Control and Valve Installers and Repairers, Except Mechanical Door',\n 'Electric Motor, Power Tool, and Related Repairers',\n 'Electrical and Electronics Installers and Repairers, Transportation Equipment',\n 'Electrical and Electronics Repairers, Commercial and Industrial Equipment',\n 'Electrical and Electronics Repairers, Powerhouse, Substation, and Relay',\n 'Electrical Power-Line Installers and Repairers',\n 'Electronic Equipment Installers and Repairers, Motor Vehicles',\n 'Electronic Home Entertainment Equipment Installers and Repairers',\n 'Fabric Menders, Except Garment',\n 'Farm Equipment Mechanics and Service Technicians',\n 'First-Line Supervisors of Mechanics, Installers, and Repairers',\n 'Geothermal Technicians',\n 'Heating and Air Conditioning Mechanics and Installers',\n 'Helpers--Installation, Maintenance, and Repair Workers',\n 'Home Appliance Repairers',\n 'Industrial Machinery Mechanics',\n 'Installation, Maintenance, and Repair Workers, All Other',\n 'Locksmiths and Safe Repairers',\n 'Maintenance and Repair Workers, General',\n 'Maintenance Workers, Machinery',\n 'Manufactured Building and Mobile Home Installers',\n 'Mechanical Door Repairers',\n 'Medical Equipment Repairers',\n 'Millwrights',\n 'Mobile Heavy Equipment Mechanics, Except Engines',\n 'Motorboat Mechanics and Service Technicians',\n 'Motorcycle Mechanics',\n 'Musical Instrument Repairers and Tuners',\n 'Outdoor Power Equipment and Other Small Engine Mechanics',\n 'Precision Instrument and Equipment Repairers, All Other',\n 'Radio Mechanics',\n 'Radio, Cellular, and Tower Equipment Installers and Repairers',\n 'Rail Car Repairers',\n 'Recreational Vehicle Service Technicians',\n 'Refractory Materials Repairers, Except Brickmasons',\n 'Refrigeration Mechanics and Installers',\n 'Riggers',\n 'Security and Fire Alarm Systems Installers',\n 'Signal and Track Switch Repairers',\n 'Telecommunications Equipment Installers and Repairers, Except Line Installers',\n 'Telecommunications Line Installers and Repairers',\n 'Tire Repairers and Changers',\n 'Watch Repairers',\n 'Wind Turbine Service Technicians',\n 'Administrative Law Judges, Adjudicators, and Hearing Officers',\n 'Arbitrators, Mediators, and Conciliators',\n 'Court Reporters',\n 'Judges, Magistrate Judges, and Magistrates',\n 'Judicial Law Clerks',\n 'Lawyers',\n 'Legal Support Workers, All Other',\n 'Paralegals and Legal Assistants',\n 'Title Examiners, Abstractors, and Searchers',\n 'Agricultural Technicians',\n 'Animal Scientists',\n 'Anthropologists',\n 'Archeologists',\n 'Astronomers',\n 'Atmospheric and Space Scientists',\n 'Biochemists and Biophysicists',\n 'Bioinformatics Scientists',\n 'Biological Scientists, All Other',\n 'Biological Technicians',\n 'Biologists',\n 'Chemical Technicians',\n 'Chemists',\n 'City and Regional Planning Aides',\n 'Climate Change Analysts',\n 'Clinical Psychologists',\n 'Counseling Psychologists',\n 'Economists',\n 'Environmental Economists',\n 'Environmental Restoration Planners',\n 'Environmental Science and Protection Technicians, Including Health',\n 'Environmental Scientists and Specialists, Including Health',\n 'Epidemiologists',\n 'Food Science Technicians',\n 'Food Scientists and Technologists',\n 'Forensic Science Technicians',\n 'Forest and Conservation Technicians',\n 'Foresters',\n 'Geneticists',\n 'Geographers',\n 'Geological Sample Test Technicians',\n 'Geophysical Data Technicians',\n 'Geoscientists, Except Hydrologists and Geographers',\n 'Historians',\n 'Hydrologists',\n 'Industrial Ecologists',\n 'Industrial-Organizational Psychologists',\n 'Life Scientists, All Other',\n 'Life, Physical, and Social Science Technicians, All Other',\n 'Materials Scientists',\n 'Medical Scientists, Except Epidemiologists',\n 'Microbiologists',\n 'Molecular and Cellular Biologists',\n 'Neuropsychologists and Clinical Neuropsychologists',\n 'Nuclear Equipment Operation Technicians',\n 'Nuclear Monitoring Technicians',\n 'Park Naturalists',\n 'Physical Scientists, All Other',\n 'Physicists',\n 'Political Scientists',\n 'Precision Agriculture Technicians',\n 'Psychologists, All Other',\n 'Quality Control Analysts',\n 'Range Managers',\n 'Remote Sensing Scientists and Technologists',\n 'Remote Sensing Technicians',\n 'School Psychologists',\n 'Social Science Research Assistants',\n 'Social Scientists and Related Workers, All Other',\n 'Sociologists',\n 'Soil and Plant Scientists',\n 'Soil and Water Conservationists',\n 'Survey Researchers',\n 'Transportation Planners',\n 'Urban and Regional Planners',\n 'Zoologists and Wildlife Biologists',\n 'Administrative Services Managers',\n 'Advertising and Promotions Managers',\n 'Aquacultural Managers',\n 'Architectural and Engineering Managers',\n 'Biofuels Production Managers',\n 'Biofuels/Biodiesel Technology and Product Development Managers',\n 'Biomass Power Plant Managers',\n 'Brownfield Redevelopment Specialists and Site Managers',\n 'Chief Executives',\n 'Chief Sustainability Officers',\n 'Clinical Research Coordinators',\n 'Compensation and Benefits Managers',\n 'Compliance Managers',\n 'Computer and Information Systems Managers',\n 'Construction Managers',\n 'Distance Learning Coordinators',\n 'Education Administrators, All Other',\n 'Education Administrators, Elementary and Secondary School',\n 'Education Administrators, Postsecondary',\n 'Education Administrators, Preschool and Childcare Center/Program',\n 'Emergency Management Directors',\n 'Farm and Ranch Managers',\n 'Farmers, Ranchers, and Other Agricultural Managers',\n 'Financial Managers, Branch or Department',\n 'Fitness and Wellness Coordinators',\n 'Food Service Managers',\n 'Funeral Service Managers',\n 'Gaming Managers',\n 'General and Operations Managers',\n 'Geothermal Production Managers',\n 'Green Marketers',\n 'Human Resources Managers',\n 'Hydroelectric Production Managers',\n 'Industrial Production Managers',\n 'Investment Fund Managers',\n 'Legislators',\n 'Lodging Managers',\n 'Logistics Managers',\n 'Loss Prevention Managers',\n 'Managers, All Other',\n 'Marketing Managers',\n 'Medical and Health Services Managers',\n 'Methane/Landfill Gas Collection System Operators',\n 'Natural Sciences Managers',\n 'Nursery and Greenhouse Managers',\n 'Postmasters and Mail Superintendents',\n 'Property, Real Estate, and Community Association Managers',\n 'Public Relations and Fundraising Managers',\n 'Purchasing Managers',\n 'Quality Control Systems Managers',\n 'Regulatory Affairs Managers',\n 'Sales Managers',\n 'Security Managers',\n 'Social and Community Service Managers',\n 'Storage and Distribution Managers',\n 'Supply Chain Managers',\n 'Training and Development Managers',\n 'Transportation Managers',\n 'Treasurers and Controllers',\n 'Water Resource Specialists',\n 'Wind Energy Operations Managers',\n 'Wind Energy Project Managers',\n 'Air Crew Members',\n 'Air Crew Officers',\n 'Aircraft Launch and Recovery Officers',\n 'Aircraft Launch and Recovery Specialists',\n 'Armored Assault Vehicle Crew Members',\n 'Armored Assault Vehicle Officers',\n 'Artillery and Missile Crew Members',\n 'Artillery and Missile Officers',\n 'Command and Control Center Officers',\n 'Command and Control Center Specialists',\n 'First-Line Supervisors of Air Crew Members',\n 'First-Line Supervisors of All Other Tactical Operations Specialists',\n 'First-Line Supervisors of Weapons Specialists/Crew Members',\n 'Infantry',\n 'Infantry Officers',\n 'Military Enlisted Tactical Operations and Air/Weapons Specialists and Crew Members, All Other',\n 'Military Officer Special and Tactical Operations Leaders, All Other',\n 'Radar and Sonar Technicians',\n 'Special Forces',\n 'Special Forces Officers',\n 'Bill and Account Collectors',\n 'Billing, Cost, and Rate Clerks',\n 'Bioinformatics Technicians',\n 'Bookkeeping, Accounting, and Auditing Clerks',\n 'Brokerage Clerks',\n 'Cargo and Freight Agents',\n 'Communications Equipment Operators, All Other',\n 'Computer Operators',\n 'Correspondence Clerks',\n 'Couriers and Messengers',\n 'Court Clerks',\n 'Credit Authorizers',\n 'Credit Checkers',\n 'Customer Service Representatives',\n 'Data Entry Keyers',\n 'Desktop Publishers',\n 'Dispatchers, Except Police, Fire, and Ambulance',\n 'Eligibility Interviewers, Government Programs',\n 'Executive Secretaries and Executive Administrative Assistants',\n 'File Clerks',\n 'Financial Clerks, All Other',\n 'First-Line Supervisors of Office and Administrative Support Workers',\n 'Freight Forwarders',\n 'Gaming Cage Workers',\n 'Hotel, Motel, and Resort Desk Clerks',\n 'Human Resources Assistants, Except Payroll and Timekeeping',\n 'Information and Record Clerks, All Other',\n 'Insurance Claims Clerks',\n 'Insurance Policy Processing Clerks',\n 'Interviewers, Except Eligibility and Loan',\n 'Legal Secretaries',\n 'Library Assistants, Clerical',\n 'License Clerks',\n 'Loan Interviewers and Clerks',\n 'Mail Clerks and Mail Machine Operators, Except Postal Service',\n 'Marking Clerks',\n 'Medical Secretaries',\n 'Meter Readers, Utilities',\n 'Municipal Clerks',\n 'New Accounts Clerks',\n 'Office and Administrative Support Workers, All Other',\n 'Office Clerks, General',\n 'Office Machine Operators, Except Computer',\n 'Order Clerks',\n 'Order Fillers, Wholesale and Retail Sales',\n 'Patient Representatives',\n 'Payroll and Timekeeping Clerks',\n 'Police, Fire, and Ambulance Dispatchers',\n 'Postal Service Clerks',\n 'Postal Service Mail Carriers',\n 'Postal Service Mail Sorters, Processors, and Processing Machine Operators',\n 'Procurement Clerks',\n 'Production, Planning, and Expediting Clerks',\n 'Proofreaders and Copy Markers',\n 'Receptionists and Information Clerks',\n 'Reservation and Transportation Ticket Agents and Travel Clerks',\n 'Secretaries and Administrative Assistants, Except Legal, Medical, and Executive',\n 'Shipping, Receiving, and Traffic Clerks',\n 'Statement Clerks',\n 'Statistical Assistants',\n 'Stock Clerks- Stockroom, Warehouse, or Storage Yard',\n 'Stock Clerks, Sales Floor',\n 'Switchboard Operators, Including Answering Service',\n 'Telephone Operators',\n 'Tellers',\n 'Weighers, Measurers, Checkers, and Samplers, Recordkeeping',\n 'Word Processors and Typists',\n 'Amusement and Recreation Attendants',\n 'Animal Trainers',\n 'Baggage Porters and Bellhops',\n 'Barbers',\n 'Childcare Workers',\n 'Concierges',\n 'Costume Attendants',\n 'Embalmers',\n 'Entertainment Attendants and Related Workers, All Other',\n 'First-Line Supervisors of Personal Service Workers',\n 'Fitness Trainers and Aerobics Instructors',\n 'Funeral Attendants',\n 'Gaming and Sports Book Writers and Runners',\n 'Gaming Dealers',\n 'Gaming Service Workers, All Other',\n 'Gaming Supervisors',\n 'Hairdressers, Hairstylists, and Cosmetologists',\n 'Locker Room, Coatroom, and Dressing Room Attendants',\n 'Makeup Artists, Theatrical and Performance',\n 'Manicurists and Pedicurists',\n 'Morticians, Undertakers, and Funeral Directors',\n 'Motion Picture Projectionists',\n 'Nannies',\n 'Nonfarm Animal Caretakers',\n 'Personal Care Aides',\n 'Personal Care and Service Workers, All Other',\n 'Recreation Workers',\n 'Residential Advisors',\n 'Shampooers',\n 'Skincare Specialists',\n 'Slot Supervisors',\n 'Spa Managers',\n 'Tour Guides and Escorts',\n 'Travel Guides',\n 'Ushers, Lobby Attendants, and Ticket Takers',\n 'Adhesive Bonding Machine Operators and Tenders',\n 'Aircraft Structure, Surfaces, Rigging, and Systems Assemblers',\n 'Assemblers and Fabricators, All Other',\n 'Bakers',\n 'Biofuels Processing Technicians',\n 'Biomass Plant Technicians',\n 'Butchers and Meat Cutters',\n 'Cabinetmakers and Bench Carpenters',\n 'Chemical Equipment Operators and Tenders',\n 'Chemical Plant and System Operators',\n 'Cleaning, Washing, and Metal Pickling Equipment Operators and Tenders',\n 'Coating, Painting, and Spraying Machine Setters, Operators, and Tenders',\n 'Coil Winders, Tapers, and Finishers',\n 'Computer Numerically Controlled Machine Tool Programmers, Metal and Plastic',\n 'Computer-Controlled Machine Tool Operators, Metal and Plastic',\n 'Cooling and Freezing Equipment Operators and Tenders',\n 'Crushing, Grinding, and Polishing Machine Setters, Operators, and Tenders',\n 'Cutters and Trimmers, Hand',\n 'Cutting and Slicing Machine Setters, Operators, and Tenders',\n 'Cutting, Punching, and Press Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Dental Laboratory Technicians',\n 'Drilling and Boring Machine Tool Setters, Operators, and Tenders, Metal and Plastic',\n 'Electrical and Electronic Equipment Assemblers',\n 'Electromechanical Equipment Assemblers',\n 'Engine and Other Machine Assemblers',\n 'Etchers and Engravers',\n 'Extruding and Drawing Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Extruding and Forming Machine Setters, Operators, and Tenders, Synthetic and Glass Fibers',\n 'Extruding, Forming, Pressing, and Compacting Machine Setters, Operators, and Tenders',\n 'Fabric and Apparel Patternmakers',\n 'Fiberglass Laminators and Fabricators',\n 'First-Line Supervisors of Production and Operating Workers',\n 'Food and Tobacco Roasting, Baking, and Drying Machine Operators and Tenders',\n 'Food Batchmakers',\n 'Food Cooking Machine Operators and Tenders',\n 'Food Processing Workers, All Other',\n 'Forging Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Foundry Mold and Coremakers',\n 'Furnace, Kiln, Oven, Drier, and Kettle Operators and Tenders',\n 'Furniture Finishers',\n 'Gas Plant Operators',\n 'Gem and Diamond Workers',\n 'Glass Blowers, Molders, Benders, and Finishers',\n 'Grinding and Polishing Workers, Hand',\n 'Grinding, Lapping, Polishing, and Buffing Machine Tool Setters, Operators, and Tenders, Metal and Plastic',\n 'Heat Treating Equipment Setters, Operators, and Tenders, Metal and Plastic',\n 'Helpers--Production Workers',\n 'Hydroelectric Plant Technicians',\n 'Inspectors, Testers, Sorters, Samplers, and Weighers',\n 'Jewelers',\n 'Lathe and Turning Machine Tool Setters, Operators, and Tenders, Metal and Plastic',\n 'Laundry and Dry-Cleaning Workers',\n 'Layout Workers, Metal and Plastic',\n 'Machinists',\n 'Meat, Poultry, and Fish Cutters and Trimmers',\n 'Medical Appliance Technicians',\n 'Metal Workers and Plastic Workers, All Other',\n 'Metal-Refining Furnace Operators and Tenders',\n 'Methane/Landfill Gas Generation System Technicians',\n 'Milling and Planing Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Mixing and Blending Machine Setters, Operators, and Tenders',\n 'Model Makers, Metal and Plastic',\n 'Model Makers, Wood',\n 'Molding and Casting Workers',\n 'Molding, Coremaking, and Casting Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Multiple Machine Tool Setters, Operators, and Tenders, Metal and Plastic',\n 'Nuclear Power Reactor Operators',\n 'Ophthalmic Laboratory Technicians',\n 'Packaging and Filling Machine Operators and Tenders',\n 'Painters, Transportation Equipment',\n 'Painting, Coating, and Decorating Workers',\n 'Paper Goods Machine Setters, Operators, and Tenders',\n 'Patternmakers, Metal and Plastic',\n 'Patternmakers, Wood',\n 'Petroleum Pump System Operators, Refinery Operators, and Gaugers',\n 'Photographic Process Workers and Processing Machine Operators',\n 'Plant and System Operators, All Other',\n 'Plating and Coating Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Potters, Manufacturing',\n 'Pourers and Casters, Metal',\n 'Power Distributors and Dispatchers',\n 'Power Plant Operators',\n 'Precious Metal Workers',\n 'Prepress Technicians and Workers',\n 'Pressers, Textile, Garment, and Related Materials',\n 'Print Binding and Finishing Workers',\n 'Printing Press Operators',\n 'Production Workers, All Other',\n 'Recycling and Reclamation Workers',\n 'Rolling Machine Setters, Operators, and Tenders, Metal and Plastic',\n 'Sawing Machine Setters, Operators, and Tenders, Wood',\n 'Semiconductor Processors',\n 'Separating, Filtering, Clarifying, Precipitating, and Still Machine Setters, Operators, and Tenders',\n 'Sewers, Hand',\n 'Sewing Machine Operators',\n 'Shoe and Leather Workers and Repairers',\n 'Shoe Machine Operators and Tenders',\n 'Slaughterers and Meat Packers',\n 'Solderers and Brazers',\n 'Stationary Engineers and Boiler Operators',\n 'Stone Cutters and Carvers, Manufacturing',\n 'Structural Metal Fabricators and Fitters',\n 'Tailors, Dressmakers, and Custom Sewers',\n 'Team Assemblers',\n 'Textile Bleaching and Dyeing Machine Operators and Tenders',\n 'Textile Cutting Machine Setters, Operators, and Tenders',\n 'Textile Knitting and Weaving Machine Setters, Operators, and Tenders',\n 'Textile Winding, Twisting, and Drawing Out Machine Setters, Operators, and Tenders',\n 'Textile, Apparel, and Furnishings Workers, All Other',\n 'Timing Device Assemblers and Adjusters',\n 'Tire Builders',\n 'Tool and Die Makers',\n 'Tool Grinders, Filers, and Sharpeners',\n 'Upholsterers',\n 'Water and Wastewater Treatment Plant and System Operators',\n 'Welders, Cutters, and Welder Fitters',\n 'Welding, Soldering, and Brazing Machine Setters, Operators, and Tenders',\n 'Woodworkers, All Other',\n 'Woodworking Machine Setters, Operators, and Tenders, Except Sawing',\n 'Animal Control Workers',\n 'Bailiffs',\n 'Correctional Officers and Jailers',\n 'Criminal Investigators and Special Agents',\n 'Crossing Guards',\n 'Fire Inspectors',\n 'Fire Investigators',\n 'First-Line Supervisors of Correctional Officers',\n 'First-Line Supervisors of Police and Detectives',\n 'First-Line Supervisors of Protective Service Workers, All Other',\n 'Fish and Game Wardens',\n 'Forest Fire Fighting and Prevention Supervisors',\n 'Forest Fire Inspectors and Prevention Specialists',\n 'Forest Firefighters',\n 'Gaming Surveillance Officers and Gaming Investigators',\n 'Immigration and Customs Inspectors',\n 'Intelligence Analysts',\n 'Lifeguards, Ski Patrol, and Other Recreational Protective Service Workers',\n 'Municipal Fire Fighting and Prevention Supervisors',\n 'Municipal Firefighters',\n 'Parking Enforcement Workers',\n 'Police Detectives',\n 'Police Identification and Records Officers',\n 'Police Patrol Officers',\n 'Private Detectives and Investigators',\n 'Protective Service Workers, All Other',\n 'Retail Loss Prevention Specialists',\n 'Security Guards',\n 'Sheriffs and Deputy Sheriffs',\n 'Transit and Railroad Police',\n 'Transportation Security Screeners',\n 'Advertising Sales Agents',\n 'Cashiers',\n 'Counter and Rental Clerks',\n 'Demonstrators and Product Promoters',\n 'Door-To-Door Sales Workers, News and Street Vendors, and Related Workers',\n 'Energy Brokers',\n 'First-Line Supervisors of Non-Retail Sales Workers',\n 'First-Line Supervisors of Retail Sales Workers',\n 'Gaming Change Persons and Booth Cashiers',\n 'Insurance Sales Agents',\n 'Models',\n 'Parts Salespersons',\n 'Real Estate Brokers',\n 'Real Estate Sales Agents',\n 'Retail Salespersons',\n 'Sales Agents, Financial Services',\n 'Sales Agents, Securities and Commodities',\n 'Sales and Related Workers, All Other',\n 'Sales Engineers',\n 'Sales Representatives, Services, All Other',\n 'Sales Representatives, Wholesale and Manufacturing, Except Technical and Scientific Products',\n 'Sales Representatives, Wholesale and Manufacturing, Technical and Scientific Products',\n 'Securities and Commodities Traders',\n 'Solar Sales Representatives and Assessors',\n 'Telemarketers',\n 'Travel Agents',\n 'Air Traffic Controllers',\n 'Aircraft Cargo Handling Supervisors',\n 'Airfield Operations Specialists',\n 'Airline Pilots, Copilots, and Flight Engineers',\n 'Ambulance Drivers and Attendants, Except Emergency Medical Technicians',\n 'Automotive and Watercraft Service Attendants',\n 'Aviation Inspectors',\n 'Bridge and Lock Tenders',\n 'Bus Drivers, School or Special Client',\n 'Bus Drivers, Transit and Intercity',\n 'Cleaners of Vehicles and Equipment',\n 'Commercial Pilots',\n 'Conveyor Operators and Tenders',\n 'Crane and Tower Operators',\n 'Dredge Operators',\n 'Driver/Sales Workers',\n 'Excavating and Loading Machine and Dragline Operators',\n 'First-Line Supervisors of Helpers, Laborers, and Material Movers, Hand',\n 'First-Line Supervisors of Transportation and Material-Moving Machine and Vehicle Operators',\n 'Flight Attendants',\n 'Freight and Cargo Inspectors',\n 'Gas Compressor and Gas Pumping Station Operators',\n 'Heavy and Tractor-Trailer Truck Drivers',\n 'Hoist and Winch Operators',\n 'Industrial Truck and Tractor Operators',\n 'Laborers and Freight, Stock, and Material Movers, Hand',\n 'Light Truck or Delivery Services Drivers',\n 'Loading Machine Operators, Underground Mining',\n 'Locomotive Engineers',\n 'Locomotive Firers',\n 'Machine Feeders and Offbearers',\n 'Material Moving Workers, All Other',\n 'Mates- Ship, Boat, and Barge',\n 'Mine Shuttle Car Operators',\n 'Motor Vehicle Operators, All Other',\n 'Motorboat Operators',\n 'Packers and Packagers, Hand',\n 'Parking Lot Attendants',\n 'Pilots, Ship',\n 'Pump Operators, Except Wellhead Pumpers',\n 'Rail Transportation Workers, All Other',\n 'Rail Yard Engineers, Dinkey Operators, and Hostlers',\n 'Railroad Brake, Signal, and Switch Operators',\n 'Railroad Conductors and Yardmasters',\n 'Recycling Coordinators',\n 'Refuse and Recyclable Material Collectors',\n 'Sailors and Marine Oilers',\n 'Ship and Boat Captains',\n 'Ship Engineers',\n 'Subway and Streetcar Operators',\n 'Tank Car, Truck, and Ship Loaders',\n 'Taxi Drivers and Chauffeurs',\n 'Traffic Technicians',\n 'Transportation Attendants, Except Flight Attendants',\n 'Transportation Vehicle, Equipment and Systems Inspectors, Except Aviation',\n 'Transportation Workers, All Other',\n 'Wellhead Pumpers',\n]\n*/\nexport const titles=[\n\"Accountant\",\n \"Actor\",\n \"Actuary\",\n \"Adhesive Bonding Machine Tender\",\n \"Adjudicator\",\n \"Administrative Assistant\",\n \"Administrative Services Manager\",\n \"Adult Education Teacher\",\n \"Advertising Manager\",\n \"Advertising Sales Agent\",\n \"Aerobics Instructor\",\n \"Aerospace Engineer\",\n \"Aerospace Engineering Technician\",\n \"Agent\",\n \"Agricultural Engineer\",\n \"Agricultural Equipment Operator\",\n \"Agricultural Grader\",\n \"Agricultural Inspector\",\n \"Agricultural Manager\",\n \"Agricultural Sciences Teacher\",\n \"Agricultural Sorter\",\n \"Agricultural Technician\",\n \"Agricultural Worker\",\n \"Air Conditioning Installer\",\n \"Air Conditioning Mechanic\",\n \"Air Traffic Controller\",\n \"Aircraft Cargo Handling Supervisor\",\n \"Aircraft Mechanic\",\n \"Aircraft Service Technician\",\n \"Airline Copilot\",\n \"Airline Pilot\",\n \"Ambulance Dispatcher\",\n \"Ambulance Driver\",\n \"Amusement Machine Servicer\",\n \"Anesthesiologist\",\n \"Animal Breeder\",\n \"Animal Control Worker\",\n \"Animal Scientist\",\n \"Animal Trainer\",\n \"Animator\",\n \"Answering Service Operator\",\n \"Anthropologist\",\n \"Apparel Patternmaker\",\n \"Apparel Worker\",\n \"Arbitrator\",\n \"Archeologist\",\n \"Architect\",\n \"Architectural Drafter\",\n \"Architectural Manager\",\n \"Archivist\",\n \"Art Director\",\n \"Art Teacher\",\n \"Artist\",\n \"Assembler\",\n \"Astronomer\",\n \"Athlete\",\n \"Athletic Trainer\",\n \"ATM Machine Repairer\",\n \"Atmospheric Scientist\",\n \"Attendant\",\n \"Audio And Video Equipment Technician\",\n \"Audio-visual And Multimedia Collections Specialist\",\n \"Audiologist\",\n \"Auditor\",\n \"Author\",\n \"Auto Damage Insurance Appraiser\",\n \"Automotive And Watercraft Service Attendant\",\n \"Automotive Glass Installer\",\n \"Automotive Mechanic\",\n \"Avionics Technician\",\n \"Baggage Porter\",\n \"Bailiff\",\n \"Baker\",\n \"Barback\",\n \"Barber\",\n \"Bartender\",\n \"Basic Education Teacher\",\n \"Behavioral Disorder Counselor\",\n \"Bellhop\",\n \"Bench Carpenter\",\n \"Bicycle Repairer\",\n \"Bill And Account Collector\",\n \"Billing And Posting Clerk\",\n \"Biochemist\",\n \"Biological Technician\",\n \"Biomedical Engineer\",\n \"Biophysicist\",\n \"Blaster\",\n \"Blending Machine Operator\",\n \"Blockmason\",\n \"Boiler Operator\",\n \"Boilermaker\",\n \"Bookkeeper\",\n \"Boring Machine Tool Tender\",\n \"Brazer\",\n \"Brickmason\",\n \"Bridge And Lock Tender\",\n \"Broadcast News Analyst\",\n \"Broadcast Technician\",\n \"Brokerage Clerk\",\n \"Budget Analyst\",\n \"Building Inspector\",\n \"Bus Mechanic\",\n \"Butcher\",\n \"Buyer\",\n \"Cabinetmaker\",\n \"Cafeteria Attendant\",\n \"Cafeteria Cook\",\n \"Camera Operator\",\n \"Camera Repairer\",\n \"Cardiovascular Technician\",\n \"Cargo Agent\",\n \"Carpenter\",\n \"Carpet Installer\",\n \"Cartographer\",\n \"Cashier\",\n \"Caster\",\n \"Ceiling Tile Installer\",\n \"Cellular Equipment Installer\",\n \"Cement Mason\",\n \"Channeling Machine Operator\",\n \"Chauffeur\",\n \"Checker\",\n \"Chef\",\n \"Chemical Engineer\",\n \"Chemical Plant Operator\",\n \"Chemist\",\n \"Chemistry Teacher\",\n \"Chief Executive\",\n \"Child Social Worker\",\n \"Childcare Worker\",\n \"Chiropractor\",\n \"Choreographer\",\n \"Civil Drafter\",\n \"Civil Engineer\",\n \"Civil Engineering Technician\",\n \"Claims Adjuster\",\n \"Claims Examiner\",\n \"Claims Investigator\",\n \"Cleaner\",\n \"Clinical Laboratory Technician\",\n \"Clinical Laboratory Technologist\",\n \"Clinical Psychologist\",\n \"Coating Worker\",\n \"Coatroom Attendant\",\n \"Coil Finisher\",\n \"Coil Taper\",\n \"Coil Winder\",\n \"Coin Machine Servicer\",\n \"Commercial Diver\",\n \"Commercial Pilot\",\n \"Commodities Sales Agent\",\n \"Communications Equipment Operator\",\n \"Communications Teacher\",\n \"Community Association Manager\",\n \"Community Service Manager\",\n \"Compensation And Benefits Manager\",\n \"Compliance Officer\",\n \"Composer\",\n \"Computer Hardware Engineer\",\n \"Computer Network Architect\",\n \"Computer Operator\",\n \"Computer Programmer\",\n \"Computer Science Teacher\",\n \"Computer Support Specialist\",\n \"Computer Systems Administrator\",\n \"Computer Systems Analyst\",\n \"Concierge\",\n \"Conciliator\",\n \"Concrete Finisher\",\n \"Conservation Science Teacher\",\n \"Conservation Scientist\",\n \"Conservation Worker\",\n \"Conservator\",\n \"Construction Inspector\",\n \"Construction Manager\",\n \"Construction Painter\",\n \"Construction Worker\",\n \"Continuous Mining Machine Operator\",\n \"Convention Planner\",\n \"Conveyor Operator\",\n \"Cook\",\n \"Cooling Equipment Operator\",\n \"Copy Marker\",\n \"Correctional Officer\",\n \"Correctional Treatment Specialist\",\n \"Correspondence Clerk\",\n \"Correspondent\",\n \"Cosmetologist\",\n \"Cost Estimator\",\n \"Costume Attendant\",\n \"Counseling Psychologist\",\n \"Counselor\",\n \"Courier\",\n \"Court Reporter\",\n \"Craft Artist\",\n \"Crane Operator\",\n \"Credit Analyst\",\n \"Credit Checker\",\n \"Credit Counselor\",\n \"Criminal Investigator\",\n \"Criminal Justice Teacher\",\n \"Crossing Guard\",\n \"Curator\",\n \"Custom Sewer\",\n \"Customer Service Representative\",\n \"Cutter\",\n \"Cutting Machine Operator\",\n \"Dancer\",\n \"Data Entry Keyer\",\n \"Database Administrator\",\n \"Decorating Worker\",\n \"Delivery Services Driver\",\n \"Demonstrator\",\n \"Dental Assistant\",\n \"Dental Hygienist\",\n \"Dental Laboratory Technician\",\n \"Dentist\",\n \"Derrick Operator\",\n \"Designer\",\n \"Desktop Publisher\",\n \"Detective\",\n \"Diagnostic Medical Sonographer\",\n \"Die Maker\",\n \"Diesel Engine Specialist\",\n \"Dietetic Technician\",\n \"Dietitian\",\n \"Dinkey Operator\",\n \"Director\",\n \"Dishwasher\",\n \"Dispatcher\",\n \"Door-to-door Sales Worker\",\n \"Drafter\",\n \"Dragline Operator\",\n \"Drama Teacher\",\n \"Dredge Operator\",\n \"Dressing Room Attendant\",\n \"Dressmaker\",\n \"Drier Operator\",\n \"Drilling Machine Tool Operator\",\n \"Dry-cleaning Worker\",\n \"Drywall Installer\",\n \"Dyeing Machine Operator\",\n \"Earth Driller\",\n \"Economics Teacher\",\n \"Economist\",\n \"Editor\",\n \"Education Administrator\",\n \"Electric Motor Repairer\",\n \"Electrical Electronics Drafter\",\n \"Electrical Engineer\",\n \"Electrical Equipment Assembler\",\n \"Electrical Installer\",\n \"Electrical Power-line Installer\",\n \"Electrician\",\n \"Electro-mechanical Technician\",\n \"Elementary School Teacher\",\n \"Elevator Installer\",\n \"Elevator Repairer\",\n \"Embalmer\",\n \"Emergency Management Director\",\n \"Emergency Medical Technician\",\n \"Engine Assembler\",\n \"Engineer\",\n \"Engineering Manager\",\n \"Engineering Teacher\",\n \"English Language Teacher\",\n \"Engraver\",\n \"Entertainment Attendant\",\n \"Environmental Engineer\",\n \"Environmental Science Teacher\",\n \"Environmental Scientist\",\n \"Epidemiologist\",\n \"Escort\",\n \"Etcher\",\n \"Event Planner\",\n \"Excavating Operator\",\n \"Executive Administrative Assistant\",\n \"Executive Secretary\",\n \"Exhibit Designer\",\n \"Expediting Clerk\",\n \"Explosives Worker\",\n \"Extraction Worker\",\n \"Fabric Mender\",\n \"Fabric Patternmaker\",\n \"Fabricator\",\n \"Faller\",\n \"Family Practitioner\",\n \"Family Social Worker\",\n \"Family Therapist\",\n \"Farm Advisor\",\n \"Farm Equipment Mechanic\",\n \"Farm Labor Contractor\",\n \"Farmer\",\n \"Farmworker\",\n \"Fashion Designer\",\n \"Fast Food Cook\",\n \"Fence Erector\",\n \"Fiberglass Fabricator\",\n \"Fiberglass Laminator\",\n \"File Clerk\",\n \"Filling Machine Operator\",\n \"Film And Video Editor\",\n \"Financial Analyst\",\n \"Financial Examiner\",\n \"Financial Manager\",\n \"Financial Services Sales Agent\",\n \"Fine Artist\",\n \"Fire Alarm System Installer\",\n \"Fire Dispatcher\",\n \"Fire Inspector\",\n \"Fire Investigator\",\n \"Firefighter\",\n \"Fish And Game Warden\",\n \"Fish Cutter\",\n \"Fish Trimmer\",\n \"Fisher\",\n \"Fitness Studies Teacher\",\n \"Fitness Trainer\",\n \"Flight Attendant\",\n \"Floor Finisher\",\n \"Floor Layer\",\n \"Floor Sander\",\n \"Floral Designer\",\n \"Food Batchmaker\",\n \"Food Cooking Machine Operator\",\n \"Food Preparation Worker\",\n \"Food Science Technician\",\n \"Food Scientist\",\n \"Food Server\",\n \"Food Service Manager\",\n \"Food Technologist\",\n \"Foreign Language Teacher\",\n \"Foreign Literature Teacher\",\n \"Forensic Science Technician\",\n \"Forest Fire Inspector\",\n \"Forest Fire Prevention Specialist\",\n \"Forest Worker\",\n \"Forester\",\n \"Forestry Teacher\",\n \"Forging Machine Setter\",\n \"Foundry Coremaker\",\n \"Freight Agent\",\n \"Freight Mover\",\n \"Fundraising Manager\",\n \"Funeral Attendant\",\n \"Funeral Director\",\n \"Funeral Service Manager\",\n \"Furnace Operator\",\n \"Furnishings Worker\",\n \"Furniture Finisher\",\n \"Gaming Booth Cashier\",\n \"Gaming Cage Worker\",\n \"Gaming Change Person\",\n \"Gaming Dealer\",\n \"Gaming Investigator\",\n \"Gaming Manager\",\n \"Gaming Surveillance Officer\",\n \"Garment Mender\",\n \"Garment Presser\",\n \"Gas Compressor\",\n \"Gas Plant Operator\",\n \"Gas Pumping Station Operator\",\n \"General Manager\",\n \"General Practitioner\",\n \"Geographer\",\n \"Geography Teacher\",\n \"Geological Engineer\",\n \"Geological Technician\",\n \"Geoscientist\",\n \"Glazier\",\n \"Government Program Eligibility Interviewer\",\n \"Graduate Teaching Assistant\",\n \"Graphic Designer\",\n \"Groundskeeper\",\n \"Groundskeeping Worker\",\n \"Gynecologist\",\n \"Hairdresser\",\n \"Hairstylist\",\n \"Hand Grinding Worker\",\n \"Hand Laborer\",\n \"Hand Packager\",\n \"Hand Packer\",\n \"Hand Polishing Worker\",\n \"Hand Sewer\",\n \"Hazardous Materials Removal Worker\",\n \"Head Cook\",\n \"Health And Safety Engineer\",\n \"Health Educator\",\n \"Health Information Technician\",\n \"Health Services Manager\",\n \"Health Specialties Teacher\",\n \"Healthcare Social Worker\",\n \"Hearing Officer\",\n \"Heat Treating Equipment Setter\",\n \"Heating Installer\",\n \"Heating Mechanic\",\n \"Heavy Truck Driver\",\n \"Highway Maintenance Worker\",\n \"Historian\",\n \"History Teacher\",\n \"Hoist And Winch Operator\",\n \"Home Appliance Repairer\",\n \"Home Economics Teacher\",\n \"Home Entertainment Installer\",\n \"Home Health Aide\",\n \"Home Management Advisor\",\n \"Host\",\n \"Hostess\",\n \"Hostler\",\n \"Hotel Desk Clerk\",\n \"Housekeeping Cleaner\",\n \"Human Resources Assistant\",\n \"Human Resources Manager\",\n \"Human Service Assistant\",\n \"Hunter\",\n \"Hydrologist\",\n \"Illustrator\",\n \"Industrial Designer\",\n \"Industrial Engineer\",\n \"Industrial Engineering Technician\",\n \"Industrial Machinery Mechanic\",\n \"Industrial Production Manager\",\n \"Industrial Truck Operator\",\n \"Industrial-organizational Psychologist\",\n \"Information Clerk\",\n \"Information Research Scientist\",\n \"Information Security Analyst\",\n \"Information Systems Manager\",\n \"Inspector\",\n \"Instructional Coordinator\",\n \"Instructor\",\n \"Insulation Worker\",\n \"Insurance Claims Clerk\",\n \"Insurance Sales Agent\",\n \"Insurance Underwriter\",\n \"Intercity Bus Driver\",\n \"Interior Designer\",\n \"Internist\",\n \"Interpreter\",\n \"Interviewer\",\n \"Investigator\",\n \"Jailer\",\n \"Janitor\",\n \"Jeweler\",\n \"Judge\",\n \"Judicial Law Clerk\",\n \"Kettle Operator\",\n \"Kiln Operator\",\n \"Kindergarten Teacher\",\n \"Laboratory Animal Caretaker\",\n \"Landscape Architect\",\n \"Landscaping Worker\",\n \"Lathe Setter\",\n \"Laundry Worker\",\n \"Law Enforcement Teacher\",\n \"Law Teacher\",\n \"Lawyer\",\n \"Layout Worker\",\n \"Leather Worker\",\n \"Legal Assistant\",\n \"Legal Secretary\",\n \"Legislator\",\n \"Librarian\",\n \"Library Assistant\",\n \"Library Science Teacher\",\n \"Library Technician\",\n \"Licensed Practical Nurse\",\n \"Licensed Vocational Nurse\",\n \"Life Scientist\",\n \"Lifeguard\",\n \"Light Truck Driver\",\n \"Line Installer\",\n \"Literacy Teacher\",\n \"Literature Teacher\",\n \"Loading Machine Operator\",\n \"Loan Clerk\",\n \"Loan Interviewer\",\n \"Loan Officer\",\n \"Lobby Attendant\",\n \"Locker Room Attendant\",\n \"Locksmith\",\n \"Locomotive Engineer\",\n \"Locomotive Firer\",\n \"Lodging Manager\",\n \"Log Grader\",\n \"Logging Equipment Operator\",\n \"Logistician\",\n \"Machine Feeder\",\n \"Machinist\",\n \"Magistrate Judge\",\n \"Magistrate\",\n \"Maid\",\n \"Mail Clerk\",\n \"Mail Machine Operator\",\n \"Mail Superintendent\",\n \"Maintenance Painter\",\n \"Maintenance Worker\",\n \"Makeup Artist\",\n \"Management Analyst\",\n \"Manicurist\",\n \"Manufactured Building Installer\",\n \"Mapping Technician\",\n \"Marble Setter\",\n \"Marine Engineer\",\n \"Marine Oiler\",\n \"Market Research Analyst\",\n \"Marketing Manager\",\n \"Marketing Specialist\",\n \"Marriage Therapist\",\n \"Massage Therapist\",\n \"Material Mover\",\n \"Materials Engineer\",\n \"Materials Scientist\",\n \"Mathematical Science Teacher\",\n \"Mathematical Technician\",\n \"Mathematician\",\n \"Maxillofacial Surgeon\",\n \"Measurer\",\n \"Meat Cutter\",\n \"Meat Packer\",\n \"Meat Trimmer\",\n \"Mechanical Door Repairer\",\n \"Mechanical Drafter\",\n \"Mechanical Engineer\",\n \"Mechanical Engineering Technician\",\n \"Mediator\",\n \"Medical Appliance Technician\",\n \"Medical Assistant\",\n \"Medical Equipment Preparer\",\n \"Medical Equipment Repairer\",\n \"Medical Laboratory Technician\",\n \"Medical Laboratory Technologist\",\n \"Medical Records Technician\",\n \"Medical Scientist\",\n \"Medical Secretary\",\n \"Medical Services Manager\",\n \"Medical Transcriptionist\",\n \"Meeting Planner\",\n \"Mental Health Counselor\",\n \"Mental Health Social Worker\",\n \"Merchandise Displayer\",\n \"Messenger\",\n \"Metal Caster\",\n \"Metal Patternmaker\",\n \"Metal Pickling Operator\",\n \"Metal Pourer\",\n \"Metal Worker\",\n \"Metal-refining Furnace Operator\",\n \"Metal-refining Furnace Tender\",\n \"Meter Reader\",\n \"Microbiologist\",\n \"Middle School Teacher\",\n \"Milling Machine Setter\",\n \"Millwright\",\n \"Mine Cutting Machine Operator\",\n \"Mine Shuttle Car Operator\",\n \"Mining Engineer\",\n \"Mining Safety Engineer\",\n \"Mining Safety Inspector\",\n \"Mining Service Unit Operator\",\n \"Mixing Machine Setter\",\n \"Mobile Heavy Equipment Mechanic\",\n \"Mobile Home Installer\",\n \"Model Maker\",\n \"Model\",\n \"Molder\",\n \"Mortician\",\n \"Motel Desk Clerk\",\n \"Motion Picture Projectionist\",\n \"Motorboat Mechanic\",\n \"Motorboat Operator\",\n \"Motorboat Service Technician\",\n \"Motorcycle Mechanic\",\n \"Multimedia Artist\",\n \"Museum Technician\",\n \"Music Director\",\n \"Music Teacher\",\n \"Musical Instrument Repairer\",\n \"Musician\",\n \"Natural Sciences Manager\",\n \"Naval Architect\",\n \"Network Systems Administrator\",\n \"New Accounts Clerk\",\n \"News Vendor\",\n \"Nonfarm Animal Caretaker\",\n \"Nuclear Engineer\",\n \"Nuclear Medicine Technologist\",\n \"Nuclear Power Reactor Operator\",\n \"Nuclear Technician\",\n \"Nursing Aide\",\n \"Nursing Instructor\",\n \"Nursing Teacher\",\n \"Nutritionist\",\n \"Obstetrician\",\n \"Occupational Health And Safety Specialist\",\n \"Occupational Health And Safety Technician\",\n \"Occupational Therapist\",\n \"Occupational Therapy Aide\",\n \"Occupational Therapy Assistant\",\n \"Offbearer\",\n \"Office Clerk\",\n \"Office Machine Operator\",\n \"Operating Engineer\",\n \"Operations Manager\",\n \"Operations Research Analyst\",\n \"Ophthalmic Laboratory Technician\",\n \"Optician\",\n \"Optometrist\",\n \"Oral Surgeon\",\n \"Order Clerk\",\n \"Order Filler\",\n \"Orderly\",\n \"Ordnance Handling Expert\",\n \"Orthodontist\",\n \"Orthotist\",\n \"Outdoor Power Equipment Mechanic\",\n \"Oven Operator\",\n \"Packaging Machine Operator\",\n \"Painter \",\n \"Painting Worker\",\n \"Paper Goods Machine Setter\",\n \"Paperhanger\",\n \"Paralegal\",\n \"Paramedic\",\n \"Parking Enforcement Worker\",\n \"Parking Lot Attendant\",\n \"Parts Salesperson\",\n \"Paving Equipment Operator\",\n \"Payroll Clerk\",\n \"Pediatrician\",\n \"Pedicurist\",\n \"Personal Care Aide\",\n \"Personal Chef\",\n \"Personal Financial Advisor\",\n \"Pest Control Worker\",\n \"Pesticide Applicator\",\n \"Pesticide Handler\",\n \"Pesticide Sprayer\",\n \"Petroleum Engineer\",\n \"Petroleum Gauger\",\n \"Petroleum Pump System Operator\",\n \"Petroleum Refinery Operator\",\n \"Petroleum Technician\",\n \"Pharmacist\",\n \"Pharmacy Aide\",\n \"Pharmacy Technician\",\n \"Philosophy Teacher\",\n \"Photogrammetrist\",\n \"Photographer\",\n \"Photographic Process Worker\",\n \"Photographic Processing Machine Operator\",\n \"Physical Therapist Aide\",\n \"Physical Therapist Assistant\",\n \"Physical Therapist\",\n \"Physician Assistant\",\n \"Physician\",\n \"Physicist\",\n \"Physics Teacher\",\n \"Pile-driver Operator\",\n \"Pipefitter\",\n \"Pipelayer\",\n \"Planing Machine Operator\",\n \"Planning Clerk\",\n \"Plant Operator\",\n \"Plant Scientist\",\n \"Plasterer\",\n \"Plastic Patternmaker\",\n \"Plastic Worker\",\n \"Plumber\",\n \"Podiatrist\",\n \"Police Dispatcher\",\n \"Police Officer\",\n \"Policy Processing Clerk\",\n \"Political Science Teacher\",\n \"Political Scientist\",\n \"Postal Service Clerk\",\n \"Postal Service Mail Carrier\",\n \"Postal Service Mail Processing Machine Operator\",\n \"Postal Service Mail Processor\",\n \"Postal Service Mail Sorter\",\n \"Postmaster\",\n \"Postsecondary Teacher\",\n \"Poultry Cutter\",\n \"Poultry Trimmer\",\n \"Power Dispatcher\",\n \"Power Distributor\",\n \"Power Plant Operator\",\n \"Power Tool Repairer\",\n \"Precious Stone Worker\",\n \"Precision Instrument Repairer\",\n \"Prepress Technician\",\n \"Preschool Teacher\",\n \"Priest\",\n \"Print Binding Worker\",\n \"Printing Press Operator\",\n \"Private Detective\",\n \"Probation Officer\",\n \"Procurement Clerk\",\n \"Producer\",\n \"Product Promoter\",\n \"Production Clerk\",\n \"Production Occupation\",\n \"Proofreader\",\n \"Property Manager\",\n \"Prosthetist\",\n \"Prosthodontist\",\n \"Psychiatric Aide\",\n \"Psychiatric Technician\",\n \"Psychiatrist\",\n \"Psychologist\",\n \"Psychology Teacher\",\n \"Public Relations Manager\",\n \"Public Relations Specialist\",\n \"Pump Operator\",\n \"Purchasing Agent\",\n \"Purchasing Manager\",\n \"Radiation Therapist\",\n \"Radio Announcer\",\n \"Radio Equipment Installer\",\n \"Radio Operator\",\n \"Radiologic Technician\",\n \"Radiologic Technologist\",\n \"Rail Car Repairer\",\n \"Rail Transportation Worker\",\n \"Rail Yard Engineer\",\n \"Rail-track Laying Equipment Operator\",\n \"Railroad Brake Operator\",\n \"Railroad Conductor\",\n \"Railroad Police\",\n \"Rancher\",\n \"Real Estate Appraiser\",\n \"Real Estate Broker\",\n \"Real Estate Manager\",\n \"Real Estate Sales Agent\",\n \"Receiving Clerk\",\n \"Receptionist\",\n \"Record Clerk\",\n \"Recreation Teacher\",\n \"Recreation Worker\",\n \"Recreational Therapist\",\n \"Recreational Vehicle Service Technician\",\n \"Recyclable Material Collector\",\n \"Referee\",\n \"Refractory Materials Repairer\",\n \"Refrigeration Installer\",\n \"Refrigeration Mechanic\",\n \"Refuse Collector\",\n \"Regional Planner\",\n \"Registered Nurse\",\n \"Rehabilitation Counselor\",\n \"Reinforcing Iron Worker\",\n \"Reinforcing Rebar Worker\",\n \"Religion Teacher\",\n \"Religious Activities Director\",\n \"Religious Worker\",\n \"Rental Clerk\",\n \"Repair Worker\",\n \"Reporter\",\n \"Residential Advisor\",\n \"Resort Desk Clerk\",\n \"Respiratory Therapist\",\n \"Respiratory Therapy Technician\",\n \"Retail Buyer\",\n \"Retail Salesperson\",\n \"Revenue Agent\",\n \"Rigger\",\n \"Rock Splitter\",\n \"Rolling Machine Tender\",\n \"Roof Bolter\",\n \"Roofer\",\n \"Rotary Drill Operator\",\n \"Roustabout\",\n \"Safe Repairer\",\n \"Sailor\",\n \"Sales Engineer\",\n \"Sales Manager\",\n \"Sales Representative\",\n \"Sampler\",\n \"Sawing Machine Operator\",\n \"Scaler\",\n \"School Bus Driver\",\n \"School Psychologist\",\n \"School Social Worker\",\n \"Scout Leader\",\n \"Sculptor\",\n \"Secondary Education Teacher\",\n \"Secondary School Teacher\",\n \"Secretary\",\n \"Securities Sales Agent\",\n \"Security Guard\",\n \"Security System Installer\",\n \"Segmental Paver\",\n \"Self-enrichment Education Teacher\",\n \"Semiconductor Processor\",\n \"Septic Tank Servicer\",\n \"Set Designer\",\n \"Sewer Pipe Cleaner\",\n \"Sewing Machine Operator\",\n \"Shampooer\",\n \"Shaper\",\n \"Sheet Metal Worker\",\n \"Sheriff's Patrol Officer\",\n \"Ship Captain\",\n \"Ship Engineer\",\n \"Ship Loader\",\n \"Shipmate\",\n \"Shipping Clerk\",\n \"Shoe Machine Operator\",\n \"Shoe Worker\",\n \"Short Order Cook\",\n \"Signal Operator\",\n \"Signal Repairer\",\n \"Singer\",\n \"Ski Patrol\",\n \"Skincare Specialist\",\n \"Slaughterer\",\n \"Slicing Machine Tender\",\n \"Slot Supervisor\",\n \"Social Science Research Assistant\",\n \"Social Sciences Teacher\",\n \"Social Scientist\",\n \"Social Service Assistant\",\n \"Social Service Manager\",\n \"Social Work Teacher\",\n \"Social Worker\",\n \"Sociologist\",\n \"Sociology Teacher\",\n \"Software Developer\",\n \"Software Engineer\",\n \"Soil Scientist\",\n \"Solderer\",\n \"Sorter\",\n \"Sound Engineering Technician\",\n \"Space Scientist\",\n \"Special Education Teacher\",\n \"Speech-language Pathologist\",\n \"Sports Book Runner\",\n \"Sports Entertainer\",\n \"Sports Performer\",\n \"Stationary Engineer\",\n \"Statistical Assistant\",\n \"Statistician\",\n \"Steamfitter\",\n \"Stock Clerk\",\n \"Stock Mover\",\n \"Stonemason\",\n \"Street Vendor\",\n \"Streetcar Operator\",\n \"Structural Iron Worker\",\n \"Structural Metal Fabricator\",\n \"Structural Metal Fitter\",\n \"Structural Steel Worker\",\n \"Stucco Mason\",\n \"Substance Abuse Counselor\",\n \"Substance Abuse Social Worker\",\n \"Subway Operator\",\n \"Surfacing Equipment Operator\",\n \"Surgeon\",\n \"Surgical Technologist\",\n \"Survey Researcher\",\n \"Surveying Technician\",\n \"Surveyor\",\n \"Switch Operator\",\n \"Switchboard Operator\",\n \"Tailor\",\n \"Tamping Equipment Operator\",\n \"Tank Car Loader\",\n \"Taper\",\n \"Tax Collector\",\n \"Tax Examiner\",\n \"Tax Preparer\",\n \"Taxi Driver\",\n \"Teacher Assistant\",\n \"Teacher\",\n \"Team Assembler\",\n \"Technical Writer\",\n \"Telecommunications Equipment Installer\",\n \"Telemarketer\",\n \"Telephone Operator\",\n \"Television Announcer\",\n \"Teller\",\n \"Terrazzo Finisher\",\n \"Terrazzo Worker\",\n \"Tester\",\n \"Textile Bleaching Operator\",\n \"Textile Cutting Machine Setter\",\n \"Textile Knitting Machine Setter\",\n \"Textile Presser\",\n \"Textile Worker\",\n \"Therapist\",\n \"Ticket Agent\",\n \"Ticket Taker\",\n \"Tile Setter\",\n \"Timekeeping Clerk\",\n \"Timing Device Assembler\",\n \"Tire Builder\",\n \"Tire Changer\",\n \"Tire Repairer\",\n \"Title Abstractor\",\n \"Title Examiner\",\n \"Title Searcher\",\n \"Tobacco Roasting Machine Operator\",\n \"Tool Filer\",\n \"Tool Grinder\",\n \"Tool Maker\",\n \"Tool Sharpener\",\n \"Tour Guide\",\n \"Tower Equipment Installer\",\n \"Tower Operator\",\n \"Track Switch Repairer\",\n \"Tractor Operator\",\n \"Tractor-trailer Truck Driver\",\n \"Traffic Clerk\",\n \"Traffic Technician\",\n \"Training And Development Manager\",\n \"Training And Development Specialist\",\n \"Transit Police\",\n \"Translator\",\n \"Transportation Equipment Painter\",\n \"Transportation Inspector\",\n \"Transportation Security Screener\",\n \"Transportation Worker\",\n \"Trapper\",\n \"Travel Agent\",\n \"Travel Clerk\",\n \"Travel Guide\",\n \"Tree Pruner\",\n \"Tree Trimmer\",\n \"Trimmer\",\n \"Truck Loader\",\n \"Truck Mechanic\",\n \"Tuner\",\n \"Turning Machine Tool Operator\",\n \"Typist\",\n \"Umpire\",\n \"Undertaker\",\n \"Upholsterer\",\n \"Urban Planner\",\n \"Usher\",\n \"Valve Installer\",\n \"Vending Machine Servicer\",\n \"Veterinarian\",\n \"Veterinary Assistant\",\n \"Veterinary Technician\",\n \"Vocational Counselor\",\n \"Vocational Education Teacher\",\n \"Waiter\",\n \"Waitress\",\n \"Watch Repairer\",\n \"Water Treatment Plant Operator\",\n \"Weaving Machine Setter\",\n \"Web Developer\",\n \"Weigher\",\n \"Welder\",\n \"Wellhead Pumper\",\n \"Wholesale Buyer\",\n \"Wildlife Biologist\",\n \"Window Trimmer\",\n \"Wood Patternmaker\",\n \"Woodworker\",\n \"Word Processor\",\n \"Writer\",\n \"Yardmaster\",\n \"Zoologist\"]\n\nexport default occupations\n","import React, { Component } from 'react'\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport { Input, Space, Select, Checkbox, DatePicker, Skeleton, Button as AntButton } from 'antd'\nimport { InfoCircleFilled } from '@ant-design/icons'\nimport dayjs from 'dayjs'\nimport Form from 'react-bootstrap/Form'\nimport Button from 'react-bootstrap/Button'\nimport DropdownButton from 'react-bootstrap/DropdownButton'\nimport Dropdown from 'react-bootstrap/Dropdown'\nimport * as com from '../Common.js'\nimport { connect } from 'react-redux'\nimport * as act from '../Store/actions'\nimport Modal from 'react-bootstrap/Modal'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Autocomplete from '../Autocomplete'\nimport AddressAutocomplete from '../Common/AddressAutocomplete'\nimport { tooltip } from '../Common/Tooltip'\nimport { FutureExpenses } from '../State'\nimport { titles } from '../occupations.js'\nimport CheckGroup from '../Common/components/CheckGroup'\nimport { Tips } from '../Common/Tooltip'\nimport { isEmpty, isFinite, toNumber } from 'lodash'\nimport eventBus from '../Bus'\n// import Military from './Military'\nimport '../BorrowerApplication.css'\nimport { DollarInput } from '../Common/components/DollarInput'\n\nclass MoneyInput extends React.PureComponent {\n render() {\n const {\n value,\n period = 'yearly',\n onChange,\n onPeriodChange,\n placeholder = 'Enter amount',\n required = false,\n inputRef\n } = this.props\n\n return (\n
\n
\n {/* Dollar Sign and Input Field Group */}\n
\n $\n \n
\n\n {/* Divider */}\n
\n\n {/* Period Select */}\n \n Yearly\n Monthly\n \n
\n
\n )\n }\n}\n\nexport function calculateEmploymentIncome(app, who) {\n // Get employment info for this person\n const employment = app[who].occupation\n\n // Helper function to calculate monthly income based on payment type\n const calculateMonthlyIncome = (amount, period, hoursPerWeek = null) => {\n const value = parseFloat(amount)\n if (isNaN(value)) return 0\n\n switch (period) {\n case 'monthly':\n return value\n case 'yearly':\n return value / 12\n case 'hourly':\n if (hoursPerWeek === null) return 0\n const hours = parseFloat(hoursPerWeek)\n return isNaN(hours) ? 0 : (value * hours * 52) / 12\n default:\n return 0\n }\n }\n\n // Helper to calculate income from employment object\n const calculateEmploymentIncome = (emp) => {\n if (emp.selfemployed) {\n return calculateMonthlyIncome(emp.incomeorloss, emp.incomeorlossperiod)\n }\n\n // Sum up all income types for regular employment\n const incomeTypes = ['base', 'commissions', 'overtime', 'bonuses', 'military', 'other']\n return incomeTypes.reduce((total, type) => {\n const period = emp.income[type + 'monthly']\n const amount = emp.income[type]\n const hours = type === 'base' ? emp.income[type + 'hoursperweek'] : null\n return total + calculateMonthlyIncome(amount, period, hours)\n }, 0)\n }\n\n let totalIncome = 0\n\n // Only calculate if person is employed\n if (employment.hasoccupation === 'employed') {\n // Add primary employment income\n totalIncome += calculateEmploymentIncome(employment)\n\n // Add other current employment income\n if (app[who].otheroccupations) {\n totalIncome += app[who].otheroccupations.reduce((sum, otherEmp) => {\n return sum + calculateEmploymentIncome(otherEmp)\n }, 0)\n }\n }\n\n return totalIncome\n}\n\nexport function calculateDividendIncome(app, who) {\n let income = 0\n if (app[who].income.hasdividends) {\n let dividends = parseFloat(app[who].income.dividends)\n if (!isNaN(dividends)) {\n switch (app[who].income.dividendsmonthly) {\n case 'monthly': {\n income += dividends\n break\n }\n case 'yearly': {\n income += dividends / 12\n break\n }\n default:\n break\n }\n }\n }\n\n return income\n}\n\nexport function calculateOtherIncome(app, who) {\n let income = 0\n if (app[who].income.otherincome !== null && app[who].income.otherincome.length > 0) {\n app[who].income.otherincome.forEach((inc) => {\n const v = parseFloat(inc.amount)\n if (isNaN(v)) return\n switch (inc.period) {\n case 'monthly': {\n income += v\n break\n }\n case 'yearly': {\n income += v / 12\n break\n }\n default:\n break\n }\n })\n }\n\n return income\n}\n\nexport function calculateIncomeWho(app, who) {\n let income = calculateEmploymentIncome(app, who)\n income += calculateDividendIncome(app, who)\n // income += calculateOtherIncome(app, who)\n\n return income\n}\n\nconst mapStateToPropsDetails = (state) => {\n return {\n application: state.application,\n }\n}\n\nconst mapDispatchToPropsDetails = (dispatch) => ({\n changeNonQMInfo: (event, who, verb) => {\n dispatch(act.ChangeNonQMInfo(event, who, verb))\n },\n updateProduct: (v, verb) => {\n dispatch(act.UpdateProduct(v, verb))\n },\n setBorrowerHasAdditionalIncome: (value, who) => {\n dispatch(act.SetBorrowerHasAdditionalIncome(value, who))\n },\n updateIncomeMonthly: (event, who, verb) => {\n dispatch(act.UpdateIncomeMonthly(event.target.value, who, verb))\n },\n addBorrowerAdditionalIncome: (t, who) => {\n dispatch(act.AddBorrowerAdditionalIncome(t, who))\n },\n removeBorrowerAdditionalIncome: (t, who) => {\n dispatch(act.RemoveBorrowerAdditionalIncome(t, who))\n },\n clearBorrowerAdditionalIncome: (who) => {\n dispatch(act.ClearBorrowerAdditionalIncome(who))\n },\n updateBorrowerAdditionalIncome: (event, who, verb, n) => {\n dispatch(\n act.UpdateBorrowerAdditionalIncome(event.target.value, who, verb, n)\n )\n },\n changeIncomeCheck: (checked, who, verb) => {\n dispatch(act.UpdateIncomeMonthly(checked, who, verb))\n },\n changeCurrentOccupationCheck: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(!event.target.checked, who, verb))\n },\n changeCurrentOccupation: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(event, who, verb))\n },\n changeOccupationInfo: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(event.target.value, who, verb))\n },\n changePhoneInfo: (phone, who, verb) => {\n dispatch(act.ChangeOccupationInfo(phone, who, verb))\n },\n changeOccupationCheck: (event, who, verb) => {\n dispatch(act.ChangeOccupationInfo(event.target.checked, who, verb))\n },\n addAdditionaOccupation: (event, who) => {\n dispatch(act.AddAdditionaOccupation(event, who))\n },\n removeAdditionalOccupation: (event, who, i) => {\n dispatch(act.RemoveAdditionalOccupation(event.target.value, who, i))\n },\n clearAdditionalOccupations: (event, who) => {\n dispatch(act.ClearAdditionalOccupations(event, who))\n },\n changePastOccupationInfo: (event, who, verb, index) => {\n dispatch(\n act.ChangePastOccupationInfo(event.target.value, who, verb, index)\n )\n },\n changePastOccupationDate: (date, who, verb, index) => {\n dispatch(act.ChangePastOccupationInfo(date, who, verb, index))\n },\n changePastOccupationPhone: (phone, who, verb, index) => {\n dispatch(act.ChangePastOccupationInfo(phone, who, verb, index))\n },\n changePastOccupationCheck: (event, who, verb, index) => {\n dispatch(\n act.ChangePastOccupationInfo(event.target.checked, who, verb, index)\n )\n },\n addBorrowerOtherOccupation: (who) => {\n dispatch(act.AddBorrowerOtherOccupation(who))\n },\n removeBorrowerOtherOccupation: (who, index) => {\n dispatch(act.RemoveBorrowerOtherOccupation(who, index))\n },\n clearBorrowerOtherOccupations: (who) => {\n dispatch(act.ClearBorrowerOtherOccupations(who))\n },\n changeBorrowerOtherOccupationValue: (t, i, who, verb) => {\n dispatch(act.ChangeBorrowerOtherOccupationValue(t, i, who, verb))\n },\n changeBorrowerOtherOccupationIncome: (t, i, who, verb) => {\n dispatch(act.ChangeBorrowerOtherOccupationIncome(t, i, who, verb))\n },\n changeMainProperty: (t, verb) => {\n dispatch(act.ChangeMainProperty(t, verb))\n },\n updateIncomeAtttribute: (t, who, verb) => {\n dispatch(act.UpdateIncomeAtttribute(t, who, verb))\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event, who, verb))\n },\n changeDeclaration: (event, who, verb) => {\n dispatch(act.ChangeDeclaration(event, who, verb));\n },\n})\n\nconst getEmploymentType = (app, who) => {\n const e = app[who].occupation.hasoccupation\n const s = app[who].occupation.selfemployed\n\n if (e === 'employed' && s) {\n return 'selfemployed'\n } else if (e === 'employed' && !s) {\n return 'employed'\n }\n\n return e\n}\n\nexport default class Income extends Component {\n constructor(props) {\n super(props)\n\n this.form = React.createRef()\n\n const { who } = this.props\n const { firstname, lastname } = this.props.application[who]\n this.state = {\n isNonQMCustomer: null,\n validated: false,\n showSelf: false,\n isbasevalid: false,\n iscomissionvalid: false,\n isovertimevalid: false,\n isbonusesvalid: false,\n ismilitaryvalid: false,\n isothervalid: false,\n isdividendsvalid: false,\n employmentType: '',\n tabAvtive: 0,\n isotherJob: false,\n showEmploymentModal: false,\n showPreviousEmploymentModal: false,\n who: com.borrower,\n tabs: [\n {\n tab: who === com.borrower ? 'Primary' : 'Co-borrower',\n value: `${firstname} ${lastname}`,\n },\n ],\n isEdit: false,\n hasborrowerTab: true,\n editIndex: -1,\n selfemployed: false,\n employername: '',\n positiontitle: '',\n phone: '',\n yearsatlineofwork: '',\n monthsatlineofwork: '',\n from: '',\n employeraddress: '',\n income: {\n basemonthly: '',\n basehoursperweek: '',\n base: 0,\n overtimemonthly: '',\n overtime: 0,\n bonusesmonthly: '',\n bonuses: 0,\n commissionsmonthly: '',\n commissions: 0,\n militarymonthly: '',\n military: 0,\n othermonthly: '',\n other: 0,\n },\n previousoccupation: {\n employername: '',\n from: '',\n to: '',\n employeraddress: '',\n positiontitle: '',\n income: '',\n incomeperiod: '',\n selfemployed: false,\n employedbyagent: false,\n },\n employedbyagent: false,\n percentownership: '',\n incomeorlossperiod: '',\n incomeorloss: '',\n selfincomedoc: '',\n employed2years: 'false',\n showNoticeModal: false,\n }\n\n this.refsfrom1 = React.createRef()\n this.refsto1 = React.createRef()\n this.refsfrom = []\n this.refsto = []\n\n const { previousoccupations, otheroccupations } = this.props.application[who]\n if (previousoccupations !== null) {\n for (let i = 0; i < previousoccupations.length; i++) {\n this.refsfrom.push(React.createRef())\n this.refsto.push(React.createRef())\n }\n }\n\n this.crefsfrom = []\n if (otheroccupations !== null) {\n for (let i = 0; i < otheroccupations.length; i++) {\n this.crefsfrom.push(React.createRef())\n }\n }\n\n this.isValidated = this.isValidated.bind(this)\n }\n\n getIsNonQMCustomer = () => {\n const token = sessionStorage.getItem('ZeitroA')\n fetch('/borrower/getaccountconfig', {\n method: 'GET',\n headers: {\n Authorization: 'Bearer ' + token,\n },\n }).then((response) => {\n if (response.status !== 200) {\n this.setState({ isNonQMCustomer: false })\n return\n }\n response.json().then((data) => {\n this.setState({ isNonQMCustomer: data.isNonQMCustomer })\n })\n })\n }\n\n componentDidMount() {\n this.getIsNonQMCustomer()\n\n let prevOccupations = this.props.application[this.props.who].previousoccupations\n if (prevOccupations !== null && prevOccupations.length > 0) {\n this.setState({ employed2years: 'true' })\n }\n\n this.setState({\n employmentType: getEmploymentType(\n this.props.application,\n this.props.who\n ),\n })\n\n const { firstname, lastname } = this.props.application.coborrower\n if (this.personalCoborrower()) {\n this.setState((prevState) => ({\n tabs: [\n ...prevState.tabs,\n {\n tab: 'Co-borrower',\n value: `${firstname} ${lastname}`,\n },\n ],\n }))\n }\n\n this.loadExpenses()\n this.completion()\n\n const { who } = this.state\n const { income, otheroccupations, otherincome } = this.props.application[who]\n if (income.hasdividends === null) {\n this.props.updateIncomeAtttribute(false, who, 'hasdividends')\n }\n if (otheroccupations === null) {\n this.props.clearBorrowerOtherOccupations(who)\n }\n if (otherincome === null) {\n this.props.clearBorrowerAdditionalIncome(who)\n }\n }\n\n componentDidUpdate() {\n this.completion()\n }\n\n personalCoborrower = () => {\n const { hascoborrower, married } = this.props.application\n return (\n hascoborrower === 'withcoborrower' ||\n (hascoborrower === 'multiple' && married)\n )\n }\n\n completion = () => {\n const form = this.props.self.current\n const formElements = form?.elements\n if (formElements && formElements.length !== 0) {\n let totalCount = 5\n let fillNum = 5\n if (isEmpty(this.state.employmentType)) {\n fillNum = 4\n }\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (!['button', 'fieldset', 'submit'].includes(element.type)) {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem('progressValue', progressValue)\n }\n }\n\n loadExpenses = () => {\n const token = sessionStorage.getItem('ZeitroA')\n\n fetch('/data/getexpences', {\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'Content-Type': 'application/json',\n 'X-Borrower': this.props.borrowerid,\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('Bad response, should not happen')\n return\n }\n response.json().then((fees) => {\n const ex = new FutureExpenses()\n ex.otherfinancing = fees.otherfinancing\n ex.homeownersinsurance = fees.hazardinsurance\n ex.realestatetaxes = fees.realestatetaxes\n ex.hoa = fees.dues\n ex.floodinsurance = fees.other\n this.props.changeMainProperty(ex, 'expenses')\n })\n })\n .catch((err) => {\n this.setState({ loading: false })\n alert('Network error')\n })\n }\n\n componentWillUnmount() {}\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n onBaseAmountValid = (val) => {\n this.setState({ isbasevalid: val })\n }\n onComissionsAmountValid = (val) => {\n this.setState({ iscomissionvalid: val })\n }\n onOvertimeAmountValid = (val) => {\n this.setState({ isovertimevalid: val })\n }\n onBonusesAmountValid = (val) => {\n this.setState({ isbonusesvalid: val })\n }\n onMilitaryAmountValid = (val) => {\n this.setState({ ismilitaryvalid: val })\n }\n onOtherAmountValid = (val) => {\n this.setState({ isothervalid: val })\n }\n onDividendsValid = (val) => {\n this.setState({ isdividendsvalid: val })\n }\n\n canShowDividends = () => {\n const { who } = this.props\n const { hasoccupation } = this.props.application[who].occupation\n\n if (hasoccupation === null)\n return false\n\n if (hasoccupation !== 'employed')\n return true\n\n const { isbasevalid, iscomissionvalid, isbonusesvalid, isovertimevalid } = this.state\n const { hasbonuses } = this.props.application[who].income\n if (isbasevalid && hasbonuses === false)\n return true\n\n if (isbasevalid && hasbonuses === true && iscomissionvalid && isovertimevalid && isbonusesvalid)\n return true\n\n return false\n }\n\n PreviousEmploymentForm = () => {\n const achangePastOccupationDate = (event, who, verb) => {\n com.touch()\n\n this.setState({\n previousoccupation: {\n ...this.state.previousoccupation,\n [verb]: event ? dayjs(dayjs(event).format('MM/DD/YYYY')) : null,\n },\n })\n }\n\n const changePastOccupationCheck = (verb) => {\n return (event) => {\n com.touch()\n\n const { employmentType } = this.state\n if (\n event.target.checked &&\n verb === 'selfemployed' &&\n employmentType !== 'unemployed' &&\n employmentType !== 'retired'\n ) {\n this.setState({ showSelf: true, currentJob: false })\n }\n\n this.setState({\n previousoccupation: {\n ...this.state.previousoccupation,\n [verb]: event.target.checked,\n },\n })\n }\n }\n\n const { who } = this.props\n const { previousoccupation, employmentType } = this.state\n\n return (\n
\n \n
\n \n \n \n \n *Are you the business owner or self-employed?\n \n {\n com.touch()\n\n if (e === 'yes' && employmentType !== 'unemployed' && employmentType !== 'retired') {\n this.setState({ showSelf: true, currentJob: false })\n }\n\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n selfemployed: e === 'yes',\n },\n })\n }}\n value={previousoccupation.selfemployed ? 'yes' : 'no'}\n type=\"radio\"\n direction=\"horizontal\"\n required={true}\n />\n \n \n \n \n \n \n \n Employer\n \n {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n employername: e.target.value,\n },\n })\n }}\n />\n \n Provide employer.\n \n \n \n \n {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n positiontitle: e.target.value,\n },\n })\n }}\n />\n \n \n \n \n {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n employeraddress: e.target.value,\n },\n })\n }}\n pattern=\"^[0-9]+\\s[\\p{L}\\p{N} !:,&()'?#+\\/@-]+$\"\n placeholder=\"Enter employer address\"\n goodfeedback=\"\"\n badfeedback=\"Please provide address.\"\n />\n \n \n \n \n \n \n Start date\n \n
\n \n achangePastOccupationDate(\n e,\n who,\n 'from'\n )\n }\n />\n
\n
\n \n \n \n \n End date\n \n \n achangePastOccupationDate(\n e,\n who,\n 'to'\n )\n }\n />\n \n \n \n \n \n Total income\n \n {\n const inputValue = e.target.value\n if (inputValue.length > 0) {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n income: inputValue,\n },\n })\n } else {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n income: 0,\n },\n })\n }\n }}\n onPeriodChange={(period) => {\n this.setState({\n previousoccupation: {\n ...previousoccupation,\n incomeperiod: period,\n }\n })\n }}\n required\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n EmploymentForm = () => {\n const ondocs = (e) => {\n this.setState({ selfincomedoc: e.target.value })\n }\n\n let key = null\n\n const {\n income,\n employername,\n positiontitle,\n phone,\n from,\n employeraddress,\n selfemployed,\n percentownership,\n incomeorlossperiod,\n incomeorloss,\n selfincomedoc,\n employedbyagent,\n } = this.state\n\n const IncomeType = (commissions) => {\n return (\n \n
\n \n \n {commissions === 'base' ? '*' : ''}\n {com.capitalize(commissions)}\n \n
\n \n {\n this.setState({\n income: {\n ...income,\n [commissions]: e,\n },\n })\n }}\n />\n {\n this.setState({\n income: {\n ...income,\n [commissions + 'monthly']: e,\n },\n })\n }}\n >\n Monthly\n Yearly\n \n \n
\n \n
\n
\n {income[commissions + 'monthly'] === 'hourly' && (\n \n \n Hours Per Week:\n \n\n {\n this.setState({\n income: {\n ...income,\n [commissions + 'hoursperweek']: e.target.value,\n },\n })\n }}\n />\n\n \n Please provide overtime income.\n \n \n )}\n
\n \n )\n }\n\n return (\n
\n \n
\n \n \n \n \n *Employer\n \n {\n this.setState({\n employername: e.target.value,\n })\n }}\n />\n \n Provide employer.\n \n \n \n \n {\n this.setState({\n positiontitle: e.target.value,\n })\n }}\n />\n \n \n \n \n \n \n \n \n \n *Phone number\n \n Specify the HR/Personnel or hiring manager phone number to verify employment.\n \n }\n />\n \n {\n const phone = com.fixPhoneInput(e.target.value)\n this.setState({ phone })\n }}\n />\n \n \n \n \n \n \n \n \n \n {\n this.setState({\n employeraddress: e.target.value,\n })\n }}\n pattern=\"^[0-9]+\\s[\\p{L}\\p{N} !:,&()'?#+\\/@-]+$\"\n placeholder=\"Enter employer address\"\n goodfeedback=\"\"\n badfeedback=\"Please provide address.\"\n />\n \n \n \n \n \n \n \n \n \n \n *Start date\n \n
\n {\n this.setState({\n from: date ? dayjs(date.format('MM/DD/YYYY')) : null\n })\n }}\n />\n
\n
\n \n \n \n \n {selfemployed === false && (\n
\n \n
\n \n {IncomeType('base')}\n {IncomeType('commissions')}\n \n \n \n \n \n \n {IncomeType('overtime')}\n {IncomeType('bonuses')}\n \n \n \n \n \n \n {IncomeType('military')}\n {IncomeType('other')}\n \n \n \n \n )}\n {selfemployed === true && (\n <>\n \n \n \n \n \n Ownership share\n \n
\n {\n if (e.target.value > 100) {\n this.setState({\n percentownership: 100,\n })\n } else {\n this.setState({\n percentownership:\n e.target.value.replaceAll(\n '.',\n ''\n ),\n })\n }\n }}\n pattern=\"^[0-9.]+$\"\n value={percentownership}\n />\n
\n \n Please provide phone number or N/A.1\n \n \n \n
\n \n \n Income or Loss\n \n
\n {\n this.setState({\n incomeorlossperiod: e,\n })\n }}\n >\n \n Monthly\n \n \n Yearly\n \n \n
\n \n \n
\n \n \n Amount\n \n
\n
\n $\n
\n {\n this.setState({\n incomeorloss:\n e.target.value,\n })\n }}\n />\n
\n \n Please provide amount.\n \n \n \n \n \n {!isNaN(parseInt(percentownership)) &&\n parseInt(percentownership) >= 25 ? (\n
\n \n
\n How do you file your taxes?\n \n \n \n \n \n \n Schedule C\n \n \n \n \n \n Schedule F\n \n \n \n \n \n 1065 Partnership Return\n \n \n \n \n \n 1120S for S Corp\n \n \n \n \n \n 1120 for C Corp\n \n \n \n \n \n ) : (\n
\n \n
\n How do you document your income?\n \n \n \n \n \n \n W2/Paystubs\n \n \n \n \n \n Schedule K1\n \n \n \n \n \n )}\n \n )}\n \n \n \n {\n this.setState({\n employedbyagent: e.target.checked,\n })\n }}\n checked={employedbyagent}\n >\n Check if employed by a family member, property\n seller, real estate agent, or other party to the\n transaction\n \n \n \n \n \n )\n }\n\n canShowOtherIncome = () => {\n if (!this.canShowDividends()) return false\n\n const { who } = this.props\n const { hasdividends } = this.props.application[who].income\n\n if (hasdividends === null) return false\n if (hasdividends === false) return true\n if (hasdividends && this.state.isdividendsvalid) return true\n\n return false\n }\n\n enoughCurrentJob = () => {\n const { who } = this.props\n const { yearsatlineofwork } = this.props.application[who].occupation\n\n if (yearsatlineofwork.length === 0) return false\n\n return parseInt(yearsatlineofwork) >= 2\n }\n\n processOtherIncome = (val, index) => {\n if (null === val) return ''\n\n const { description, monthlyamount, key } = val\n return this.extraIncome(index, description, monthlyamount, key)\n }\n\n hideOccupation = () => {\n this.props.updateBorrowerHasOccupation({ target: { checked: true } })\n }\n showOccupation = () => {\n this.props.updateBorrowerHasOccupation({ target: { checked: true } })\n }\n\n addOtherSources = (e) => {\n com.touch()\n\n const { who } = this.props\n if (e.target.value !== 'true') {\n this.props.clearBorrowerAdditionalIncome(who)\n } else {\n this.props.addBorrowerAdditionalIncome(0, who)\n }\n }\n\n addMoreSources = () => {\n com.touch()\n this.props.addBorrowerAdditionalIncome(0, this.props.who)\n }\n\n addOtherSources = (e) => {\n com.touch()\n\n const { who } = this.props\n if (e !== 'true') {\n this.props.clearBorrowerAdditionalIncome(who)\n } else {\n this.props.addBorrowerAdditionalIncome(0, who)\n }\n }\n\n fieldOccupation = () => {\n const {employername, from, to, positiontitle, income} = this.props.application.coborrower.previousoccupations[0]\n return employername === '' || from === '' || to === '' || positiontitle === '' || income === ''\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.employment) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, employment: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n handleSubmit = (e) => {\n const { who } = this.props\n const { mortgageapplied } = this.props.application.product\n const { nonqm, occupation, previousoccupations } = this.props.application[who]\n\n if (mortgageapplied === 'nonqm') {\n if (!nonqm.nonqmincomeamount) {\n alert('Please provide your non-QM income amount.')\n return false\n }\n } else {\n if (occupation.hasoccupation === null) {\n alert('Please select your occupation.')\n return false\n }\n\n const { employmentType, employed2years } = this.state\n if (employmentType === null || employmentType === '' || employed2years === '') {\n return false\n }\n\n if (employmentType === 'unemployed' && employed2years === 'false' && isEmpty(previousoccupations)) {\n this.setState({ showNoticeModal: true })\n return false\n }\n\n if (employmentType === 'employed' && occupation.from && isEmpty(previousoccupations)) {\n const monthsEmployed = dayjs().diff(dayjs(occupation.from), 'month')\n // If the most recent employment is less than 2 years, show an notice modal\n if (monthsEmployed < 24) {\n this.setState({ showNoticeModal: true })\n return false\n }\n }\n }\n\n return true\n }\n\n handlePrevious = () => {\n return true\n }\n\n changeTab = (tab) => {\n this.setState(\n { tabAvtive: tab, who: tab === 0 ? com.borrower : com.coborrower },\n () => {\n this.setState({\n employmentType: getEmploymentType(\n this.props.application,\n this.props.who\n ),\n })\n this.completion()\n eventBus.emit('changeProgressValue')\n }\n )\n }\n\n editEmployment = (index) => {\n const isotherJob = index !== 0\n const { who } = this.props\n const { otheroccupations, occupation } = this.props.application[who]\n const employment = isotherJob ? otheroccupations[index - 1] : occupation\n\n const {\n selfemployed,\n employername,\n positiontitle,\n phone,\n yearsatlineofwork,\n monthsatlineofwork,\n from,\n employeraddress,\n income: {\n basemonthly,\n basehoursperweek,\n base,\n overtimemonthly,\n overtime,\n bonusesmonthly,\n bonuses,\n commissionsmonthly,\n commissions,\n militarymonthly,\n military,\n othermonthly,\n other,\n },\n employedbyagent,\n percentownership,\n incomeorlossperiod,\n incomeorloss,\n selfincomedoc,\n } = employment\n\n this.setState({\n editIndex: index,\n validated: false,\n isEdit: true,\n isotherJob,\n showEmploymentModal: true,\n selfemployed,\n employername,\n positiontitle,\n phone,\n yearsatlineofwork,\n monthsatlineofwork,\n from,\n employeraddress,\n income: {\n basemonthly,\n basehoursperweek,\n base: base === '' ? 0 : base,\n overtimemonthly,\n overtime: overtime === '' ? 0 : overtime,\n bonusesmonthly,\n bonuses: bonuses === '' ? 0 : bonuses,\n commissionsmonthly,\n commissions: commissions === '' ? 0 : commissions,\n militarymonthly,\n military: military === '' ? 0 : military,\n othermonthly,\n other: other === '' ? 0 : other,\n },\n employedbyagent,\n percentownership,\n incomeorlossperiod,\n incomeorloss,\n selfincomedoc,\n })\n }\n\n extraIncome = (index, desc, amount, key) => {\n index = parseInt(index)\n\n const removePreviousOccupation = (event) => {\n this.props.removeBorrowerAdditionalIncome(index, this.props.who)\n }\n\n const aupdateBorrowerAdditionalIncome = (who, verb) => {\n return (event) => {\n com.touch()\n\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: event } },\n who,\n verb,\n index\n )\n }\n }\n\n const updateBorrowerAdditionalIncome = (who, verb) => {\n return (event) => {\n com.touch()\n\n this.props.updateBorrowerAdditionalIncome(\n event,\n who,\n verb,\n index\n )\n }\n }\n\n const onSelectAdditionalIncome = (e) => {\n com.touch()\n\n const { who } = this.props\n\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: e } },\n who,\n 'incometype',\n index\n )\n\n let description = ''\n com.othersouresofincome.forEach((x) => {\n if (x[0] === e) {\n description = x[1]\n }\n })\n\n if (e === 'Other') description = ''\n\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: description } },\n who,\n 'description',\n index\n )\n }\n\n const updateMonthly = (who, verb) => {\n return (event) => {\n com.touch()\n return this.props.updateBorrowerAdditionalIncome(\n event,\n who,\n verb,\n index\n )\n }\n }\n\n const showDescription = () => {\n const { who } = this.props\n const { incometype } = this.props.application[who].income.otherincome[index]\n\n let description = ''\n com.othersouresofincome.forEach((x) => {\n if (x[0] === incometype) {\n description = x[2]\n }\n })\n\n if (incometype === 'Other' || description === '') return 'Description:'\n\n return tooltip('Description:', description, 'auto', '', '')\n }\n\n const { who } = this.props\n\n const {\n period,\n incometype,\n description,\n amount: incomeAmount,\n otherincome,\n } = this.props.application[who].income.otherincome[index]\n\n return (\n
\n \n
\n \n \n \n Period:\n \n Monthly\n Yearly\n \n \n \n \n \n \n {showDescription()}\n \n \n \n \n {' '}\n {com.othersouresofincome.map(\n (st) => (\n \n {st[1]}\n \n )\n )}\n \n \n Please describe the source of\n income.\n \n \n \n \n \n \n \n Amount\n \n
\n \n
\n\n \n Please provide income.\n \n
\n \n \n \n \n \n \n \n *Are you the business owner or self-employed?\n \n {\n com.touch()\n // changeEmploymentTypes(e === 'yes' ? 'selfemployed' : 'employed', who)\n this.setState({\n selfemployed: e === 'yes'\n })\n if (e === 'no') {\n this.setState({ showSelf: false })\n }\n }}\n value={selfemployed ? 'yes' : 'no'}\n type=\"radio\"\n direction=\"horizontal\"\n required={true}\n />\n \n \n \n {this.EmploymentForm()}\n \n \n \n \n \n \n )\n }\n\n const PreviousEmploymentModal = (event) => {\n const { who } = this.props\n\n const saveContinue = () => {\n let index = 0\n if (this.state.isEdit) {\n index = this.state.editIndex\n } else {\n this.props.addAdditionaOccupation(0, who)\n const { previousoccupations } = this.props.application[who]\n index = previousoccupations.length\n }\n\n const {\n employername,\n employeraddress,\n positiontitle,\n income,\n incomeperiod,\n from,\n to,\n selfemployed,\n employedbyagent,\n } = this.state.previousoccupation\n\n const employmentData = {\n employername,\n employeraddress,\n positiontitle,\n income: isFinite(toNumber(income)) ? Math.round(toNumber(income)) : income, // DollarSReader only accepts integers\n incomeperiod,\n }\n\n Object.entries(employmentData).forEach(([key, value]) => {\n this.props.changePastOccupationInfo(\n { target: { value } },\n who,\n key,\n index\n )\n })\n\n this.props.changePastOccupationDate(\n dayjs(from).format('MM/DD/YYYY'),\n who,\n 'from',\n index\n )\n this.props.changePastOccupationDate(\n dayjs(to).format('MM/DD/YYYY'),\n who,\n 'to',\n index\n )\n this.props.changePastOccupationCheck(\n { target: { checked: selfemployed } },\n who,\n 'selfemployed',\n index\n )\n this.props.changePastOccupationCheck(\n { target: { checked: employedbyagent } },\n who,\n 'employedbyagent',\n index\n )\n this.setState({ showPreviousEmploymentModal: false })\n }\n\n const submitEmployment = (e) => {\n e.preventDefault()\n e.stopPropagation()\n if (this.form.current.reportValidity() === false) {\n this.setState({ validated: true })\n return false\n }\n saveContinue()\n }\n\n const closeModal = () => {\n this.setState({ showPreviousEmploymentModal: false })\n\n const { who } = this.props\n const { employername, from, to, positiontitle, income } = this.props.application[who].previousoccupations[0]\n const fieldOccupation = employername === '' || from === '' || to === '' || positiontitle === '' || income === ''\n if (this.state.editIndex === 0 && fieldOccupation) {\n clearAdditionalOccupations('false', who)\n }\n }\n\n return (\n \n \n Add previous employment\n \n
\n \n
\n * Indicates required\n
\n {this.PreviousEmploymentForm()}\n
\n \n \n \n \n \n )\n }\n\n const displayConventional = () => {\n const { mortgageapplied } = this.props.application.product\n if (mortgageapplied === 'nonqm') {\n return ''\n }\n\n const { who } = this.props\n const { occupation, previousoccupations } = this.props.application[who]\n\n const getEmploymentType = () => {\n const { employmentType } = this.state\n if (employmentType === 'employed' || employmentType === 'selfemployed') {\n return 'employed'\n }\n if (employmentType === 'unemployed' || employmentType === 'retired') {\n return 'unemployed'\n }\n }\n\n const onContactLoanOfficer = () => {\n this.setState({ showNoticeModal: false })\n if (this.props.toggleLoanOfficerPanel) {\n this.props.toggleLoanOfficerPanel(true)\n }\n }\n\n const onAddFormerEmployment = () => {\n this.setState({ showNoticeModal: false })\n this.setState({ employed2years: 'true' })\n addAdditionaOccupation('true', who)\n const { employername, from, to, positiontitle, income, incomeperiod } = getPreviousOccupation(who)\n setTimeout(() => {\n const fieldOccupation =\n employername === '' ||\n from === '' ||\n to === '' ||\n positiontitle === '' ||\n income === '' ||\n incomeperiod === ''\n\n if (fieldOccupation) {\n editPreviousEmployment(0)\n }\n }, 200)\n }\n\n const { showNoticeModal, employed2years } = this.state\n\n return (\n <>\n {showNoticeModal && (\n
\n
\n \n \n
\n \n Notice\n \n
\n \n To complete your loan application, we strongly encourage you to provide at least 2 years of employment history, as it is typically required for processing. However, if you're unable to provide this information at the moment, you may skip it for now and still proceed with your application.\n \n
\n \n this.setState({ showNoticeModal: false })}\n >\n Skip\n \n \n
\n \n )}\n \n
\n \n \n What is your current employment status?\n \n \n changeEmploymentTypes(e, who)\n }\n value={getEmploymentType()}\n type=\"radio\"\n direction=\"horizontal\"\n required={true}\n />\n \n \n \n {occupation.hasoccupation === 'employed' && getEmploymentList().length > 0 && (\n \n \n
Employments
\n {getEmploymentList().map((employment, index) => (\n
\n
\n
\n
\n
\n employment\n
\n \n Employment {index + 1}\n \n
\n
\n {index === 0 && (\n
\n Primary employment\n
\n )}\n {index === 0 && (\n
\n Primary employment\n
\n )}\n
\n
\n \n {employment.map(\n (form, formIndex) =>\n form.show && (\n \n
\n {form.label}:\n
\n \n {form.value}{' '}\n \n {form.monthly === 'yearly' ? '/year' : form.monthly === 'monthly' ? '/month' : ''}\n \n
\n \n )\n )}\n \n
\n
\n editEmployment(index)}>Edit\n {index !== 0 && (\n deleteEmployment(index)}>Remove\n )}\n
\n
handleSetPrimary(index)}>Set as primary
\n
\n
\n \n ))}\n {occupation.hasoccupation === 'employed' && (\n <>\n
\n Add employment\n
\n
\n
\n Total monthly income: {formatAmount(calculateIncomeWho(this.props.application, who))}\n
\n \n )}\n \n \n )}\n {occupation.hasoccupation === 'unemployed' && (\n <>\n \n
\n \n \n * If you claim employment income, you will need to demonstrate at least two years of employment, which can include tertiary education.\n \n \n \n \n \n \n \n \n Have you been employed in the previous two years?\n \n changePreviousJob(e)}\n value={employed2years}\n type=\"radio\"\n direction=\"horizontal\"\n required={true}\n />\n \n \n \n \n )}\n {previousoccupations && previousoccupations.length > 0 && (\n \n \n
Previous employments
\n {previousEmployed().map(\n (employment, index) => (\n
\n
\n
\n
\n
\n employment\n
\n \n Employment {index + 1}\n \n
\n
\n \n {employment.map((form, formIndex) => (\n \n
\n {form.label} :\n
\n
\n {form.value}\n
\n \n )\n )}\n
\n
\n
\n editPreviousEmployment(index)}>Edit\n\n deletePreviousEmployment(e, index)}>Remove\n
\n
\n
\n
\n )\n )}\n
\n Add employment\n
\n \n \n )}\n \n )\n }\n\n const displayNonQM = () => {\n const { mortgageapplied } = this.props.application.product\n if (mortgageapplied !== 'nonqm') {\n return ''\n }\n\n const { who } = this.props\n const { nonqm } = this.props.application[who]\n\n return (\n
\n
\n \n \n Which income documentation would you like to submit for loan qualification?\n \n \n this.props.changeNonQMInfo(\n value,\n who,\n 'nonqmincometype'\n )\n }\n value={nonqm.nonqmincometype}\n required\n >\n VOE\n \n Debt Service Coverage Ratio (DSCR)\n \n \n 1 year personal bank statement\n \n \n 2 years personal bank statement\n \n \n 1 year business bank statement\n \n \n 2 years business bank statement\n \n \n 1 year Form 1099\n \n \n 2 years Form 1099\n \n \n 1 year profit and loss\n \n \n 2 years profit and loss\n \n \n Asset depletion\n \n \n \n
\n
\n \n \n What is your estimated income?\n \n
\n \n \n this.props.changeNonQMInfo(\n e,\n who,\n 'nonqmincomeamount'\n )\n }\n />\n {\n this.props.changeNonQMInfo(\n e,\n who,\n 'nonqmincomeperiod'\n )\n }}\n >\n Monthly\n Yearly\n \n \n
\n \n
\n
\n )\n }\n\n if (this.state.isNonQMCustomer === null) {\n return (\n
\n \n
\n )\n }\n\n return (\n
\n
\n Income\n /\n Employment\n
\n {employmentModal()}\n {PreviousEmploymentModal()}\n\n {this.state.isNonQMCustomer && (\n
\n \n \n Can you provide full documentation of your\n income for the past two years, including tax\n returns and W-2 forms?{' '}\n \n
\n Full documentation typically includes:\n
    \n
  • \n Tax returns for the past 2 years\n
  • \n
  • \n W-2 forms for the past 2 years\n
  • \n
  • Recent pay stubs
  • \n
\n
\n\n
\n Conventional loans usually require full documentation to verify your income.\n
\n\n
\n Non-QM (Non-Qualified Mortgage) loans may be an option if you can't provide full documentation. These loans are designed for:\n
\n
    \n
  • \n Those with non-traditional income sources\n
  • \n
  • \n Borrowers with unique financial situations\n
  • \n
\n\n
\n Your answer helps us guide you to the most appropriate loan type for your situation.\n
\n \n }\n placement=\"top\"\n title=\"Income Documentation Explanation\"\n />\n
\n
\n {\n if (e === 'true') {\n this.props.updateProduct(\n 'conventional',\n 'mortgageapplied'\n )\n } else {\n this.props.updateProduct(\n 'nonqm',\n 'mortgageapplied'\n )\n }\n }}\n value={\n this.props.application.product\n .mortgageapplied !== 'nonqm'\n ? 'true'\n : 'false'\n }\n type=\"radio\"\n direction=\"horizontal\"\n />\n
\n
\n
\n )}\n\n {displayNonQM()}\n {displayConventional()}\n
\n )\n }\n}\n\nIncome = connect(mapStateToPropsDetails, mapDispatchToPropsDetails, null, {\n forwardRef: true,\n})(Income)\n\nexport class OtherIncome extends Component {\n constructor(props) {\n super(props)\n\n this.formRef = React.createRef()\n this.form = React.createRef()\n\n const { who } = this.props\n const { firstname, lastname } = this.props.application[who]\n this.state = {\n tabAvtive: 0,\n showEmploymentModal: false,\n incometype: '',\n description: '',\n amount: '',\n who: com.borrower,\n isEdit: false,\n editIndex: -1,\n validated: false,\n hasborrowerTab: true,\n tabs: [\n {\n tab: who === com.borrower ? 'Primary' : 'Co-borrower',\n value: `${firstname} ${lastname}`,\n },\n ],\n }\n }\n\n componentDidMount() {\n sessionStorage.setItem('progressValue', 100)\n if (this.personalCoborrower()) {\n const { firstname, lastname } = this.props.application.coborrower\n this.setState((prevState) => ({\n tabs: [\n ...prevState.tabs,\n {\n tab: 'Co-borrower',\n value: `${firstname} ${lastname}`,\n },\n ],\n }))\n }\n }\n\n componentDidUpdate() {}\n\n componentWillUnmount() {}\n\n personalCoborrower = () => {\n const { hascoborrower, married } = this.props.application\n return (\n hascoborrower === 'withcoborrower' ||\n (hascoborrower === 'multiple' && married)\n )\n }\n\n canShowDividends = () => {\n const { occupation, income } = this.props.application[this.props.who]\n if (occupation.hasoccupation === null) return false\n if (occupation.hasoccupation !== 'employed') return true\n\n const {\n isbasevalid,\n iscomissionvalid,\n isovertimevalid,\n isbonusesvalid,\n } = this.state\n\n if (isbasevalid && income.hasbonuses === false) return true\n\n if (isbasevalid && income.hasbonuses === true && iscomissionvalid && isovertimevalid && isbonusesvalid)\n return true\n\n return false\n }\n\n canShowOtherIncome = () => {\n if (!this.canShowDividends()) return false\n\n const { hasdividends } = this.props.application[this.props.who].income\n if (hasdividends === null) return false\n if (hasdividends === false) return true\n\n if (hasdividends === true && this.state.isdividendsvalid) return true\n\n return false\n }\n\n addOtherSources = (e) => {\n com.touch()\n\n const { who } = this.props\n if (e !== 'true') {\n this.props.clearBorrowerAdditionalIncome(who)\n } else {\n setTimeout(() => {\n const { amount, description, incometype } = this.props.application[who].income.otherincome[0]\n this.setState({\n isEdit: true,\n validated: false,\n editIndex: 0,\n amount,\n description,\n incometype,\n showEmploymentModal: true,\n })\n }, 200)\n\n this.props.addBorrowerAdditionalIncome(0, who)\n }\n }\n\n processOtherIncome = (val, index) => {\n if (null === val) return ''\n\n const { description, monthlyamount, key } = val\n return this.extraIncome(index, description, monthlyamount, key)\n }\n\n addMoreSources = () => {\n com.touch()\n this.props.addBorrowerAdditionalIncome(0, this.props.who)\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.otherincome) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, otherincome: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n handleSubmit = (e) => {\n return true\n }\n\n handlePrevious = () => {\n return true\n }\n\n changeTab = (tab) => {\n this.setState(\n { tabAvtive: tab, who: tab === 0 ? com.borrower : com.coborrower },\n () => { eventBus.emit('changeProgressValue') }\n )\n }\n\n render() {\n const formatAmount = (value) => {\n return value ? Number(value).toLocaleString('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, }) : '--'\n }\n\n const getEmploymentList = () => {\n const { otherincome } = this.props.application[this.props.who].income\n const otherIncome = otherincome ? otherincome : []\n return otherIncome.map((obj) => [\n {\n // label: 'Employer',\n label: 'Amount',\n value: formatAmount(obj.amount) + '(monthly)',\n },\n {\n label: 'Income type',\n value: obj.description ? obj.description : 'Other',\n },\n // {\n // label: 'Additional info',\n // value: obj.description ? obj.description : '--',\n // span: 12\n // }\n ])\n }\n\n const editEmployment = (index) => {\n const { amount, description, incometype } = this.props.application[this.props.who].income.otherincome[index]\n\n this.setState({\n isEdit: true,\n validated: false,\n editIndex: index,\n amount,\n description,\n incometype,\n showEmploymentModal: true,\n })\n }\n\n const deleteEmployment = (index) => {\n this.props.removeBorrowerAdditionalIncome(index, this.props.who)\n }\n\n const addEmployment = () => {\n this.setState({\n isEdit: false,\n validated: false,\n amount: '',\n description: '',\n incometype: '',\n showEmploymentModal: true,\n })\n }\n\n const onSelectAdditionalIncome = (value) => {\n com.touch()\n\n let description = ''\n com.othersouresofincome.forEach((x) => {\n if (x[0] === value) {\n description = x[1]\n }\n })\n if (value === 'Other') description = ''\n this.setState({ incometype: value, description: description })\n }\n\n const employmentModal = () => {\n const creditCheckContinue = () => {\n const { who } = this.props\n\n let index = 0\n if (this.state.isEdit) {\n index = this.state.editIndex\n } else {\n this.addMoreSources()\n const { otherincome } = this.props.application[who].income\n index = otherincome.length\n }\n\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: this.state.amount } },\n who,\n 'amount',\n index\n )\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: this.state.incometype } },\n who,\n 'incometype',\n index\n )\n this.props.updateBorrowerAdditionalIncome(\n { target: { value: this.state.description } },\n who,\n 'description',\n index\n )\n this.setState({ showEmploymentModal: false })\n }\n\n const submitIncome = (e) => {\n e.preventDefault()\n e.stopPropagation()\n if (this.state.amount === '') {\n this.setState({ validated: true })\n return false\n }\n creditCheckContinue()\n }\n\n return (\n this.setState({ showEmploymentModal: false })}\n >\n \n Add employment\n \n
\n \n
\n * Indicates required\n
\n \n
\n \n \n Amount*\n \n
\n
\n {\n this.setState({ amount: e < 0 ? 0 : e })\n }}\n value={this.state.amount}\n />\n
\n
\n {this.state.validated ? (\n
\n Please provide income.\n
\n ) : (\n <>\n )}\n
\n \n \n \n \n What's the type of this income?\n \n
\n \n {com.othersouresofincome.map(\n (st, index) => (\n \n {st[1]}\n \n )\n )}\n \n
\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n const handleMilitaryService = (e) => {\n com.touch()\n this.props.changeDeclaration(e, this.props.who, 'servearmedforces')\n }\n\n const handleHasDividends = (e) => {\n com.touch()\n const value = e === 'true' ? true : false\n this.props.updateIncomeAtttribute(value, this.props.who, 'hasdividends')\n }\n\n const { who } = this.props\n const { otherincome } = this.props.application[who].income\n const { servearmedforces } = this.props.application[who].declarations\n const { hasdividends } = this.props.application[who].income\n\n return (\n
\n
\n Income\n /\n Other income\n
\n\n {employmentModal()}\n\n
\n
\n \n
\n \n \n Do you have any other sources of income?{' '}\n \n \n \n \n \n \n \n \n \n \n \n \n\n {getEmploymentList().map((employment, index) => (\n
\n
\n
\n
\n
\n \"employment\"\n
\n Other income #{index + 1}\n
\n
\n \n {employment.map(\n (form, formIndex) => (\n \n
{form.label}:
\n
{form.value}
\n \n )\n )}\n
\n
\n
\n editEmployment(index)}>Edit\n\n deleteEmployment(index)}>Remove\n
\n
\n
\n
\n ))}\n\n {otherincome && otherincome.length > 0 && otherincome.length < 3 && (\n
\n Add another source of income\n
\n )}\n\n \n \n \n \n Do you have income from dividends or interest (Form 1099-DIV or Form 1099-INT)?\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n Have you or your deceased spouse ever served, or are you currently serving, in the United States Armed Forces?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nOtherIncome = connect(mapStateToPropsDetails, mapDispatchToPropsDetails, null, {\n forwardRef: true,\n})(OtherIncome)\n","import React, { Component } from \"react\"\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\nimport Form from 'react-bootstrap/Form'\nimport Col from 'react-bootstrap/Col'\nimport { Row } from \"react-bootstrap\"\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common.js\"\nimport CheckGroup from \"../Common/components/CheckGroup\"\nimport { isEmpty } from 'lodash'\nimport { Select } from \"antd\"\nimport { DollarInput } from \"../Common/components/DollarInput\"\n\nexport function getTotalExpenses(who) {\n const getExpence = (value, monthly) => {\n value = parseFloat(value)\n if (monthly === \"monthly\")\n return value\n else\n return value / 12\n }\n\n const { purpose } = this.props.application.property\n const { presentaddressownership, expenses } = this.props.application[who]\n\n let total = 0\n if (purpose === \"purchase\" && presentaddressownership === \"rent\") {\n total += getExpence(expenses.currentrent, expenses.currentrentperiod)\n }\n\n if ((presentaddressownership === \"own\" && purpose === \"purchase\") || purpose !== \"purchase\") {\n total += getExpence(expenses.currentfirstmortgage, expenses.currentfirstmortgageperiod)\n total += getExpence(expenses.currentotherfinancing, expenses.currentotherfinancingperiod)\n total += getExpence(expenses.currenthazardinsurance, expenses.currenthazardinsuranceperiod)\n total += getExpence(expenses.currentmortgageinsurance, expenses.currentmortgageinsuranceperiod)\n total += getExpence(expenses.currentrealestatetaxes, expenses.currentrealestatetaxesperiod)\n total += getExpence(expenses.currentdues, expenses.currentduesperiod)\n total += getExpence(expenses.currentother, expenses.currentotherperiod)\n }\n\n return com.commaizeFloat(total.toFixed(2))\n}\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n hascoborrower: state.application.hascoborrower,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n changeBorrowerInfoByValue: (val, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(val, who, verb))\n },\n updateExpenses: (event, who, verb) => {\n dispatch(act.UpdateExpenses(event.target.value, who, verb))\n },\n addAlimony: (event, who) => {\n dispatch(act.AddAlimony(event, who))\n },\n removeAlimony: (i, who) => {\n dispatch(act.RemoveAlimony(i, who))\n },\n clearAlimonies: (event, who) => {\n dispatch(act.ClearAlimonies(event, who))\n },\n changeAlimony: (event, i, who) => {\n dispatch(act.ChangeAlimony(event, i, who))\n },\n changeAlimonyField: (value, verb, who, i) => {\n dispatch(act.ChangeAlimonyField(value, verb, who, i))\n },\n changePaymentType: (event, i, who) => {\n dispatch(act.ChangePaymentType(event.target.value, i, who))\n },\n})\n\nclass Expenses extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n validated: false,\n }\n\n this.isValidated = this.isValidated.bind(this)\n\n const { who } = this.props\n const { otherloans, borrower, coborrower } = this.props.application\n const { loans } = this.props.application.assetsandliabilities\n const { currentfirstmortgage, currentotherfinancing } = this.props.application[who].expenses\n\n // see if you need to seed the defaults for\n let firstmortgage = 0\n let otherfinancing = 0\n\n if (who === com.borrower) {\n if (loans !== null) {\n for (let index = 0; index < loans.length; index++) {\n const loan = loans[index]\n // don't want to do this for a coborrower until we see it\n //if( (loan.attribution & 1) === 0)\n // continue\n if (!loan.creditloantype) continue\n if (loan.creditloantype.toLowerCase().indexOf(\"mortgage\") >= 0) {\n if (loan.forsubjectproperty === true) {\n if (firstmortgage === 0)\n firstmortgage += parseInt(loan.monthlypayment)\n else\n otherfinancing += parseInt(loan.monthlypayment)\n }\n } else {\n if (loan.creditloantype.toLowerCase().indexOf(\"homeequity\") >= 0 ||\n loan.creditloantype.toLowerCase().indexOf(\"realestate\") >= 0) {\n if (loan.forsubjectproperty === true)\n otherfinancing += parseInt(loan.monthlypayment)\n }\n }\n }\n }\n\n for (let i = 0; (otherloans != null) && (i < otherloans.length); i++) {\n const loan = otherloans[i]\n if (loan.forsubjectproperty === true && loan.satisfiedupon === \"withproceeds\") {\n if (firstmortgage === 0)\n firstmortgage += parseInt(loan.monthlypayment)\n else\n otherfinancing += parseInt(loan.monthlypayment)\n }\n }\n\n setTimeout(() => {\n if (currentfirstmortgage === \"\") {\n this.props.updateExpenses({ target: { value: firstmortgage.toString() } }, com.borrower, \"currentfirstmortgage\")\n this.props.updateExpenses({ target: { value: \"monthly\" } }, com.borrower, \"currentfirstmortgageperiod\")\n if (currentotherfinancing === \"\") {\n this.props.updateExpenses({ target: { value: otherfinancing.toString() } }, com.borrower, \"currentotherfinancing\")\n this.props.updateExpenses({ target: { value: \"monthly\" } }, com.borrower, \"currentotherfinancingperiod\")\n }\n }\n }, 100)\n }\n\n if (null === borrower.finances.alimony) {\n this.props.clearAlimonies(\"\", \"borrower\")\n }\n if (null === coborrower.finances.alimony) {\n this.props.clearAlimonies(\"\", \"coborrower\")\n }\n }\n\n componentDidMount() {\n this.completion()\n }\n\n componentDidUpdate() {\n this.completion()\n }\n\n componentWillUnmount() { }\n\n completion = () => {\n const form = this.props.self.current\n const formElements = form?.elements\n if (formElements && formElements.length === 0) {\n sessionStorage.setItem(\"progressValue\", 100)\n return\n }\n if (formElements && formElements.length !== 0) {\n let totalCount = 0\n let fillNum = 0\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (element.type !== 'button' && element.type !== 'fieldset' && element.type !== 'submit') {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem(\"progressValue\", progressValue)\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n return true\n }\n\n showCoborrower = () => {\n if (this.props.hascoborrower === \"withcoborrower\" && this.props.application.married)\n return true\n if (this.props.hascoborrower === \"multiple\" && this.props.application.married)\n return true\n return false\n }\n\n totalExpenses = getTotalExpenses.bind(this)\n\n getHeader = () => {\n const { hascoborrower, married } = this.props.application\n\n if (hascoborrower === \"alone\") {\n return \"Expenses\"\n }\n\n if (hascoborrower === \"withcoborrower\" && !married) {\n const { firstname, lastname } = this.props.application[this.props.who]\n return (\n
\n \n {firstname + ' ' + lastname}\n \n 's Expenses\n
\n )\n }\n\n return \"Expenses\"\n }\n\n handleSubmit = e => {\n if (this.props.application[this.props.who].presentaddressownership == null) return false\n return true\n }\n\n processAlimonies = (val, index) => {\n if (null === val)\n return \"\"\n\n const { amount, owedto, whatisit, lessthan10, monthslefttopay, key } = val\n\n return this.generateAlimony(index, amount, owedto, lessthan10, whatisit, monthslefttopay, key)\n }\n\n generateAlimony = (index, amount, owedto, lessthan10, whatisit, monthslefttopay, key) => {\n index = parseInt(index)\n const removeAlimony = (event) => {\n com.touch()\n this.props.removeAlimony(index, this.props.who)\n }\n const changeAlimony = (event) => {\n com.touch()\n this.props.changeAlimony(event, this.props.who, index)\n }\n const addAlimony = (event) => {\n com.touch()\n return this.props.addAlimony(event, this.props.who)\n }\n const updateWhat = (event) => {\n com.touch()\n this.props.changePaymentType(event, this.props.who, index)\n }\n\n const { alimony } = this.props.application[this.props.who].finances\n\n return (\n
\n \n
\n \n \n\n \n \n \n \n \n \n \n \n Payment type\n
\n { updateWhat({ target: { value: e } }) }}\n >\n \n \n \n \n \n \n
\n
\n \n \n \n Monthly amount\n
\n { changeAlimony(e) }}\n pattern=\"^[a-zA-Z0-9 !-:,&()'?#+/@]+$\"\n />\n
\n \n Please provide the name of the bank/credit union.\n \n
\n \n \n \n \n \n )\n }\n\n render() {\n const { who } = this.props\n\n const clearAlimony = (event) => {\n com.touch()\n this.props.clearAlimonies(event, who)\n }\n\n const addAlimony = (event) => {\n com.touch()\n return this.props.addAlimony(event, who)\n }\n\n const { alimony } = this.props.application[this.props.who].finances\n\n return (\n
\n
{this.getHeader()}
\n
\n \n Do you have any additional expenses, including alimony, child support, separate maintenance, and job-related expenses?\n {\n if (e === \"true\") {\n addAlimony()\n } else {\n clearAlimony()\n }\n }}\n value={\n (null != alimony && alimony.length > 0) ? \"true\" : \"false\"\n }\n type='radio'\n direction=\"horizontal\" />\n\n \n
\n
\n {alimony != null && alimony.map(this.processAlimonies)}\n
\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Expenses)\n","import React, { Component } from 'react'\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\nimport * as com from '../Common.js'\nimport Form from 'react-bootstrap/Form'\nimport NumericalInput from '../NumericalInput'\nimport { InputNumber, Select } from 'antd'\nimport Alert from 'react-bootstrap/Alert'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Button from 'react-bootstrap/Button'\nimport Modal from 'react-bootstrap/Modal'\nimport AddressAutocomplete from '../Common/AddressAutocomplete'\nimport { connect } from 'react-redux'\nimport * as act from '../Store/actions'\nimport * as st from '../State'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Steps from 'awesome-steps'\nimport { getTotalExpenses } from './Expenses'\nimport 'awesome-steps/dist/style.css'\nimport { Tips } from '../Common/Tooltip'\nimport CheckGroup from '../Common/components/CheckGroup'\nimport { isEmpty } from 'lodash'\nimport { getCurrentState } from '../Store'\nimport { DollarInput } from '../Common/components/DollarInput.js'\nimport { getStates, getCounties } from '../Tools/Address.js'\nimport { isMortgageLoan } from '../Tools/Loan.js'\n\nvar parser = require('parse-address')\n\nclass PropertyModal extends Component {\n constructor(props) {\n super(props)\n\n const { propertyIndex, ownedproperties } = props\n const property = propertyIndex < ownedproperties.length ? ownedproperties[propertyIndex] : {}\n\n this.state = {\n loanLimits: {},\n validated: false,\n property: property,\n }\n\n this.form = React.createRef()\n }\n\n componentDidMount() {\n this.fetchLoanLimits()\n }\n\n componentDidUpdate(prevProps) {\n const { propertyIndex, ownedproperties } = this.props\n if (prevProps.ownedproperties !== ownedproperties || prevProps.propertyIndex !== propertyIndex) {\n const property = propertyIndex < ownedproperties.length ? ownedproperties[propertyIndex] : {}\n this.setState({ property })\n }\n }\n\n fetchLoanLimits = async () => {\n try {\n const response = await fetch('/data/loanlimits')\n if (!response.ok) {\n throw Error(response.statusText)\n }\n const data = await response.json()\n this.setState({ loanLimits: data })\n } catch (err) {\n console.error(err)\n }\n }\n\n onStreetAddressCompletion = (address, index, changeOwnedProperty) => {\n const num = com.getSubaddress(address, 'street_number', 'long_name')\n const city = com.getSubaddress(address, 'locality', 'long_name')\n const state = com.getSubaddress(address, 'administrative_area_level_1', 'long_name')\n const county = com.getSubaddress(address, 'administrative_area_level_2', 'long_name')\n let zip = com.getSubaddress(address, 'postal_code', 'long_name')\n const zips = com.getSubaddress(address, 'postal_code_suffix', 'short_name')\n if (zips !== '') zip = zip + '-' + zips\n\n const short = com.getSubaddress(address, 'route', 'short_name')\n const stradd = num + ' ' + short\n\n changeOwnedProperty(stradd, index, 'address')\n changeOwnedProperty(city, index, 'city')\n changeOwnedProperty(state, index, 'state')\n changeOwnedProperty(county, index, 'county')\n changeOwnedProperty(zip, index, 'zipcode')\n }\n\n handleSubmit = (e) => {\n e.preventDefault()\n e.stopPropagation()\n if (this.form.current.reportValidity() === false) {\n this.setState({ validated: true })\n return false\n }\n this.props.onSubmit(this.state.formData)\n }\n\n handleInputChange = (field, value) => {\n const { index, who, onPropertyChange } = this.props\n this.setState((prevState) => ({ [field]: value }))\n onPropertyChange({ [field]: value }, index, who)\n }\n\n onHaveMortgateForProperty = (e) => {\n const { propertyIndex, changeOwnedProperty } = this.props\n const checked = e.target.checked\n\n if (checked) {\n changeOwnedProperty([], propertyIndex, 'loans')\n } else {\n const additionalLoan = JSON.parse(new st.loan().toJson())\n additionalLoan.creditloantype = 'ConventionalRealEstateMortgage'\n additionalLoan.key = Math.random().toString()\n changeOwnedProperty([additionalLoan], propertyIndex, 'loans')\n }\n }\n\n mortgageLoanForm = (property, propertyIndex, loanIndex, changeOwnedProperty) => {\n const loan = !isEmpty(property.loans) && loanIndex < property.loans.length ? property.loans[loanIndex] : {}\n if (isEmpty(loan)) return <>\n\n const handleFieldChange = (field, value) => {\n const updatedLoans = [...property.loans]\n updatedLoans[loanIndex][field] = value\n changeOwnedProperty(updatedLoans, propertyIndex, 'loans')\n }\n\n return (\n
\n
\n {/* Header Section */}\n
\n \"bank\"\n \n Add mortgage loan\n \n
\n\n {/* Form Section */}\n
\n \n
\n Type\n \n \n \n Lender\n handleFieldChange('name', e.target.value)}\n />\n \n \n\n \n \n Account number\n handleFieldChange('accountnumber', e.target.value)}\n />\n \n \n Mo. payment\n handleFieldChange('monthlypayment', e)}\n />\n \n \n\n \n \n Unpaid balance\n handleFieldChange('remainingbalance', e)}\n />\n \n \n Paid off at/before closing?\n \n \n \n\n \n \n Credit limit (optional)\n handleFieldChange('creditlimit', e)}\n />\n \n \n \n \n \n )\n }\n\n render() {\n const { show, onHide, propertyIndex, ownership, changeOwnedProperty } = this.props\n const { loanLimits, validated, property } = this.state\n\n const isAdditional = ownership === st.O_Own ? propertyIndex > 0 : true\n\n return (\n \n \n
\n \n {isAdditional ? 'Additional property you own' : 'Property you own'}\n \n
\n
\n
\n \n
\n {/* Address Section */}\n Address\n \n
\n {\n changeOwnedProperty(e.target.value, propertyIndex, 'address')\n }}\n onCompletion={(address) => this.onStreetAddressCompletion(address, propertyIndex, changeOwnedProperty)}\n pattern=\"^[a-zA-Z0-9 !-:,&()'?#+/@]+$\"\n required\n />\n \n \n \n {\n changeOwnedProperty(e.target.value, propertyIndex, 'unit')\n }}\n />\n \n \n \n \n \n {\n changeOwnedProperty(val, propertyIndex, 'state')\n }}\n style={{ width: '100%' }}\n required\n >\n {getStates(loanLimits).map(x => (\n \n {x.label}\n \n ))}\n \n \n \n {\n changeOwnedProperty(val, propertyIndex, 'county')\n }}\n style={{ width: '100%' }}\n required\n >\n {getCounties(loanLimits, property.state).map(x => (\n \n {x.label}\n \n ))}\n \n \n \n {\n changeOwnedProperty(e.target.value, propertyIndex, 'city')\n }}\n value={property.city}\n placeholder=\"City\"\n />\n \n \n {\n changeOwnedProperty(e.target.value, propertyIndex, 'zipcode')\n }}\n />\n \n \n\n {/* Property Info Section */}\n
\n Property Info\n
\n \n
\n Property value\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={(e) => {\n changeOwnedProperty(e, propertyIndex, 'marketvalue')\n }}\n size=\"large\"\n />\n \n \n Status\n {\n changeOwnedProperty(e, propertyIndex, 'status')\n }}\n />\n \n \n\n \n \n Property intended occupancy\n {\n changeOwnedProperty(e, propertyIndex, 'occupancy')\n }}\n />\n \n \n Mo. insurance, taxes, association dues, etc\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={(e) => {\n changeOwnedProperty(e, propertyIndex, 'insurancemaintenancetaxes')\n }}\n size=\"large\"\n />\n \n \n\n \n \n {\n if (e.target.checked) {\n changeOwnedProperty('twotofour', propertyIndex, 'propertytype')\n } else {\n changeOwnedProperty(null, propertyIndex, 'propertytype')\n }\n }}\n />\n \n \n\n {(property.occupancy === 'investment' || property.propertytype === 'twotofour') && (\n \n \n Expected monthly rental income\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={(e) => {\n changeOwnedProperty(String(e), propertyIndex, 'grossrentalincome')\n }}\n size=\"large\"\n />\n \n \n )}\n\n
\n\n {/* Mortgage Section */}\n
\n \n Mortgage on this property\n \n \n
\n \n \n \n\n {!isEmpty(property.loans) && property.loans.map(\n (loan, index) => this.mortgageLoanForm(property, propertyIndex, index, changeOwnedProperty)\n )}\n\n {!isEmpty(property.loans) && (\n {\n const additionalLoan = JSON.parse(new st.loan().toJson())\n additionalLoan.creditloantype = 'ConventionalRealEstateMortgage'\n additionalLoan.key = Math.random().toString()\n changeOwnedProperty([...property.loans, additionalLoan], propertyIndex, 'loans')\n }}\n >\n Add additional mortgage to this property\n \n )}\n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n finances: state.application.borrower.finances,\n application: state.application,\n hascoborrower: state.application.hascoborrower,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateSolarPanels: (payload, verb) => {\n dispatch(act.UpdateSolarPanels(payload, verb))\n },\n copyBorrowerLoan: (p, who) => {\n dispatch(act.CopyBorrowerLoan(p, who))\n },\n clearBorrowerLoans: (event, who) => {\n dispatch(act.ClearBorrowerLoans(event, who))\n },\n changeBorrowerLoan: (payload, index, verb) => {\n dispatch(act.ChangeBorrowerLoan(payload, index, verb))\n },\n changeBorrowerLoanMonthly: (event, i, who) => {\n dispatch(act.ChangeBorrowerLoanMonthly(event.target.value, i, who))\n },\n changeBorrowerLoanSatisfiedUpon: (event, i, who) => {\n dispatch(\n act.ChangeBorrowerLoanSatisfiedUpon(event.target.value, i, who)\n )\n },\n changeBorrowerLoanRate: (event, i, who) => {\n dispatch(act.ChangeBorrowerLoanRate(event.target.value, i, who))\n },\n changeBorrowerLoanForSubject: (val, i, who) => {\n dispatch(act.ChangeBorrowerLoanForSubject(val, i, who))\n },\n changeBorrowerLoanCorrection: (event, i, who) => {\n dispatch(act.ChangeBorrowerLoanCorrection(event.target.value, i, who))\n },\n changeBorrowerLoanExplanation: (event, i, who) => {\n dispatch(act.ChangeBorrowerLoanExplanation(event.target.value, i, who))\n },\n updateFinances: (t, who, verb) => {\n dispatch(act.UpdateFinances(t, who, verb))\n },\n addBorrowerAdditionaCredits: (event, who) => {\n dispatch(act.AddBorrowerAdditionaCredits(event, who))\n },\n clearBorrowerAdditionalCredits: (event, who) => {\n dispatch(act.ClearBorrowerAdditionalCredits(event, who))\n },\n updateJointly: (event) => {\n dispatch(act.UpdateJointly(event.target.checked))\n },\n updateApplicationAttribute: (event, verb) => {\n dispatch(act.UpdateApplicationAttribute(event.target.value, verb))\n },\n updateFico: (score) => {\n dispatch(act.UpdateFico(score))\n },\n updateCRErrors: (ar) => {\n dispatch(act.UpdateCRErrors(ar))\n },\n changeBorrowerInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n addBorrowerAdditionalPropertiesFromCredit: (payload) => {\n dispatch(act.AddBorrowerAdditionalPropertiesFromCredit(payload))\n },\n changeReviewedLoans: (value) => {\n dispatch(act.ChangeReviewedLoans(value))\n },\n changeMainPropertyPurpose: (event) => {\n dispatch(act.ChangeMainPropertyPurpose(event.target.value))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n changeBorrowerFreeAndClear: (payload, who) => {\n dispatch(act.ChangeBorrowerFreeAndClear(payload, who))\n },\n changePaymentType: (event, who, i) => {\n dispatch(act.ChangePaymentType(event.target.value, who, i))\n },\n addBorrowerAdditionalProperty: (event, who) => {\n dispatch(act.AddBorrowerAdditionalProperty(event, who))\n },\n addBorrowerOwnedProperty: (event) => {\n dispatch(act.AddBorrowerOwnedProperty(event))\n },\n addCoborrowerOwnedProperty: (event) => {\n dispatch(act.AddCoborrowerOwnedProperty(event))\n },\n removeOwnedProperty: (i) => {\n dispatch(act.RemoveOwnedProperty(i))\n },\n removeBorrowerOwnedProperty: (i) => {\n dispatch(act.RemoveBorrowerOwnedProperty(i))\n },\n removeCoborrowerOwnedProperty: (i) => {\n dispatch(act.RemoveCoborrowerOwnedProperty(i))\n },\n clearOwnedProperty: () => {\n dispatch(act.ClearOwnedProperty())\n },\n clearCoborrowerOwnedProperty: () => {\n dispatch(act.ClearCoborrowerOwnedProperty())\n },\n clearBorrowerOwnedProperty: () => {\n dispatch(act.ClearBorrowerOwnedProperty())\n },\n changeOwnedProperty: (t, i, verb) => {\n dispatch(act.ChangeOwnedProperty(t, i, verb))\n },\n changeBorrowerOwnedProperty: (t, i, verb) => {\n dispatch(act.ChangeBorrowerOwnedProperty(t, i, verb))\n },\n changeCoborrowerOwnedProperty: (t, i, verb) => {\n dispatch(act.ChangeCoborrowerOwnedProperty(t, i, verb))\n },\n clearBorrowerAdditionalProperty: (event, who) => {\n dispatch(act.ClearBorrowerAdditionalProperty(event, who))\n },\n addNewMortgageLoan: () => {\n dispatch(act.AddNewMortgageLoan())\n },\n removeNewMortgageLoan: (index) => {\n dispatch(act.RemoveNewMortgageLoan(index))\n },\n clearNewMortgageLoans: () => {\n dispatch(act.ClearNewMortgageLoans())\n },\n updateNewMortgageLoanAttribute: (value, index, verb) => {\n dispatch(act.UpdateNewMortgageLoanAttribute(value, index, verb))\n },\n changeBorrowerInfoByValue: (val, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(val, who, verb))\n },\n updateExpenses: (event, who, verb) => {\n dispatch(act.UpdateExpenses(event.target.value, who, verb))\n },\n addAlimony: (event, who) => {\n dispatch(act.AddAlimony(event, who))\n },\n removeAlimony: (i, who) => {\n dispatch(act.RemoveAlimony(i, who))\n },\n clearAlimonies: (event, who) => {\n dispatch(act.ClearAlimonies(event, who))\n },\n changeAlimony: (event, who, i) => {\n dispatch(act.ChangeAlimony(event, who, i))\n },\n changeAlimonyField: (value, verb, who, i) => {\n dispatch(act.ChangeAlimonyField(value, verb, who, i))\n },\n})\n\nexport class Liabilities extends Component {\n constructor(props) {\n super(props)\n\n const { who } = this.props\n const { otherloans } = this.props.application\n const { loansreviewed, properties, loans, newloans, ownedproperties } = this.props.application.assetsandliabilities\n const { havesolarpanels } = this.props.application.property.solarpanels\n const { currentfirstmortgage, currentotherfinancing } = this.props.application[who].expenses\n\n this.state = {\n loadingcr: false,\n show: {},\n usestepper: true,\n status: 'process',\n expand: [],\n stepsandsubsteps: [],\n observedIndex: 0,\n showWarning: false,\n message: '',\n monthlyIncome: 0,\n monthlyDebt: 0,\n preDTI: 0,\n validated: false,\n showPropertyModal: false,\n currentPropertyIndex: 0,\n }\n\n this.isValidated = this.isValidated.bind(this)\n\n // see if you need to seed the defaults for\n let firstmortgage = 0\n let otherfinancing = 0\n if (who === com.borrower) {\n if (loans !== null) {\n for (let index = 0; index < loans.length; index++) {\n const loan = loans[index]\n // don't want to do this for a coborrower until we see it\n //if( (loan.attribution & 1) === 0)\n // continue\n if (!loan.creditloantype) continue\n if (loan.creditloantype.toLowerCase().indexOf(\"mortgage\") >= 0) {\n if (loan.forsubjectproperty === true) {\n if (firstmortgage === 0)\n firstmortgage += parseInt(loan.monthlypayment)\n else\n otherfinancing += parseInt(loan.monthlypayment)\n }\n } else {\n if (loan.creditloantype.toLowerCase().indexOf(\"homeequity\") >= 0 ||\n loan.creditloantype.toLowerCase().indexOf(\"realestate\") >= 0) {\n if (loan.forsubjectproperty === true)\n otherfinancing += parseInt(loan.monthlypayment)\n }\n }\n }\n }\n\n for (let i = 0; (otherloans != null) && (i < otherloans.length); i++) {\n const loan = otherloans[i]\n if (loan.forsubjectproperty === true && loan.satisfiedupon === \"withproceeds\") {\n if (firstmortgage === 0)\n firstmortgage += parseInt(loan.monthlypayment)\n else\n otherfinancing += parseInt(loan.monthlypayment)\n }\n }\n\n setTimeout(() => {\n if (currentfirstmortgage === \"\") {\n this.props.updateExpenses({ target: { value: firstmortgage.toString() } }, com.borrower, \"currentfirstmortgage\")\n this.props.updateExpenses({ target: { value: \"monthly\" } }, com.borrower, \"currentfirstmortgageperiod\")\n if (currentotherfinancing === \"\") {\n this.props.updateExpenses({ target: { value: otherfinancing.toString() } }, com.borrower, \"currentotherfinancing\")\n this.props.updateExpenses({ target: { value: \"monthly\" } }, com.borrower, \"currentotherfinancingperiod\")\n }\n }\n }, 100)\n }\n\n const { alimony } = this.props.application[who].finances\n if (!alimony) {\n this.props.clearAlimonies(\"\", who)\n }\n\n if (loansreviewed === null) {\n this.props.application.assetsandliabilities.loansreviewed = 0\n this.props.changeReviewedLoans(0)\n }\n\n this.getDTI()\n\n if (loans != null) {\n this.state.stepsandsubsteps = this.recalcStepper()\n }\n\n if (properties === null) {\n this.props.clearBorrowerAdditionalProperty(0, this.props.who)\n }\n if (newloans === null) {\n this.props.clearNewMortgageLoans()\n }\n if (havesolarpanels === null) {\n this.props.updateSolarPanels(false, 'havesolarpanels')\n }\n\n const { presentaddressownership } = this.props.application[who]\n const propertyNoLoans = !isEmpty(ownedproperties) && ownedproperties[0].loans.length === 0\n if (presentaddressownership === st.O_Own && propertyNoLoans && !isEmpty(loans)) {\n const loansForCurrentResidence = []\n for (const loan of loans) {\n if (loan.forprimaryresidence) {\n loansForCurrentResidence.push(loan)\n }\n }\n this.props.changeOwnedProperty(loansForCurrentResidence, 0, 'loans')\n }\n }\n\n recalcStepper = () => {\n const loans = this.getFilteredLoans()\n const dupresolved = null\n const stepsandsubsteps = []\n let steps = -1\n let substeps = 0\n for (let i = 0; i < loans.length; i++) {\n const remapped = loans[i]\n let st\n if (remapped.correction === 'duplicate') {\n substeps += 1\n st = { steps, substeps, dupresolved }\n } else {\n steps += 1\n substeps = 0\n st = { steps, substeps, dupresolved }\n }\n stepsandsubsteps.push(st)\n }\n\n return stepsandsubsteps\n }\n\n fillPerson = (who) => {\n const {\n firstname,\n middlename,\n lastname,\n suffix,\n email,\n socialsecurity,\n dateofbirth,\n } = this.props.application[who]\n\n return {\n firstname: firstname,\n middlename: middlename,\n lastname: lastname,\n suffix: suffix,\n email: email,\n socialsecurity: socialsecurity,\n dateofbirth: dateofbirth,\n }\n }\n\n fillAddress = (who) => {\n const {\n presentaddressstreet,\n presentaddresscity,\n presentaddressstate,\n presentaddresszip,\n presentaddressyears,\n presentaddressmonths,\n presentaddressownership,\n } = this.props.application[who]\n\n return {\n street: presentaddressstreet,\n city: presentaddresscity,\n state: presentaddressstate,\n zip: presentaddresszip,\n years: presentaddressyears,\n months: presentaddressmonths,\n ownership: presentaddressownership,\n }\n }\n\n fillPreviouswAddress = (index, who) => {\n const {\n street,\n city,\n state,\n zip,\n years,\n months,\n ownership,\n } = this.props.application[who].previousaddresses[index]\n\n return {\n street: street,\n city: city,\n state: state,\n zip: zip,\n years: years,\n months: months,\n ownership: ownership,\n }\n }\n\n fillApplicant = (who) => {\n let addresses = [this.fillAddress(who)]\n const { previousaddresses } = this.props.application[who]\n\n for (let i = 0; i < previousaddresses.length; i++) {\n addresses.push(this.fillPreviouswAddress(i, who))\n }\n\n if (addresses.length > 0 && addresses[0].street === '') {\n addresses = [this.fillAddress(who)]\n }\n\n return { person: this.fillPerson(who), addresses: addresses }\n }\n\n fillRequestBody = (who) => {\n const borrowers = [this.fillApplicant(who)]\n\n return {\n // true for LO, false for borrower\n force_ucs: false,\n debug: 'just_request',\n app_data: borrowers,\n request: 'credit_report',\n }\n }\n\n load = () => {\n this.props.changeReviewedLoans(0)\n\n if (\n false &&\n 'undefined' === typeof this.props.borrowerid &&\n null !== this.props.application.assetsandliabilities.loans\n ) {\n return\n }\n\n this['state'].loadingcr = true\n this.setState({ loadingcr: true })\n\n const token = window.sessionStorage.getItem('ZeitroA')\n\n let id = com.getUserId()\n if ('undefined' === typeof id) {\n id = this.props.borrowerid\n }\n\n const body = this.fillRequestBody(this.props.who)\n\n fetch(window.location.origin + '/borrower/creditreport/' + id, {\n cache: 'no-cache',\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n },\n })\n .then((response) => {\n response.text().then((text) => {\n try {\n const js = JSON.parse(text)\n this.props.clearBorrowerLoans(null, this.props.who)\n this.props.updateFico(js.creditscore)\n if (js.creditscore === '0') {\n this.props.updateFico('750')\n }\n\n let remap = (o) => {\n const l = { ...o }\n const islease = l.creditliabilityaccounttype === 'AutoLease' || l.creditliabilityaccounttype === 'Lease'\n const isinstallment = l.creditliabilityaccounttype === 'Installment'\n\n if (l.creditloantype.toLowerCase().indexOf('education') >= 0) {\n if (l.monthlypayment === '')\n l.monthlypayment = 0\n } else {\n if (\n (islease || isinstallment) &&\n (l.monthlypayment === 0 || l.monthlypayment === '')\n ) {\n l.monthlydefinedbycustomer = true\n }\n }\n\n return l\n }\n\n const opened = js.liabilities\n const dupresolved = null\n const expand = []\n let steps = -1\n let substeps = 0\n const stepsandsubsteps = []\n for (let i = 0; i < opened.length; i++) {\n const remapped = remap(opened[i])\n if (opened[i].remainingbalance === '' || parseInt(opened[i].remainingbalance) === 0)\n continue\n\n this.props.copyBorrowerLoan(remapped, this.props.who)\n\n expand.push(false)\n\n let st\n if (remapped.correction === 'duplicate') {\n substeps += 1\n st = { steps, substeps, dupresolved }\n } else {\n steps += 1\n substeps = 0\n st = { steps, substeps, dupresolved }\n }\n stepsandsubsteps.push(st)\n }\n\n this.props.addBorrowerAdditionalPropertiesFromCredit(null)\n getCurrentState()\n\n this.setState({ loadingcr: false, expand, stepsandsubsteps })\n if (typeof js.errorMessages !== 'undefined') {\n this.props.updateCRErrors(js.errorMessages)\n }\n } catch (err) {\n console.error(err)\n this.setState({ loadingcr: false })\n }\n })\n })\n .catch((error) => {\n this.setState({ loadingcr: false })\n })\n }\n\n getDTI = () => {\n const token = sessionStorage.getItem('ZeitroA')\n fetch('/data/getPreDTI', {\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + token,\n Cache: 'no-cache',\n 'Content-Type': 'application/json',\n 'X-Borrower': this.props.borrowerid,\n },\n })\n .then((response) => {\n if (response.status !== 200) {\n console.warn('Bad response, should not happen')\n return\n }\n response.json().then((pr) => {\n if (typeof pr['Error'] !== 'undefined') {\n console.error(pr.Error)\n } else {\n if (pr.dtiData.length === 0) {\n this.setState({ monthlyIncome: 0, monthlyDebt: 0, preDTI: 0 })\n } else {\n const income = pr.dtiData[0].monthly_income\n const debt = pr.dtiData[0].monthly_payment\n const dti = income === 0 ? 0 : Math.round((debt / income) * 100)\n this.setState({ monthlyIncome: income, monthlyDebt: debt, preDTI: dti })\n }\n }\n })\n })\n .catch((err) => {\n alert('Network error')\n })\n }\n\n componentDidMount() {\n setTimeout(() => {\n this.completion()\n }, 100)\n }\n\n componentDidUpdate() {\n this.completion()\n }\n\n componentWillUnmount() { }\n\n completion = () => {\n const form = this.props.self.current\n const formElements = form?.elements\n if (formElements && formElements.length === 0) {\n sessionStorage.setItem('progressValue', 100)\n return\n }\n\n if (formElements && formElements.length !== 0) {\n let totalCount = 0\n let fillNum = 0\n for (let i = 0; i < formElements.length; i++) {\n const element = formElements[i]\n if (element.type !== 'button' && element.type !== 'fieldset' && element.type !== 'submit') {\n totalCount++\n if (!isEmpty(element.value)) {\n fillNum++\n }\n }\n }\n const progressValue = Math.round((fillNum / totalCount) * 100)\n sessionStorage.setItem('progressValue', progressValue)\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n return true\n }\n\n showCoborrower = () => {\n const { hascoborrower } = this.props\n const { married } = this.props.application\n if (hascoborrower === \"withcoborrower\" && married)\n return true\n if (hascoborrower === \"multiple\" && married)\n return true\n return false\n }\n\n totalExpenses = getTotalExpenses.bind(this)\n\n updateJointly = (e) => {\n com.touch()\n const f = e.target.value === 'true'\n this.props.updateJointly({ target: { checked: f } })\n }\n\n processOtherCredits = (val, index) => {\n if (null === val) return ''\n\n const { altname, creditor, account, key } = val\n\n return this.renderRow(index, altname, creditor, account, key)\n }\n\n addOtherCredits = (e) => {\n com.touch()\n\n const val = e.target.value === 'true'\n if (!val) {\n this.props.clearBorrowerAdditionalCredits(0, this.props.who)\n } else {\n this.props.addBorrowerAdditionaCredits(0, this.props.who)\n }\n }\n\n updateFinancesCheck = (verb) => {\n return (e) => {\n const val = e.target.value === 'true'\n this.props.updateFinances(val, this.props.who, verb)\n }\n }\n updateFinances = (verb) => {\n return (e) =>\n this.props.updateFinances(e.target.value, this.props.who, verb)\n }\n\n freeAndClear = (e) => {\n com.touch()\n const t = e === 'true'\n this.props.changeBorrowerFreeAndClear(t)\n }\n\n filterNonDuplicates = (loan) => {\n return loan.correction !== 'duplicate'\n }\n\n getFilteredLoans = () => {\n const { loans } = this.props.application.assetsandliabilities\n return loans == null\n ? null\n : loans.filter(this.filterNonDuplicates).filter(isMortgageLoan)\n }\n getUnfilteredIndex = (index) => {\n const { loans } = this.props.application.assetsandliabilities\n\n let acc = 0\n for (let i = 0; i < loans.length; i++) {\n const loan = loans[i]\n if (isMortgageLoan(loan) && this.filterNonDuplicates(loan)) {\n if (acc === index) return i\n acc += 1\n }\n }\n alert('should not be here')\n return -1\n }\n\n processSteps = (val, index) => {\n if (null === val) return ''\n\n const { name, address, accountnumber, monthlypayment, remainingbalance, satisfiedupon, monthslefttopay, key } = val\n\n return this.renderLoanStep(\n index,\n name,\n address,\n accountnumber,\n monthlypayment,\n remainingbalance,\n monthslefttopay,\n satisfiedupon,\n key\n )\n }\n process = (val, index) => {\n if (null === val) return ''\n\n const { name, address, accountnumber, monthlypayment, remainingbalance, satisfiedupon, monthslefttopay, key } = val\n\n return this.renderLoan(\n index,\n name,\n address,\n accountnumber,\n monthlypayment,\n remainingbalance,\n monthslefttopay,\n satisfiedupon,\n key,\n true\n )\n }\n\n updateApplicationAttribute = (val) => {\n this.props.updateApplicationAttribute(\n { target: { value: val } },\n 'loanbalance'\n )\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.liabilities) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, liabilities: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n handleSubmit = (event) => {\n const { presentaddressownership, expenses } = this.props.application[this.props.who]\n if (presentaddressownership === null) {\n alert(\"Please specify present address ownership!\")\n return false\n }\n if (presentaddressownership === st.O_Rent && !expenses.currentrent) {\n alert('Please enter your monthly rent payment!')\n return false\n }\n\n return true\n }\n\n processAlimonies = (val, index) => {\n if (null === val) return \"\"\n const { amount, alimonyorsupport, key } = val\n return this.generateAlimony(index, amount, alimonyorsupport, key)\n }\n\n generateAlimony = (index, amount, alimonyorsupport, key) => {\n index = parseInt(index)\n const removeAlimony = (event) => {\n com.touch()\n this.props.removeAlimony(index, this.props.who)\n }\n const changeAlimony = (event) => {\n com.touch()\n this.props.changeAlimony(event, this.props.who, index)\n }\n const addAlimony = (event) => {\n com.touch()\n return this.props.addAlimony(event, this.props.who)\n }\n const updateWhat = (event) => {\n com.touch()\n this.props.changePaymentType(event, this.props.who, index)\n }\n\n const { alimony } = this.props.application[this.props.who].finances\n\n return (\n
\n \n
\n \n \n \n Payment type\n
\n { updateWhat({ target: { value: e } }) }}\n >\n Alimony\n Child Support\n Separate Maintenance\n Job Related Expenses\n Other\n \n
\n
\n \n \n \n Monthly amount\n
\n { changeAlimony(e) }}\n pattern=\"^[a-zA-Z0-9 !-:,&()'?#+/@]+$\"\n />\n
\n \n Please provide the name of the bank/credit union.\n \n
\n \n \n \n \n {alimony.length < 3 && index === alimony.length - 1 ? (\n \n ) : (\n \n )}\n \n \n \n \n )\n }\n\n getIcon = (index) => {\n const loans = this.getFilteredLoans()\n\n const a = loans[index]\n const creditLoanType = a.creditloantype.toLowerCase()\n const mapit = () =>\n creditLoanType.indexOf('mortgage') >= 0\n ? '1'\n : creditLoanType.indexOf('homeequity') >= 0 || creditLoanType.indexOf('realestate') >= 0\n ? '2'\n : creditLoanType.indexOf('education') >= 0\n ? '3'\n : creditLoanType.indexOf('auto') >= 0\n ? '4'\n : creditLoanType.indexOf('card') >= 0 || creditLoanType.indexOf('charge') >= 0\n ? '5'\n : creditLoanType.indexOf('medical') >= 0\n ? '6'\n : creditLoanType.indexOf('collection') >= 0\n ? '7'\n : '8'\n\n switch (mapit(a)) {\n case '1':\n return \n case '2':\n return \n case '3':\n return \n case '4':\n return \n case '5':\n return \n case '6':\n return \n case '7':\n return \n default:\n return ''\n }\n }\n\n getSubjAddress = () => {\n const { address, purpose } = this.props.application.property\n if (address === '') {\n if (purpose !== st.POL_Purchase) {\n return \"the property you're refinancing\"\n } else {\n return \"the property you're purchasing\"\n }\n }\n return address\n }\n\n getFlag = (correction) => {\n if (correction === 'paidbybusiness')\n return \n\n if (correction === 'alreadyclosed')\n return \n if (correction === 'wrongperson')\n return \n if (correction === 'other')\n return \n if (correction === 'duplicate')\n return \n return ''\n }\n\n renderLoan = (\n index,\n name,\n address,\n accountnumber,\n monthlypayment,\n remainingbalance,\n monthslefttopay,\n satisfiedupon,\n key,\n margin\n ) => {\n index = parseInt(index)\n const loans = this.getFilteredLoans()\n\n const isHELOC = () => {\n const loan = loans[index]\n return com.isHeloc(loan)\n }\n const handleClose = (e) => {\n const newshow = { ...this.state.show }\n newshow[index] = false\n this.setState({ show: newshow })\n }\n const showCorrect = (e) => {\n const newshow = { ...this.state.show }\n newshow[index] = true\n this.setState({ show: newshow })\n }\n\n const isPrimary = (trr) => {\n const { purpose } = this.props.application.property\n if (\n purpose !== st.POL_Purchase &&\n (loans[index].forsubjectproperty === true || (trr && loans[index].forsubjectproperty == null))\n ) {\n // see if there is already a loan to refinance\n let alreadyRefinanced = false\n for (let i = 0; i < index; i++) {\n const loan = loans[i]\n\n if (\n loan.forsubjectproperty &&\n (loan.satisfiedupon === 'withproceeds' || (trr && loan.satisfiedupon == null))\n ) {\n alreadyRefinanced = true\n break\n }\n }\n if (alreadyRefinanced) {\n return false\n }\n return true\n }\n return false\n }\n\n const changeBorrowerLoanSatisfiedUpon = (event) => {\n com.touch()\n\n const { purpose } = this.props.application.property\n if (isMortgage() && purpose === st.POL_Refinance && event.target.value === 'withproceeds') {\n // see if there is already a loan to refinance\n let alreadyRefinanced = false\n for (let i = 0; i < index; i++) {\n const loan = loans[i]\n if (loan.forsubjectproperty === true && loan.satisfiedupon === 'withproceeds') {\n alreadyRefinanced = true\n break\n }\n }\n if (alreadyRefinanced) {\n this.setState({ observedIndex: index, showWarning: true })\n return\n }\n }\n this.props.changeBorrowerLoanSatisfiedUpon(\n event,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n\n const changeExplanation = (e) => {\n com.touch()\n this.props.changeBorrowerLoanExplanation(\n e,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n\n const correctionChecked = (e) => {\n com.touch()\n this.props.changeBorrowerLoanCorrection(\n e,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n\n const changeBorrowerLoanForSubject = (e) => {\n com.touch()\n const val = e.target.value === 'true'\n\n this.props.changeBorrowerLoanForSubject(\n val,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n if (isPrimary(val)) {\n this.props.changeBorrowerLoanSatisfiedUpon(\n { target: { value: 'withproceeds' } },\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n this.getBalancePayment()\n }\n\n const changeBorrowerLoanForPrimary = (e) => {\n com.touch()\n const val = e.target.value === 'true'\n\n this.props.changeBorrowerLoan(\n val,\n this.getUnfilteredIndex(index),\n 'forprimaryresidence'\n )\n }\n\n const displayOwnership = () => {\n const borrowerName = `${this.props.application.borrower.firstname} ${this.props.application.borrower.lastname}`\n const coBorrowerName = `${this.props.application.coborrower.firstname} ${this.props.application.coborrower.lastname}`\n switch (loans[index].attribution) {\n case 1:\n return borrowerName\n case 2:\n return coBorrowerName\n case 3:\n return 'Joint'\n default:\n return 'Unknown'\n }\n }\n\n const onMonthlyChange = (e) => {\n com.touch()\n this.props.changeBorrowerLoanMonthly(\n e,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n\n const displayMonthly = () => {\n const loans = this.getFilteredLoans()\n\n const liability = loans[index]\n const userinput = liability.monthlydefinedbycustomer\n\n if (userinput) {\n return (\n \n \n \n Enter the monthly payment\n \n \n )\n }\n return '$' + com.commaize(loans[index].monthlypayment)\n }\n\n const askHowToPay = () => {\n if (parseInt(loans[index].remainingbalance) > 0) {\n if (loans[index].name === 'AMEX') {\n if (loans[index].satisfiedupon) {\n changeBorrowerLoanSatisfiedUpon({\n target: { value: 'withownfunds' },\n })\n }\n\n return (\n
\n
\n Will you\n pay the balance before this transaction?\n
\n \n
\n
\n
\n \n \n Yes, I will\n \n
\n
\n \n \n No, I won't\n \n
\n
\n
\n \n Please make your choice.\n \n
\n
\n )\n }\n\n const canPayoffWithLoanProceeds = () => {\n const { purpose } = this.props.application.property\n const loans = this.getFilteredLoans()\n\n if (purpose === st.POL_Cashoutrefinance)\n return true\n if (purpose === st.POL_Purchase)\n return false\n\n if (isHELOC()) {\n if (purpose === st.POL_Refinance && false === loans[index].partoforiginalpurchase)\n return false\n }\n\n // refinance /cashout left\n if (loans[index].forsubjectproperty === true) return true\n if (loans[index].partoforiginalpurchase) return true\n return false\n }\n\n const paidOff = () => {\n return (\n \n Will this balance be paid off at the time of (or before) this transaction?{' '}\n \n This question should be answered having several things in mind:\n
    \n
  • \n Are you refinancing this loan? Answer \"Yes, I'm refinancing this loan\"\n
  • \n
  • Are you paying the loan back? For example, you're selling your previous residence. Answer: \"Yes, I'm it paying it off myself \".
  • \n
  • Closing some credit card balances can also be helpful in lowering your debt payments, and improving your odds of getting qualified for a new loan.
  • \n
  • Answer No, if you're keeping the loan as is
  • \n
\n \n }\n />\n
\n )\n }\n\n if (!showBalancePaidOff()) return ''\n\n return (\n
\n
\n {paidOff()}\n
\n \n
\n
\n {canPayoffWithLoanProceeds() && (\n
\n \n \n {isPrimary() ? \"Yes, I'm refinancing this loan\" : \"Yes, I'm paying it off with the loan proceeds\"}\n \n
\n )}\n
\n \n \n Yes, I'm paying it off myself\n \n
\n
\n \n \n No, I won't\n \n
\n
\n
\n \n Please make your choice.\n \n
\n
\n )\n }\n\n return ''\n }\n\n const changePropertyAddress = (event) => {\n com.touch()\n this.props.changeBorrowerLoan(\n event.target.value,\n this.getUnfilteredIndex(index),\n 'propertyaddress'\n )\n }\n\n const isMortgage = () => {\n const creditLoanType = loans[index].creditloantype.toLowerCase()\n return (\n creditLoanType.indexOf('mortgage') >= 0 ||\n creditLoanType.indexOf('homeequity') >= 0 ||\n creditLoanType.indexOf('realestate') >= 0\n )\n }\n\n const correction = loans[index].correction\n\n let crossed = ''\n if (['wrongperson', 'alreadyclosed', 'other', 'duplicate'].includes(correction))\n crossed = ' crisscrossed'\n if (correction === 'paidbybusiness' || correction === 'alreadyclosed')\n crossed = ' greencrisscrossed'\n\n let mt5 = ' mt-4'\n if (index === 0) mt5 = ''\n\n const onRateChange = (e) => {\n com.touch()\n this.props.changeBorrowerLoanRate(\n e,\n this.getUnfilteredIndex(index),\n this.props.who\n )\n }\n\n const changePartOfOriginal = (e) => {\n const r = e.target.value === 'true'\n this.props.changeBorrowerLoan(\n r,\n this.getUnfilteredIndex(index),\n 'partoforiginalpurchase'\n )\n }\n\n const showAddress = () => {\n if (!isMortgage()) return false\n\n const { purpose } = this.props.application.property\n const { financingsameproperty } = this.props.application\n if (\n purpose !== st.POL_Purchase &&\n false === loans[index].forsubjectproperty &&\n financingsameproperty\n )\n return true\n\n if (purpose === st.POL_Purchase && false === loans[index].forprimaryresidence)\n return true\n\n if (\n purpose !== st.POL_Purchase &&\n false === financingsameproperty &&\n false === loans[index].forprimaryresidence\n )\n return true\n\n return false\n }\n\n const showBalancePaidOff = () => {\n if (isMortgage()) {\n const { forsubjectproperty, forprimaryresidence } = loans[index]\n if (forsubjectproperty == null && forprimaryresidence == null)\n return false\n\n const { purpose } = this.props.application.property\n if (purpose !== st.POL_Purchase && forsubjectproperty)\n return false\n\n return true\n }\n return true\n }\n\n let style = {}\n if (loans[index].forsubjectproperty === true && crossed === '') {\n style = {\n backgroundImage: 'url(\"/housemoney.png\")',\n position: 'relative',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'bottom 0px right 50px',\n backgroundSize: 'auto 100%',\n }\n }\n\n const theRest = () => {\n const ital = 'ml-3 font-weight-light'\n switch (loans[index].correction) {\n case 'duplicate':\n return (\n
\n This entry is a duplicate, and won't be counted\n against your debt\n
\n )\n case 'wrongperson':\n return (\n
\n This entry does not belong to you, and won't be\n counted against your debt\n
\n )\n case 'alreadyclosed':\n return (\n
\n This loan is already closed, and won't be counted\n against your debt\n
\n )\n case 'paidbybusiness':\n return (\n
\n This loan is paid by business, and won't be counted\n against your debt\n
\n )\n case 'other':\n return (\n
\n This loan won't be counted against your debt\n
\n )\n default:\n break\n }\n\n if (crossed !== '') return ''\n\n const showQuestionForPrimary = () => {\n if (this.props.application.property.purpose === st.POL_Purchase)\n return ''\n // only refinance\n if (false !== loans[index].forsubjectproperty) return ''\n if (false !== this.props.application.financingsameproperty)\n return ''\n\n return askPrimary()\n }\n\n const askPrimary = () => {\n return (\n
\n \n
\n \n Is this a loan for {com.getPrimaryAddress(this.props.who, this.props.application)}?\n \n
\n
\n \n \n Yes, it is\n \n
\n
\n \n \n No, it isn't\n \n
\n
\n \n \n \n )\n }\n\n const { purpose } = this.props.application.property\n const { forsubjectproperty, rate, propertyaddress, partoforiginalpurchase } = loans[index]\n\n return (\n
\n {purpose !== st.POL_Purchase && isMortgage() && (\n \n
\n \n Is this a loan for {this.getSubjAddress()}?\n \n
\n
\n \n \n Yes, it is\n \n
\n
\n \n \n No, it isn't\n \n
\n
\n \n \n )}\n\n {showQuestionForPrimary()}\n\n {forsubjectproperty === true && purpose !== st.POL_Purchase && !isHELOC() && isPrimary() && (\n \n
\n \n \n {' '}\n What is your current rate?{' '}\n \n\n \n \n \n \n %\n \n \n \n\n
\n \n Please provide description.\n \n
\n
\n \n \n )}\n\n
\n {showAddress() && (\n \n )}\n
\n\n {forsubjectproperty === true && isHELOC() && purpose === st.POL_Refinance && (\n \n
\n
\n Was\n this HELOC a part of the original purchase?\n
\n
\n
\n \n \n Yes, it was\n \n
\n
\n \n \n No, it wasn't\n \n
\n
\n \n \n )}\n\n \n
{askHowToPay()}\n \n \n )\n }\n\n if (!margin) {\n mt5 = ''\n }\n\n const toggleShow = () => {\n const expand = this.state.expand\n expand[index] = !expand[index]\n this.setState({ expand })\n\n var content = document.getElementById('card' + index)\n if (!expand[index]) {\n content.style.maxHeight = '0px'\n } else {\n content.style.maxHeight = 2 * content.scrollHeight + 'px'\n }\n }\n\n const askAboutDuplicate =\n !margin &&\n loans[index].correction === 'duplicate' &&\n this.state.stepsandsubsteps[index].dupresolved == null\n\n const askDupe = () => {\n if (index === 0) return 'should not see this'\n\n const onDupe = (e) => {\n const val = e.target.value === 'true'\n const stepsandsubsteps = this.state.stepsandsubsteps\n stepsandsubsteps[index].dupresolved = val\n this.setState({ stepsandsubsteps })\n\n if (!val) {\n com.touch()\n this.props.changeBorrowerLoanCorrection(\n { target: { value: 'none' } },\n this.getUnfilteredIndex(index),\n this.props.who\n )\n setTimeout(() => {\n let stepsandsubsteps = this.recalcStepper()\n this.setState({ stepsandsubsteps })\n }, 1000)\n }\n }\n\n const { dupresolved } = this.state.stepsandsubsteps[index]\n\n return (\n
\n
\n This entry looks like a duplicate of the previous one:{' '}\n {loans[index - 1].name}, acc.{' '}\n {loans[index - 1].accountnumber}, balance: $\n {com.commaizeFloat(loans[index - 1].remainingbalance)}\n
\n Could you please confirm?\n
\n \n
\n
\n
\n \n \n Yes, this is a duplicate\n \n
\n
\n \n \n
\n
\n
\n
\n
\n )\n }\n\n const switchCashout = () => {\n this.setState({ showWarning: false })\n this.props.changeBorrowerLoanSatisfiedUpon(\n { target: { value: 'withproceeds' } },\n this.state.observedIndex,\n this.props.who\n )\n this.props.changeMainPropertyPurpose({\n target: { value: st.POL_Cashoutrefinance },\n })\n }\n\n const originalPurchase = () => {\n this.setState({ showWarning: false })\n\n this.props.changeBorrowerLoanSatisfiedUpon(\n { target: { value: 'withproceeds' } },\n this.state.observedIndex,\n this.props.who\n )\n this.props.changeBorrowerLoan(\n true,\n this.getUnfilteredIndex(index),\n 'partoforiginalpurchase'\n )\n }\n\n return (\n \n {this.setState({ showWarning: false })}}>\n \n \n

Tell us more about these loans

\n
\n
\n \n
\n You indicated that you'd like to refinance more than one loan.\n
\n
This is possible within the limits of rate/term refinance only if these loans were obtained together as a part of a purchase transaction.
\n
Otherwise, we can switch to a cash out refinance. Your rates might be higher. Note, that you can always go back and change your choice.
\n
\n \n
\n \n \n \n \n \n \n \n \n\n \n \n \n

Does this liability need a correction?

\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n
\n {correction !== 'none' && correction !== 'duplicate' && (\n
\n
Please enter an explanation:
\n \n \n Documentation is required to support\n this explanation\n
\n \n )}\n \n
\n \n \n \n \n \n \n\n \n \n
\n {this.getIcon(index)}\n {com.unCamelCase(loans[index].creditloantype)}\n {this.getFlag(correction)}\n
\n \n {margin && (\n
\n \n \n )}\n \n
\n \n
\n
Lender:
\n
{loans[index].name}
\n \n
\n
Account number:
\n
{loans[index].accountnumber}
\n \n\n
\n
Balance:
\n
\n ${com.commaize(loans[index].remainingbalance)}\n
\n \n
\n
Mo. Payment:
\n
{displayMonthly()}
\n \n\n
\n
Mo. left:
\n
\n {Number.isInteger(parseInt(loans[index].monthslefttopay)) ? loans[index].monthslefttopay : 'N/A'}\n
\n \n\n
\n Ownership\n
\n {displayOwnership()}\n \n\n {loans[index].currentratingtype !== 'AsAgreed' && (\n
\n
\n {com.unCamelCase(loans[index].currentratingtype)}\n
\n \n )}\n \n \n
\n {askAboutDuplicate ? (\n askDupe()\n ) : (\n
\n \n
\n \n This record needs correction\n \n Click on this link if\n
    \n
  • \n This loan does not belong to you\n
  • \n
  • \n It has been paid in full\n
  • \n
  • \n The debt has been paid by business\n
  • \n
  • \n This is a duplicate entry (happens quite often!)\n
  • {' '}\n
\n In this case the liability won't be counted, but you will have to supply supporting documents.\n \n }\n placement=\"right\"\n title=\"Correct my mortgage loans\"\n />\n \n \n \n {askAboutDuplicate ? askDupe() : theRest()}\n \n )}\n \n \n )\n }\n\n checkForPrimary = (index) => {\n if (this.props.application.property.purpose !== st.POL_Purchase)\n return true\n\n const loans = this.getFilteredLoans()\n\n if (loans[index].forprimaryresidence === true) return true\n\n const adr = loans[index].propertyaddress\n\n const parsed = parser.parseLocation(adr)\n const subj = parser.parseLocation(this.getSubjAddress())\n if (adr === '') return true\n\n const ret =\n parsed.city.toLowerCase() === subj.city.toLowerCase() &&\n parsed.number.toLowerCase() === subj.number.toLowerCase() &&\n parsed.state.toLowerCase() === subj.state.toLowerCase() &&\n parsed.street.toLowerCase() === subj.street.toLowerCase()\n\n return !ret\n }\n\n checkForSubject = (index) => {\n if (this.props.application.property.purpose === st.POL_Purchase)\n return true\n\n const loans = this.getFilteredLoans()\n\n if (loans[index].forsubjectproperty === true) return true\n\n const adr = loans[index].propertyaddress\n\n const parsed = parser.parseLocation(adr)\n const subj = parser.parseLocation(this.getSubjAddress())\n if (adr === '') return true\n\n const ret =\n parsed.city.toLowerCase() === subj.city.toLowerCase() &&\n parsed.number.toLowerCase() === subj.number.toLowerCase() &&\n parsed.state.toLowerCase() === subj.state.toLowerCase() &&\n parsed.street.toLowerCase() === subj.street.toLowerCase()\n\n return !ret\n }\n\n renderLoanStep = (\n index,\n name,\n address,\n accountnumber,\n monthlypayment,\n remainingbalance,\n monthslefttopay,\n satisfiedupon,\n key\n ) => {\n index = parseInt(index)\n const loans = this.getFilteredLoans()\n\n const { loansreviewed } = this.props.application.assetsandliabilities\n\n const click = () => {\n if (index >= loansreviewed)\n return\n\n this.props.changeReviewedLoans(index)\n }\n\n const onBack = (e) => {\n this.props.changeReviewedLoans(loansreviewed - 1)\n this.setState({ status: 'process' })\n this.props.clearValidate()\n document.getElementById('card' + (index - 1)).scrollIntoView({ behavior: 'smooth' })\n }\n\n const onDone = (e) => {\n // if (this.props.checkValidate(e)) {\n if (!this.checkForSubject(index)) {\n alert(\"The address provided is for the property that you're refinancing!\")\n this.setState({ status: 'error' })\n return false\n }\n if (!this.checkForPrimary(index)) {\n alert(\"The address provided is for the property that you're purchasing!\")\n this.setState({ status: 'error' })\n return false\n }\n this.setState({ status: 'process' })\n this.props.changeReviewedLoans(loansreviewed + 1)\n }\n\n let grayifneeded = ''\n if (index > loansreviewed)\n grayifneeded = 'graytext'\n\n const correction = loans[index].correction\n const dd = (\n
\n {index === loansreviewed ? (\n
\n \n
\n {this.renderLoan(\n index,\n name,\n address,\n accountnumber,\n monthlypayment,\n remainingbalance,\n monthslefttopay,\n satisfiedupon,\n key,\n false\n )}\n \n \n \n \n \n This record looks good to me\n \n \n \n {loansreviewed > 0 && (\n \n )}\n \n \n \n ) : (\n \n \n
\n {this.getIcon(index)}\n {com.unCamelCase(loans[index].creditloantype)}\n {this.getFlag(correction)}\n
\n \n
{loans[index].name}\n \n )}\n \n )\n\n const tt = ''\n const dup = loans[index].correction === 'duplicate'\n\n return (\n \n )\n }\n\n nbsp = () => {\n return (\n
\n  \n
\n  \n
\n )\n }\n\n renderStepper = () => {\n const { loansreviewed, loans } = this.props.application.assetsandliabilities\n const { stepsandsubsteps } = this.state\n if (stepsandsubsteps.length === 0) return ''\n\n const current = loansreviewed == null ? 0 : loansreviewed\n const inx = stepsandsubsteps[current].steps\n const ss = stepsandsubsteps[current].substeps\n\n return (\n
\n
\n Please review your existing mortgages and mark the ones that are already paid off or invalid by clicking on the Needs Correction link\n
\n \n {loans.filter(this.filterNonDuplicates).filter(isMortgageLoan).map(this.processSteps)}\n \n
\n )\n }\n\n renderCore = () => {\n const filteredLoans = this.getFilteredLoans()\n if (filteredLoans == null) {\n return ''\n }\n\n const { loans, loansreviewed } = this.props.application.assetsandliabilities\n if (loans !== null && loans.length === 1 && loans[0].name === 'Estimated') {\n if (loansreviewed === 0) {\n this.props.changeReviewedLoans(1)\n }\n return ''\n }\n\n if (loansreviewed == null || loansreviewed < filteredLoans.length) {\n return this.renderStepper()\n } else {\n return (\n
\n {loans && loans.filter(this.filterNonDuplicates).filter(isMortgageLoan).map(this.process)}\n
\n )\n }\n }\n\n onStreetAddressCompletion = (address, index, who) => {\n const num = com.getSubaddress(address, 'street_number', 'long_name')\n const city = com.getSubaddress(address, 'locality', 'long_name')\n const zip = com.getSubaddress(address, 'postal_code', 'long_name')\n const county = com.getSubaddress(address, 'administrative_area_level_2', 'long_name')\n const longstate = com.getSubaddress(address, 'administrative_area_level_1', 'long_name')\n const short = com.getSubaddress(address, 'route', 'short_name')\n const stradd = num + ' ' + short\n\n const changeOwnedProperty = who === com.borrower ? this.props.changeBorrowerOwnedProperty : this.props.changeCoborrowerOwnedProperty\n changeOwnedProperty(stradd, index, 'address')\n changeOwnedProperty(longstate, index, 'state')\n changeOwnedProperty(county, index, 'county')\n changeOwnedProperty(city, index, 'city')\n changeOwnedProperty(zip, index, 'zipcode')\n }\n\n addOtherProperties = (e, who) => {\n com.touch()\n\n const val = e === 'true'\n const { presentaddressownership, ownedproperties } = this.props.application[who]\n const addOwnedProperty = who === com.borrower ? this.props.addBorrowerOwnedProperty : this.props.addCoborrowerOwnedProperty\n const removeOwnedProperty = who === com.borrower ? this.props.removeBorrowerOwnedProperty : this.props.removeCoborrowerOwnedProperty\n const clearOwnedProperty = who === com.borrower ? this.props.clearBorrowerOwnedProperty : this.props.clearCoborrowerOwnedProperty\n const changeOwnedProperty = who === com.borrower ? this.props.changeBorrowerOwnedProperty : this.props.changeCoborrowerOwnedProperty\n\n if (val) {\n if (ownedproperties.length > 1) return\n addOwnedProperty()\n const additionalLoan = JSON.parse(new st.loan().toJson())\n additionalLoan.creditloantype = 'ConventionalRealEstateMortgage'\n additionalLoan.key = Math.random().toString()\n const index = presentaddressownership === st.O_Own ? 1 : 0\n changeOwnedProperty([additionalLoan], index, 'loans')\n this.setState({ showPropertyModal: true, currentPropertyIndex: index })\n } else {\n if (presentaddressownership === st.O_Own) {\n for (let i = 1; i < ownedproperties.length; i++) {\n removeOwnedProperty(i)\n }\n } else {\n clearOwnedProperty()\n }\n }\n }\n\n processAdditionalRealEstate = (val, index, who) => {\n if (null === val) return <>\n\n const {\n ownedproperties,\n presentaddressstreet,\n presentaddressstate,\n presentaddresscity,\n presentaddresszip,\n } = this.props.application[who]\n\n const {\n address = presentaddressstreet,\n city = presentaddresscity,\n state = presentaddressstate,\n zipcode = presentaddresszip,\n marketvalue,\n status,\n occupancy,\n insurancemaintenancetaxes,\n } = ownedproperties[index]\n\n const editProperty = (index) => {\n this.setState({ showPropertyModal: true, currentPropertyIndex: index })\n }\n\n const getStatusText = (value) => {\n const statusOptions = [\n { value: 'sold', label: 'Sold' },\n { value: 'pending', label: 'Pending Sale' },\n { value: 'retained', label: 'Retained' },\n ]\n const option = statusOptions.find(item => item.value === value)\n return option ? option.label : 'N/A'\n }\n\n const getOccupancyText = (value) => {\n const occupancyOptions = [\n { value: 'principal', label: 'Primary Residence' },\n { value: 'secondhome', label: 'Second Home' },\n { value: 'investment', label: 'Investment' },\n { value: 'other', label: 'Other' },\n ]\n const option = occupancyOptions.find(item => item.value === value)\n return option ? option.label : 'N/A'\n }\n\n const headerText = () => {\n return [address, city, state, zipcode].filter(Boolean).join(', ')\n }\n\n const { loans } = this.props.application[who].ownedproperties[index]\n\n const getCreditLoanTypeText = (value) => {\n const creditLoanTypeOptions = [\n { value: 'ConventionalRealEstateMortgage', label: 'Conventional real estate mortgage' },\n { value: 'FHARealEstateMortgage', label: 'FHA real estate mortgage' },\n { value: 'VeteransAdministrationRealEstateMortgage', label: 'Veterans administration real estate mortgage' },\n { value: 'USDA-RD', label: 'USDA-RD' },\n { value: 'Other', label: 'Other' },\n ]\n const option = creditLoanTypeOptions.find(item => item.value === value)\n return option ? option.label : 'N/A'\n }\n\n const paidOffAtClosing = (value) => {\n if (value === 'yes') {\n return 'Yes'\n } else if (value === 'no') {\n return 'No'\n }\n return ''\n }\n\n return (\n
\n
\n {/* Header Section */}\n
\n
\n \"property\"\n \n {headerText()}\n
\n
\n
\n
editProperty(index)}>\n Edit\n
\n
\n
\n {/* Content Section */}\n
\n {/* Property Info Section */}\n
\n
Property info
\n
\n
\n
Property value
\n
{`$${com.commaize(marketvalue)}`}
\n
\n
\n
Status
\n
{getStatusText(status)}
\n
\n
\n
Intended occupancy
\n
{getOccupancyText(occupancy)}
\n
\n
\n
Monthly Insurance,Taxes, Association Dues, etc
\n
{`$${com.commaize(insurancemaintenancetaxes)}`}
\n
\n
\n
\n\n {/* Divider */}\n {loans.length > 0 &&
}\n\n {/* Mortgage Loans Section */}\n {loans.length > 0 && (\n
\n
Mortgage loans on this property
\n
\n {loans.map(loan => (\n
\n {/* Title */}\n
\n {getCreditLoanTypeText(loan.creditloantype)}\n
\n \n
\n
Lender
\n
{loan.name}
\n \n
\n
Account number
\n
{loan.accountnumber || ''}
\n \n
\n
Unpaid balance
\n
\n {loan.remainingbalance ? `$ ${com.commaize(loan.remainingbalance)}` : ''}\n
\n \n
\n
Mo. payment
\n
\n {loan.monthlypayment ? `$${com.commaize(loan.monthlypayment)}` : ''}\n
\n \n
\n
Paid off at/before closing
\n
{paidOffAtClosing(loan.paidoffatclosing)}
\n \n
\n
Credit limit (optional)
\n
\n {loan.creditlimit ? `$${com.commaize(loan.creditlimit)}` : ''}\n
\n \n \n \n ))}\n \n \n )}\n \n \n \n )\n }\n\n isPreapproval = () => {\n const { hascontract, purpose } = this.props.application.property\n return false === hascontract && purpose === 'purchase'\n }\n\n getExpensesQuestions = (who) => {\n const { presentaddressownership, ownedproperties } = this.props.application[who]\n\n const currentProperty = presentaddressownership !== st.O_Own ? null : !isEmpty(ownedproperties) ? ownedproperties[0] : null\n const additionalProperties = isEmpty(ownedproperties) ? [] : presentaddressownership === st.O_Own ? ownedproperties.slice(1) : ownedproperties\n\n const addOwnedProperty = who === com.borrower ? this.props.addBorrowerOwnedProperty : this.props.addCoborrowerOwnedProperty\n const clearOwnedProperty = who === com.borrower ? this.props.clearBorrowerOwnedProperty : this.props.clearCoborrowerOwnedProperty\n const changeOwnedProperty = who === com.borrower ? this.props.changeBorrowerOwnedProperty : this.props.changeCoborrowerOwnedProperty\n\n const hasAdditionalProperties = () => {\n if (isEmpty(ownedproperties)) {\n return false\n }\n if (presentaddressownership === st.O_Own) {\n return ownedproperties.length > 1\n } else {\n return ownedproperties.length > 0\n }\n }\n\n const {\n presentaddressstreet,\n presentaddressunit,\n presentaddressstate,\n presentaddresscounty,\n presentaddresscity,\n presentaddresszip,\n } = this.props.application[who]\n\n return (\n
\n
\n \n \n \n *What is your current housing situation?\n \n \n {\n clearOwnedProperty()\n this.props.changeBorrowerInfoByValue(e, who, 'presentaddressownership')\n if (e === st.O_Own) {\n addOwnedProperty()\n changeOwnedProperty(presentaddressstreet, 0, 'address')\n changeOwnedProperty(presentaddressunit, 0, 'unit')\n changeOwnedProperty(presentaddresscity, 0, 'city')\n changeOwnedProperty(presentaddressstate, 0, 'state')\n changeOwnedProperty(presentaddresscounty, 0, 'county')\n changeOwnedProperty(presentaddresszip, 0, 'zipcode')\n const additionalLoan = JSON.parse(new st.loan().toJson())\n additionalLoan.creditloantype = 'ConventionalRealEstateMortgage'\n additionalLoan.key = Math.random().toString()\n additionalLoan.address = changeOwnedProperty([additionalLoan], 0, 'loans')\n this.setState({ showPropertyModal: true, currentPropertyIndex: 0 })\n }\n }}\n value={presentaddressownership}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n Please select your current housing situation!\n \n \n
\n\n
\n {currentProperty && this.processAdditionalRealEstate(currentProperty, 0, who)}\n
\n\n {presentaddressownership === st.O_Rent && (\n \n
\n \n \n *How much is your monthly rent payment?\n \n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\n parser={(value) => value.replace(/\\$\\s?|(,*)/g, '')}\n onChange={(e) =>\n this.props.updateExpenses(\n { target: { value: e } },\n who,\n 'currentrent'\n )\n }\n size=\"large\"\n placeholder=\"----\"\n />\n \n Please enter your monthly rent payment!\n \n \n \n \n )}\n\n \n \n \n \n \n Do you currently own any additional properties?\n \n \n this.addOtherProperties(e, who)}\n value={hasAdditionalProperties() ? 'true' : 'false'}\n type=\"radio\"\n direction=\"horizontal\"\n />\n \n \n \n\n
\n {!isEmpty(additionalProperties) && additionalProperties.map((property, index) => {\n // +1 because the first property is current property\n const propertyIndex = presentaddressownership === st.O_Own ? index + 1 : index\n return this.processAdditionalRealEstate(property, propertyIndex, who)\n })}\n
\n {hasAdditionalProperties() && (\n {\n addOwnedProperty()\n const additionalLoan = JSON.parse(new st.loan().toJson())\n additionalLoan.creditloantype = 'ConventionalRealEstateMortgage'\n additionalLoan.key = Math.random().toString()\n changeOwnedProperty([additionalLoan], ownedproperties.length, 'loans')\n this.setState({ showPropertyModal: true, currentPropertyIndex: ownedproperties.length })\n }}\n >\n Add\n \n )}\n \n )\n }\n\n renderAdditionalExpenses = () => {\n return this.getExpensesQuestions(this.props.who)\n }\n\n renderExpenses = () => {\n const { who } = this.props\n\n const clearAlimony = (event) => {\n com.touch()\n this.props.clearAlimonies(event, who)\n }\n\n const addAlimony = (event) => {\n com.touch()\n return this.props.addAlimony(event, who)\n }\n\n const { alimony } = this.props.application[who].finances\n\n return (\n <>\n \n
\n \n Do you have any additional liabilities and expenses, including alimony, child support, separate maintenance, or job-related expenses?\n \n \n \n \n \n \n {\n if (e === 'true') {\n addAlimony()\n } else {\n clearAlimony()\n }\n }}\n value={(null != alimony && alimony.length > 0) ? \"true\" : \"false\"}\n type='radio'\n direction=\"horizontal\"\n />\n \n \n \n\n {!isEmpty(alimony) && alimony.map(this.processAlimonies)}\n \n )\n }\n\n render = () => {\n const { who, borrowerid, loadingcr, message } = this.props\n const { ownedproperties, presentaddressownership } = this.props.application[who]\n const { warnings } = this.props.application.assetsandliabilities\n const { currentPropertyIndex, showPropertyModal } = this.state\n\n return (\n
\n
\n Finance\n /\n Liabilities\n
\n this.setState({ showPropertyModal: false })}\n ownership={presentaddressownership}\n ownedproperties={ownedproperties}\n propertyIndex={currentPropertyIndex}\n changeOwnedProperty={\n who === com.borrower ? this.props.changeBorrowerOwnedProperty : this.props.changeCoborrowerOwnedProperty\n }\n onSubmit={(formData) => {\n this.setState({ showPropertyModal: false })\n }}\n />\n\n {!isEmpty(warnings) && borrowerid && warnings.map((warning, index) => (\n \n {warning}\n \n ))}\n\n {loadingcr ? (\n
\n
\n \n
\n
\n ) : (\n
\n {this.renderCore()}\n {this.renderAdditionalExpenses()}\n {this.renderExpenses()}\n
\n )}\n\n {message}\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(Liabilities)\n","import React, {useEffect, useState} from \"react\";\nimport {connect} from \"react-redux\";\nimport {Alert, Button, Modal, Row, Col} from \"antd\";\nimport * as act from \"../../Store/actions\"\nimport \"./MyRates.css\";\nimport * as com from \"../../Common\"\nimport {CheckCircleOutlined, CheckCircleFilled} from \"@ant-design/icons\"\n\nconst mapStateToProps = (state) => {\n return {\n property: state.application.property,\n application: state.application,\n progress: state.progress,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n updateExpenses: (event, who, verb) => {\n dispatch(act.UpdateExpenses(event.target.value, who, verb))\n },\n})\n\nfunction MyRates(props) {\n const [notifyingLO, setNotifyingLO] = useState(false)\n const [remindingLO, setRemindingLO] = useState(false)\n const [showReminderSentModal, setShowReminderSentModal] = useState(false)\n\n useEffect(() => {\n props.changeContinueButtonText(\"Declarations\")\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const contactLO = () => {\n setRemindingLO(true)\n const token = sessionStorage.getItem(\"ZeitroA\")\n const tosend = JSON.stringify({ notification: \"productselectionstarted\" })\n fetch('/borrower/notifylo', {\n method: 'POST',\n body: tosend,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n },\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n return;\n }\n setRemindingLO(false)\n setShowReminderSentModal(true)\n }\n ).catch((err) => {\n setRemindingLO(false)\n console.log('Fetch Error :', err);\n });\n }\n\n const showAlert = () => {\n const selectedLoan = props.application.selection.selectedloan\n if (selectedLoan.hash !== \"\") {\n return
\n
\n \"checkEmail\"\n
\n
\n
You've selected a rate!
\n
Your loan officer will review your application and get in touch about what comes next.
\n
\n
\n }\n const loSelection = props.application.selection.loSelectedLoans\n if (loSelection.length === 0) {\n return
\n
\n \"maganifier\"\n
\n
\n
Your officer is working on your rates
\n
Your Loan Officer is reviewing your documents and you will be notified by email when this page is updated with your rate.
\n \n
\n
\n }\n\n return (\n
\n \n \"checkEmail\"\n
Your loan officer has chosen {loSelection.length} rates for you!
\n
\n }\n className=\"mt-2\"\n type=\"info\"\n closable\n />\n \n )\n }\n\n const chooseRate = (loan) => {\n props.updateSelectField(loan, \"selectedloan\")\n\n const { futuremortgageinsurance } = props.application.borrower.expenses\n if ((futuremortgageinsurance === '' || futuremortgageinsurance === '0') && loan.pmi !== 0) {\n const insurance = (parseFloat(loan.monthly_payment) * loan.pmi).toFixed(2)\n\n props.updateExpenses({ target: { value: \"monthly\" } }, \"borrower\", \"futuremortgageinsuranceperiod\")\n props.updateExpenses({ target: { value: insurance } }, \"borrower\", \"futuremortgageinsurance\")\n } else {\n if (loan.pmi === 0) {\n props.updateExpenses({ target: { value: 0 } }, \"borrower\", \"futuremortgageinsurance\")\n }\n }\n\n notifyLO(loan)\n }\n\n const notifyLO = (rate) => {\n setNotifyingLO(true)\n const token = sessionStorage.getItem(\"ZeitroA\")\n const tosend = JSON.stringify({\n base_rate: String(rate.base_rate),\n apr: String(rate.APR),\n monthly_payment: String(rate.monthly_payment),\n closing_cost: String(rate.closing_cost),\n points: String(rate.points),\n amortization: String(rate.amortization),\n term: String(rate.Term),\n mtype: String(rate.Mtype),\n loansize: String(rate.loansize),\n downpayment: String(rate.downpayment),\n })\n fetch('/borrower/notifyloaboutchosenrate', {\n method: 'POST',\n body: tosend,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\"\n },\n }).then(\n response => {\n if (response.status !== 200) {\n console.log('Looks like there was a problem. Status Code: ' +\n response.status)\n setNotifyingLO(false)\n return;\n } else {\n setNotifyingLO(false)\n alert(\"Your loan officer has been notified! They will be in contact with you shortly to discuss your application and provide further guidance.\")\n }\n }\n ).catch((err) => {\n setNotifyingLO(false)\n console.log(err)\n });\n }\n\n const getLTV = () => {\n const { purpose, salesprice, appraisal } = props.property\n const { loanbalance } = props.application\n const { downpayment, paydown } = props.application.selection\n if (purpose === \"purchase\") {\n return Math.floor(100 * (parseFloat(salesprice)-parseFloat(downpayment)) / parseFloat(salesprice))\n } else {\n return Math.ceil(100 * (parseFloat(appraisal)-parseFloat(paydown)-com.safeParseInt(loanbalance)) / parseFloat(appraisal))\n }\n }\n\n const displayLoSelectedRateCard = (rate, i) => {\n const isSelected = rate.hash === props.application.selection.selectedloan.hash\n\n const getDownpayment = () => {\n if (rate.purpose === \"purchase\") {\n return \"$\"+com.commaize(rate.downpayment)+\"/\"+getLTV()+\"%\"\n } else if (rate.purpose === \"cashoutrefinance\") {\n return \"$\"+com.commaize(rate.cashout)+\"/\"+getLTV()+\"%\"\n } else {\n return \"$\"+com.commaize(rate.paydown)+\"/\"+getLTV()+\"%\"\n }\n }\n\n const getDownpaymentTitle = () => {\n if (rate.purpose === \"purchase\") {\n return \"Down payment/LTV\"\n } else if (rate.purpose === \"cashoutrefinance\") {\n return \"Cash out/LTV\"\n } else {\n return \"Paydown principal/LTV\"\n }\n }\n\n const getAmortization = (value) => {\n switch (value) {\n case 'arm56':\n return 'ARM 5/6'\n case 'arm76':\n return 'ARM 7/6'\n case 'arm106':\n return 'ARM 10/6'\n default:\n return 'Fixed'\n }\n }\n\n return (\n
\n
\n
\n
\n \"rates\"\n
\n
My Rate {i+1}
\n
\n {isSelected ? (\n
\n
\n \n
\n \n
\n ) : (\n \n )}\n
\n
\n
\n
Term, type
\n
{rate.Term}, {getAmortization(rate.amortization)}
\n
\n
\n
Loan size
\n
${com.commaize(rate.loansize)}
\n
\n
\n
{getDownpaymentTitle()}
\n
{getDownpayment()}
\n
\n
\n
\n
\n
Rate/APR
\n
{rate.base_rate}%/{rate.APR}%
\n
\n
\n
Mo. payment
\n
${com.commaize(rate.monthly_payment)}
\n
\n
\n
Est. closing costs
\n
${com.commaize(rate.closing_cost)}
\n
\n
\n
Points
\n
{rate.points}%
\n
\n
\n
\n {isSelected ? (\n
\n
\n \n
\n \n
\n ) : (\n \n )}\n
\n
\n )\n }\n\n return (\n
\n
My Rates
\n {showAlert()}\n
\n {props.application.selection.loSelectedLoans.map((rate, i) => displayLoSelectedRateCard(rate, i))}\n
\n setShowReminderSentModal(false)}>\n OK\n \n ]}>\n

Your loan officer has received a reminder to choose your rates. You will receive an email notification once your rates have been selected.

\n
\n
\n )\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MyRates)\n","import React from \"react\";\n\ninterface PDFViewerProps {\n src: string;\n fileName: string;\n}\n\nconst PDFViewer: React.FC = ({ src, fileName }) => {\n return (\n
\n \n
\n );\n};\n\nexport default PDFViewer;\n","/**\n * Format a number to a USD currency string\n * @param number - The number to format\n * @returns The formatted currency string\n */\nexport const USDollarCurrencyLocale = new Intl.NumberFormat(\"en-US\", {\n maximumFractionDigits: 0,\n style: \"currency\",\n currency: \"USD\",\n});\n\n/**\n * Check if an email is valid\n * @param email - The email to check\n * @returns true if the email is valid, false otherwise\n */\nexport const isEmailValid = (email: string) => {\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\n};\n","import { Col, Row, Typography } from \"antd\";\nimport { USDollarCurrencyLocale } from \"./utils\";\nimport moment from \"moment\";\n\nimport \"./ClickablePrequalLetterDisplay.css\";\n\nconst { Text } = Typography;\n\ninterface ClickablePrequalLetterDisplayProps {\n purchasePrice: number;\n expirationDate: string;\n active: boolean;\n onClick: () => void;\n}\n\nconst ClickablePrequalLetterDisplay = (\n props: ClickablePrequalLetterDisplayProps\n) => {\n return (\n \n
\n \"Prequal\n \n \n \n Pre-qual Letter\n {\" • \"}\n {USDollarCurrencyLocale.format(props.purchasePrice)}\n \n \n \n Expires on {moment(props.expirationDate).format(\"MMM D, YYYY\")}\n \n \n \n \n );\n};\n\nexport default ClickablePrequalLetterDisplay;\n","import { Typography } from \"antd\";\nconst { Title } = Typography;\n\nexport const PrequalLetterHeader = () => {\n return (\n
\n Pre-qual letter\n
\n );\n};\n","import { Row, Button, Typography } from \"antd\";\nimport \"./NoPrequalLetters.css\";\nconst { Paragraph } = Typography;\n\nexport const NoPrequalLetters = (props: { message?: string }) => {\n const message =\n props.message || \"Your officer is working on your Pre-qual letter.\";\n\n return (\n
\n \n \n \n \n {message}\n \n \n \n \n
\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport { Button, Input, message, Modal, Select } from \"antd\";\nimport { isEmailValid } from \"./utils\";\nimport \"./SharePreQualLetterModal.css\";\nimport { useSelector } from \"react-redux\";\n\ninterface ShareModalProps {\n visible: boolean;\n onClose: () => void;\n}\n\nexport const SharePreQualLetterModal = (props: ShareModalProps) => {\n const { visible, onClose } = props;\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [emailInput, setEmailInput] = useState(\"\");\n const [emailSuggestions, setEmailSuggestions] = useState([]);\n const application = useSelector((state) => (state as any).application);\n const state = useSelector((state) => state);\n\n\n useEffect(() => {\n if (application?.brokerinfo?.email) {\n const suggestions = [\n {\n label: application.brokerinfo.loanofficername,\n value: application.brokerinfo.email,\n },\n ];\n setEmailSuggestions(suggestions);\n }\n }, []);\n\n const handleEmailChange = (value) => {\n console.log(\"value\", value);\n setSelectedEmails(value);\n };\n\n const handleSend = () => {\n if (selectedEmails.length === 0) {\n message.warning(\"Please select at least one email.\");\n return;\n }\n console.log(\"Emails to send:\", selectedEmails);\n // TODO: Send emails\n\n message.success(\"Emails sent successfully!\");\n setSelectedEmails([]);\n onClose();\n };\n\n return (\n \n Cancel\n ,\n \n Send\n ,\n ]}\n >\n
\n \n (option.value + option.label)\n .toLowerCase()\n .includes(input.toLowerCase())\n }\n options={emailSuggestions}\n optionRender={(option) => (\n
{`${option.label} (${option.value})`}
\n )}\n dropdownRender={(menu) => (\n <>\n {menu}\n
\n {\n // stop propagation to prevent the email addresses input from being cleared\n console.log(\"event\", e);\n e.stopPropagation();\n setEmailInput(e.target.value);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Backspace\") {\n // Prevent backspace from deleting the last selected email\n e.stopPropagation();\n }\n }}\n />\n {\n if (\n emailInput &&\n isEmailValid(emailInput) &&\n !selectedEmails.includes(emailInput)\n ) {\n setSelectedEmails([...selectedEmails, emailInput]);\n setEmailInput(\"\");\n } else {\n message.warning(\"Please enter a valid and unique email.\");\n }\n }}\n >\n Add Email\n \n
\n \n )}\n />\n
\n \n );\n};\n","import React, {\n useState,\n useEffect,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport { sortBy } from \"lodash\";\nimport moment from \"moment\";\nimport { Space, message, Row, Button, Typography, Col, Skeleton } from \"antd\";\n\nimport * as com from \"../../Common.js\";\n\nimport PDFViewer from \"./PDFViewer\";\nimport ClickablePrequalLetterDisplay from \"./ClickablePrequalLetterDisplay\";\nimport { PrequalLetterHeader } from \"./PrequalLetterHeader\";\nimport { NoPrequalLetters } from \"./NoPrequalLetters\";\nimport { SharePreQualLetterModal } from \"./SharePreQualLetterModal\";\nimport \"./PrequalLetterHistory.css\";\n\nconst { Text } = Typography;\n\n// Define the structure of the data\ninterface PreQualLetter {\n serialID: string;\n issueDate: string;\n loanAmount: string;\n expirationDate: string;\n}\n\nconst PreQualLetterHistory = forwardRef((props, ref) => {\n let token = com.getUserToken();\n const paths = window.location.pathname.split(\"/\");\n const loanID = paths[paths.length - 1];\n\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n const [trigger, setTrigger] = useState(0);\n const [pdfUrl, setPdfUrl] = useState(\"\");\n const [currentLetterIndex, setCurrentLetterIndex] = useState(0);\n const [isSendEmailModalOpen, setIsSendEmailModalOpen] = useState(false);\n\n const fetchData = async () => {\n try {\n // Only set loading if there are no letters, if there are letters but\n // we are refetching the letters, we should set loading to true\n if (data.length === 0) {\n setLoading(true);\n }\n\n const response = await fetch(\n \"/borrower/get_all_prequal_letters_for_loan\",\n {\n method: \"POST\",\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n },\n body: JSON.stringify({ loanid: loanID }),\n }\n );\n const rawData = await response.json();\n const sortedData = sortBy(\n rawData,\n (record) => -moment(record.issueDate).unix()\n );\n setData(sortedData);\n setLoading(false);\n } catch (error) {\n message.error(\"Failed to fetch data\");\n setLoading(false);\n }\n };\n\n useImperativeHandle(ref, () => ({\n fetchData,\n }));\n\n useEffect(() => {\n let ignore = false;\n fetchData();\n return () => {\n ignore = true;\n };\n }, [trigger]);\n\n useEffect(() => {\n if (data.length > 0) {\n getPDFContent(data[currentLetterIndex].serialID);\n }\n }, [data]);\n\n const getPDFContent = async (documentSerialID: string) => {\n setPdfUrl(\"\");\n const response = await fetch(`/borrower/get_one_prequal_letter`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n },\n body: JSON.stringify({ documentSerialID }),\n });\n\n const pdfBlob = await response.blob(); // Fetch PDF as Blob\n const pdfBlobUrl = URL.createObjectURL(pdfBlob); // Convert Blob to URL\n setPdfUrl(`${pdfBlobUrl}`); // Set Blob URL for iframe\n };\n\n const handleOpenSendEmailModal = () => {\n setIsSendEmailModalOpen(true);\n };\n\n const handleCloseSendEmailModal = () => {\n setIsSendEmailModalOpen(false);\n };\n\n return (\n
\n \n {loading && }\n {!loading && (\n
\n {data.length === 0 && }\n {data.length > 0 && (\n
\n \n \n \n \n \n \n \n \"Share\"\n Share\n \n \n \n
\n \n Pre-qual letter history\n \n \n\n \n\n \n \n
\n {data.map((dataRow, index) => {\n return (\n {\n getPDFContent(dataRow.serialID);\n setCurrentLetterIndex(index);\n }}\n active={\n dataRow.serialID ===\n data[currentLetterIndex].serialID\n }\n />\n );\n })}\n
\n \n
\n \n {pdfUrl ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n )}\n \n )}\n \n );\n});\nexport default PreQualLetterHistory;\n","import React, { Component, useRef, useEffect, useState } from \"react\";\nimport \"../App.css\";\nimport * as com from \"../Common\";\nimport { Slider, Handles, Tracks, Rail, Ticks } from \"react-compound-slider\";\n\n\nfunction Tick({ tick, count, maxval }) {\n return (\n
\n \n 1000000 ? \"font_rotate\" : \"\"}\n style={{\n position: \"absolute\",\n marginTop: 22,\n fontSize: 10,\n textAlign: \"center\",\n marginLeft: `${-(100 / count) / 2}%`,\n width: `${100 / count}%`,\n left: `${tick.percent}%`,\n }}\n >\n {com.commaize(tick.value)}\n
\n \n );\n}\n\nconst RADIUS = 10;\nexport function Handle({ handle: { id, value, percent }, getHandleProps }) {\n const myInput = useRef();\n useEffect(() => {\n // Update the document title using the browser API\n\n let knobCtx = myInput.current.getContext(\"2d\");\n let color2 = \"rgba(0,48,116,1)\";\n let color1 = \"#E9F2FF\";\n let r = RADIUS;\n knobCtx.save();\n knobCtx.setTransform();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color1;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r - 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4 + 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.globalCompositeOperation = \"destination-out\";\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.restore();\n }, []);\n\n return (\n \n \n {/*\n
\n {value}\n
\n */}\n \n );\n}\n\nfunction Track({ source, target, getTrackProps }) {\n return (\n \n );\n}\nconst sliderStyle = {\n // Give the slider some width\n position: \"relative\",\n height: 40,\n touchAction: \"none\",\n};\n\nconst railStyle = {\n position: \"absolute\",\n width: \"100%\",\n height: 10,\n marginTop: 5,\n borderRadius: 5,\n};\n\nexport default class HorizontalSlider extends Component {\n constructor(props) {\n super(props);\n this.id = Math.floor(Math.random() * 10000000);\n }\n\n componentDidMount() {}\n isDisabled = () => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n return fs.length > 0 && fs[0].disabled;\n };\n onUpdate = (e) => {\n if (this.isDisabled()) return;\n\n this.props.onUpdate(e);\n };\n onChange = (e) => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n if (fs.length > 0 && fs[0].disabled) return;\n\n this.props.onChange(e);\n };\n render() {\n return (\n
\n \n
\n\n \n {({ getRailProps }) => (\n \n )}\n \n \n {({ handles, getHandleProps }) => (\n
\n {handles.map((handle) => (\n \n ))}\n
\n )}\n
\n \n {({ tracks, getTrackProps }) => (\n
\n {tracks.map(({ id, source, target }) => (\n \n ))}\n
\n )}\n
\n {this.props.domain[1] !== 0 ? (\n \n {({ ticks }) => (\n
\n {ticks.map((tick) => (\n \n ))}\n
\n )}\n
\n ) : (\n \"\"\n )}\n \n
\n );\n }\n}\n\nfunction AffordabilityTick({ tick, count, maxval }) {\n return (\n
\n 1000000 ? \"font_rotate\" : \"\"}\n style={{\n position: \"absolute\",\n marginTop: 18,\n fontSize: '0.75rem',\n color: '#6E6E72',\n textAlign: \"center\",\n marginLeft: `${-(100 / count) / 2}%`,\n width: `${100 / count}%`,\n left: `${tick.percent}%`,\n }}\n >\n {com.commaize(tick.value)}\n
\n
\n );\n}\n\nexport function AffordabilityHandle({ handle: { id, value, percent }, getHandleProps, domain }) {\n const myInput = useRef();\n const [num, setNum] = useState()\n let splitVal1 = Math.ceil(0.74 * domain[1])\n let splitVal2 = Math.ceil(0.88 * domain[1])\n useEffect(() => {\n // Update the document title using the browser API\n if (myInput.current) {\n let knobCtx = myInput.current.getContext(\"2d\");\n let color2 = \"rgba(0,48,116,1)\";\n let color1 = \"#E9F2FF\";\n let r = RADIUS;\n if (knobCtx) {\n knobCtx.save();\n knobCtx.setTransform();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color1;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r - 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4 + 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.globalCompositeOperation = \"destination-out\";\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.restore();\n }\n }\n\n if (value <= splitVal1) {\n setNum('Affordable')\n } else if ((value <= splitVal2) && (value > splitVal1)) {\n setNum('Moderate')\n } else {\n setNum('Aggressive')\n }\n }, [value]);\n\n return (\n \n
=93) ? '-18px' : '0px', color: value <= splitVal1 ? '#00BE63' : ((value <= splitVal2) && (value > splitVal1)) ? ' #FFAA29' : '#FF2929', fontFamily: 'Roboto', fontWeight: 'bold', fontSize: 11, marginTop: (id === '$$-0') ? -18 : 10 }}>\n {num}\n
\n
\n {/* */}\n \n );\n}\n\nfunction AffordabilityTrack({ source, target, getTrackProps }) {\n return (\n \n );\n}\nconst AffordabilitySliderStyle = {\n // Give the slider some width\n position: \"relative\",\n height: 40,\n touchAction: \"none\",\n};\n\nconst AffordabilityRailStyle = {\n position: \"absolute\",\n width: \"100%\",\n height: 8,\n marginTop: 5,\n borderRadius: 5,\n};\n\nexport class AffordabilityHorizontalSlider extends Component {\n constructor(props) {\n super(props);\n this.id = Math.floor(Math.random() * 10000000);\n }\n\n componentDidMount() { }\n isDisabled = () => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n return fs.length > 0 && fs[0].disabled;\n };\n onUpdate = (e) => {\n if (this.isDisabled()) return;\n\n this.props.onUpdate(e);\n };\n onChange = (e) => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n if (fs.length > 0 && fs[0].disabled) return;\n\n this.props.onChange(e);\n };\n render() {\n return (\n
\n \n
\n\n \n {({ getRailProps }) => (\n \n )}\n \n \n {({ handles, getHandleProps }) => (\n
\n {handles.map((handle) => (\n \n ))}\n
\n )}\n
\n \n {({ tracks, getTrackProps }) => (\n
\n {tracks.map(({ id, source, target }) => (\n \n ))}\n
\n )}\n
\n {this.props.domain[1] !== 0 ? (\n \n {({ ticks }) => (\n
\n {ticks.map((tick) => (\n \n ))}\n
\n )}\n
\n ) : (\n \"\"\n )}\n \n
\n );\n }\n}\n\nexport function HandleSimple({\n handle: { id, value, percent },\n getHandleProps,\n}) {\n const myInput = useRef();\n let r = 8;\n useEffect(() => {\n let knobCtx = myInput.current.getContext(\"2d\");\n let color2 = \"rgb(64, 100, 215)\";\n let color1 = \"rgb(64, 100, 215)\";\n let r = 8;\n knobCtx.save();\n knobCtx.setTransform();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color1;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r - 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.fillStyle = color2;\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4 + 1, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.globalCompositeOperation = \"destination-out\";\n knobCtx.beginPath();\n knobCtx.arc(r, r, r / 4, 0, Math.PI * 2);\n knobCtx.fill();\n knobCtx.restore();\n }, []);\n\n return (\n \n \n {/*\n
\n {value}\n
\n */}\n
\n );\n}\nfunction TrackSimple({ source, target, getTrackProps }) {\n return (\n \n );\n}\nconst sliderSimpleStyle = {\n position: \"relative\",\n height: 10,\n touchAction: \"none\",\n};\n\nconst railSimpleStyle = {\n position: \"absolute\",\n width: \"100%\",\n height: 5,\n marginTop: 7,\n borderRadius: 5,\n backgroundColor: \"black\",\n};\nexport class HorizontalSimpleSlider extends Component {\n constructor(props) {\n super(props);\n this.id = Math.floor(Math.random() * 10000000);\n }\n\n componentDidMount() { }\n isDisabled = () => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n return fs.length > 0 && fs[0].disabled;\n };\n onUpdate = (e) => {\n if (this.isDisabled()) return;\n\n this.props.onUpdate(e);\n };\n onChange = (e) => {\n let fs = window.document.getElementsByTagName(\"fieldset\");\n if (fs.length > 0 && fs[0].disabled) return;\n\n this.props.onChange(e);\n };\n render() {\n return (\n
\n \n
\n\n \n {({ getRailProps }) => (\n \n )}\n \n \n {({ handles, getHandleProps }) => (\n
\n {handles.map((handle) => (\n \n ))}\n
\n )}\n
\n \n {({ tracks, getTrackProps }) => (\n
\n {tracks.map(({ id, source, target }) => (\n \n ))}\n
\n )}\n
\n \n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\n\nconst timedelta = 200\n\nexport default class UpDown extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n }\n if(typeof this.state.minimum === \"undefined\")\n this.state.minimum = 0\n if(typeof this.state.step === \"undefined\")\n this.state.step = 100 \n this.intervalid = 0\n this.intervaldirecton = 0\n this.pressed = false\n }\n up = e => {\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n this.props.onUp() \n }\n down = e => {\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n this.props.onDown() \n }\n downUp = e => {\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n this.intervalid = window.setInterval(this.up, timedelta)\n this.pressed = true\n }\n upUp = e => {\n window.clearInterval(this.intervalid)\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n if(this.pressed)\n this.props.onDone()\n this.pressed = false\n }\n downDown = e => {\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n this.intervalid = window.setInterval(this.down, timedelta)\n this.pressed = true\n }\n upDown = e => {\n window.clearInterval(this.intervalid)\n let fs = window.document.getElementsByTagName(\"fieldset\")\n if (fs.length > 0 && fs[0].disabled)\n return \n if(this.pressed)\n this.props.onDone()\n this.pressed = false\n\n }\n render() {\n return (\n
\n \n \n \n \n \n \n
\n )\n }\n}\n\n","import React, { Component } from \"react\"\n\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport '../App.css'\nimport { Checkbox, Radio } from \"antd\"\n\nexport default class Multiselect extends Component {\n constructor(props) {\n super(props)\n this.ref = React.createRef()\n this.state = {\n value: props.defaultValue,\n\n }\n }\n onChange = (e) => {\n let selectedValues = []\n if(typeof this.props.radio !== \"undefined\" ) {\n\n if(e.target.checked) { \n for(let i = 0; i < this.props.options.length; i++) {\n if (this.props.options[i].id === e.target.id) {\n selectedValues.push(this.props.options[i])\n }\n }\n }\n } else {\n\n if(e.target.checked) {\n selectedValues = this.props.selectedValues\n for(let i = 0; i < this.props.options.length; i++) {\n if (this.props.options[i].id === e.target.id) {\n selectedValues.push(this.props.options[i])\n }\n }\n } else {\n for(let i = 0; i < this.props.selectedValues.length; i++) {\n if (this.props.selectedValues[i].id !== e.target.id) {\n selectedValues.push(this.props.selectedValues[i])\n } \n }\n }\n\n }\n\n this.props.onSelect(selectedValues)\n }\n componentDidMount() {\n\n }\n componentDidUpdate(prevProps) {\n\n }\n\n display = (opt, index) => {\n\n let isChecked = () => {\n\n let id = this.props.options[index].id\n let checked = false\n for (let i = 0; i < this.props.selectedValues.length; i++) {\n if (this.props.selectedValues[i].id === id)\n checked = true\n }\n return checked\n }\n\n let typ = \"checkbox\"\n let name = opt.id\n let callback = this.onChange\n if (typeof this.props.radio !== \"undefined\") {\n typ = \"radio\"\n name = this.props.name\n }\n\n let humanname = opt.name\n if (this.props.optionsmap != null && this.props.optionsmap[humanname])\n humanname = this.props.optionsmap[humanname]\n return \n
\n {/* {typ === 'checkbox' ? callback(e, humanname)}>{humanname} :\n callback(e, humanname)}>{humanname}} */}\n \n
{humanname}
\n \n \n }\n\n render = () => {\n return (\n
\n {this.props.options.map(this.display)}\n
\n\n )\n }\n}","import React, { Component } from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport { service } from '../State'\nimport Container from 'react-bootstrap/Container'\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common.js\"\nimport { tooltipFlat } from '../Common/Tooltip'\nimport { withRouter } from \"react-router-dom\";\nimport Tabs from 'react-bootstrap/Tabs'\nimport Tab from 'react-bootstrap/Tab'\nimport { pointsExplained } from './ProductPicker'\nconst mapStateToProps = (state) => {\n return {\n hascoborrower: state.application.hascoborrower,\n cohabiting: state.application.cohabiting,\n application: state.application,\n property: state.application.property,\n selection: state.application.selection,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n changeBorrowerInfoCheck: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.checked, who, verb))\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n\n updatePreviousAddress: (event, who, verb, n) => {\n dispatch(act.UpdatePreviousAddress(event.target.value, who, verb, n))\n },\n addPreviousAddress: (event, who) => {\n dispatch(act.AddPreviousAddress(event.target.value, who,))\n },\n removePreviousAddress: (event, who, n) => {\n dispatch(act.RemovePreviousAddress(event.target.value, who, n))\n },\n clearPreviousAddress: (event, who) => {\n dispatch(act.ClearPreviousAddress(event.target.value, who))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n changeMainPropertyUnits: (event) => {\n dispatch(act.ChangeMainPropertyUnits(event.target.value))\n },\n changeMainPropertyYearBuilt: (event) => {\n dispatch(act.ChangeMainPropertyYearBuilt(event.target.value))\n },\n changeMainPropertyRefinanceYearAcquired: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceYearAcquired(event))\n },\n changeMainPropertyRefinanceOriginalCost: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceOriginalCost(event))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n addSelectedLoanPrepaid: (service, chargename, period) => {\n dispatch(act.AddSelectedLoanPrepaid(service, chargename, period))\n },\n updatePaymentPeriod: (name, service, period) => {\n dispatch(act.UpdatePaymentPeriod(name, service, period))\n },\n updatePaymentAmount: (name, service, amount) => {\n dispatch(act.UpdatePaymentAmount(name, service, amount))\n },\n updatePrepaidDefault: (name, service, period, prepaidperiods, amount) => {\n dispatch(act.UpdatePrepaidDefault(name, service, period, prepaidperiods, amount))\n },\n addSelectedLoanEstimatedClosingCosts: (cc) => {\n dispatch(act.AddSelectedLoanEstimatedClosingCosts(cc))\n },\n\n\n});\n\n\nclass LoanEstimate extends Component {\n constructor(props) {\n super(props)\n this.state = {\n ltv: 0,\n\n cltv: 0,\n hcltv: 0,\n\n }\n\n this.card = this.props.card\n\n //updatePrepaidDefault: (name, period, prepaidperiods, amount)\n let rate = this.props.card.base_rate / 100 / 360 * this.getLoanSize()\n let name = \"Prepaid Interest\"\n let service = \"prepaids\"\n let days = this.props.card.prepaiddays\n if (\"undefined\" === typeof days)\n days = 15\n if (\"undefined\" !== typeof this.card.lockstatus) {\n if (!this.hasPrepaidInterest()) {\n\n this.props.addSelectedLoanEstimatedClosingCosts(this.props.application.selection.estimatedclosingcosts)\n\n this.props.addSelectedLoanPrepaid(service, name, \"daily\")\n\n this.props.updatePaymentPeriod(name, service, days)\n\n this.props.updatePaymentAmount(name, service, rate)\n } else {\n this.props.updatePrepaidDefault(name, service, \"daily\", days, rate)\n\n }\n } else {\n this.props.updatePrepaidDefault(name, service, \"daily\", days, rate)\n\n }\n }\n componentDidMount() {\n\n }\n hasPrepaidInterest = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n if (null != this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n\n let ret = false\n Object.keys(cc.prepaids).forEach(function (key) {\n\n if (cc.prepaids[key].paymentname === \"Prepaid Interest\" && cc.prepaids[key].amount !== 0) {\n ret = true\n }\n });\n return ret\n }\n\n\n canShopFor = () => {\n\n let cc = this.props.application.selection.estimatedclosingcosts\n if (null != this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n\n let total = 0\n Object.keys(cc.canshopservices).forEach(function (key) {\n total += parseFloat(cc.canshopservices[key].estimateamount)\n });\n this.canShopForFee = total\n let process = (key, index) => {\n return \n
{cc.canshopservices[key].servicename}\n ${com.commaizeFloat(cc.canshopservices[key].estimateamount)}\n \n }\n\n return (\n
\n \n
C. Services you can shop for:\n \n \n \n ${com.commaizeFloat(total)}\n \n \n {Object.keys(cc.canshopservices).map(process)}\n
 
\n \n )\n\n }\n\n cantShopFor = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n\n if (null != this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n\n if (this.card.FHAMIP != null) {\n\n let addFha = () => {\n let found = false\n\n cc.cannotshopservices.forEach(key => {\n if (key.servicename === com.upfrontMI) {\n key.estimateamount = this.card.FHAMIP.upfrontMIP\n found = true\n }\n })\n if (!found) {\n let s = new service()\n s.servicename = com.upfrontMI\n s.estimateamount = this.card.FHAMIP.upfrontMIP\n cc.cannotshopservices.push(s)\n }\n }\n\n addFha()\n\n } else {\n\n for (let i = 0; i < cc.cannotshopservices.length; i++) {\n if (cc.cannotshopservices[i].servicename === com.upfrontMI) {\n cc.cannotshopservices = cc.cannotshopservices.splice(i, 1)\n break\n }\n }\n\n }\n\n let total = 0\n Object.keys(cc.cannotshopservices).forEach(function (key) {\n total += parseFloat(cc.cannotshopservices[key].estimateamount)\n });\n this.cantShopForFee = total\n\n let process = (key, index) => {\n\n return \n
{cc.cannotshopservices[key].servicename}\n ${com.commaizeFloat(cc.cannotshopservices[key].estimateamount)}\n \n }\n\n return (\n
\n \n
B. Services you can't shop for:\n \n \n \n ${com.commaizeFloat(total)}\n \n \n {Object.keys(cc.cannotshopservices).map(process)}\n
 
\n \n )\n }\n totalLoanCost = () => {\n return (\n
\n \n
D. Total Loan Costs (A+B+C):\n \n \n \n ${com.commaizeFloat((this.cantShopForFee + this.canShopForFee + this.originationFees).toFixed(2))}\n \n \n\n
 
\n \n )\n\n }\n otherTotal = () => {\n return (\n
\n \n
I. Total Other Costs (E + F + G + H):\n \n \n \n ${com.commaizeFloat((this.taxFees + this.prepaidFees + this.initialEscrowAtClosingFee +\n this.otherFees).toFixed(2)\n )}\n \n \n\n
 
\n \n )\n }\n\n totalClosing = () => {\n\n let DI = this.cantShopForFee + this.canShopForFee + this.originationFees + this.taxFees + this.prepaidFees + this.initialEscrowAtClosingFee +\n this.otherFees\n\n let lender_credit = this.card.closing_cost < 0 ? -this.card.closing_cost : 0\n\n this.totalclosingcosts = DI + lender_credit\n\n if (this.props.card.lender_credit <= 0) {\n this.totalclosingcosts = DI + this.props.card.lender_credit\n } else {\n this.totalclosingcosts = DI\n }\n let remaining_credits = 0\n if (this.totalclosingcosts < 0) {\n remaining_credits = this.totalclosingcosts\n this.totalclosingcosts = 0\n }\n\n return (\n
\n \n
J. Total Closing Costs:\n \n \n \n ${com.commaizeFloat(this.totalclosingcosts.toFixed(2))}\n \n \n \n D + I\n \n \n ${com.commaizeFloat(DI.toFixed(2))}\n \n \n {this.props.card.lender_credit > 0 ?\n \"\" :\n \n Lender Credit (points)\n \n \n -${com.commaizeFloat(-parseFloat(this.props.card.lender_credit).toFixed(2))}\n \n \n }\n {remaining_credits < 0 ?\n \n Remaining Lender Credit\n \n \n -${com.commaizeFloat(-remaining_credits.toFixed(2))}\n \n \n\n : \"\"}\n
 
\n \n )\n }\n\n taxes = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n\n if (null != this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n let total = parseFloat(cc.recordingandgovernmentfees) + parseFloat(cc.transfertax)\n this.taxFees = total\n\n return (\n
\n \n
E. Taxes and other government fees:\n \n \n \n ${com.commaizeFloat(total)}\n \n \n \n Recording and government fees\n \n\n \n ${com.commaizeFloat(cc.recordingandgovernmentfees)}\n \n \n \n Transfer tax\n \n\n \n ${com.commaizeFloat(cc.transfertax)}\n \n \n\n\n
 
\n \n )\n }\n\n originationCharges = () => {\n let lender_fee = parseFloat(this.props.card.lender_fee)\n //let broker_fee = Math.floor(0.01 * parseFloat(this.props.application.selection.loansize))\n let broker_fee = parseFloat(this.props.card.lender_credit)\n if (broker_fee > 0)\n this.originationFees = lender_fee + broker_fee\n else\n this.originationFees = lender_fee\n return (\n
\n \n
A. Origination charges:\n \n \n \n ${com.commaizeFloat(this.originationFees.toFixed(2))}\n \n \n \n Lender origination fee\n \n \n ${com.commaizeFloat(lender_fee)}\n \n \n {broker_fee > 0 ?\n \n {tooltipFlat(\"Loan points\", pointsExplained,\n \"auto\", \"\")}\n\n \n \n ${com.commaizeFloat(broker_fee.toFixed(2))}\n \n : \"\"}\n
 
\n \n )\n }\n prepaids = () => {\n let cc\n if (\"undefined\" !== typeof this.card.lockstatus) {\n cc = this.props.application.selection.selectedloan.estimatedclosingcosts\n } else {\n cc = this.props.application.selection.estimatedclosingcosts\n }\n\n let total = 0\n Object.keys(cc.prepaids).forEach(function (key) {\n total += Math.ceil(parseFloat(cc.prepaids[key].amount) * parseFloat(cc.prepaids[key].prepaidperiods))\n });\n\n this.prepaidFees = total\n\n let displayPrepaid = (item, index) => {\n return (\n \n
{item.paymentname}\n \n\n \n {parseInt(item.amount) === 0 ? \"$0\" :
\n {item.prepaidperiods} {item.period === \"daily\" ? \"days\" : \"months\"} at ${com.commaizeFloat(item.amount.toFixed(2))}
}\n \n \n )\n }\n\n return (\n
\n \n
F. Prepaids:\n \n \n\n \n \n ${com.commaizeFloat(total.toFixed(2))}\n \n \n {cc.prepaids.map(displayPrepaid)}\n\n
 
\n \n )\n }\n initialescrowatclosing = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n if (\"undefined\" !== typeof this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n\n\n let total = 0\n Object.keys(cc.initialescrowpaymentsatclosing).forEach(function (key) {\n total += parseFloat(cc.initialescrowpaymentsatclosing[key].amount) * parseFloat(cc.initialescrowpaymentsatclosing[key].prepaidperiods)\n });\n\n\n this.initialEscrowAtClosingFee = total\n\n let displayPrepaid = (item, index) => {\n\n return (\n \n
{item.paymentname}\n \n\n \n {parseInt(item.amount) === 0 ? \"$0\" :
\n {item.prepaidperiods} months at ${com.commaizeFloat(item.amount)}
}\n \n \n )\n }\n\n return (\n
\n \n
G. Initial Escrow Payments at Closing::\n \n \n\n \n \n ${com.commaizeFloat(total.toFixed(2))}\n \n \n {cc.initialescrowpaymentsatclosing.map(displayPrepaid)}\n\n
 
\n \n )\n }\n other = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n if (\"undefined\" !== typeof this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n\n let total = 0\n Object.keys(cc.othercosts).forEach(function (key) {\n total += parseFloat(cc.othercosts[key].estimateamount)\n });\n this.otherFees = total\n let process = (key, index) => {\n\n return \n
{cc.othercosts[key].chargename}\n ${com.commaizeFloat(cc.othercosts[key].estimateamount)}\n \n }\n\n return (\n
\n \n
H. Other:\n \n \n \n ${com.commaizeFloat(total)}\n \n \n {Object.keys(cc.othercosts).map(process)}\n
 
\n \n )\n }\n cashtoclose = () => {\n let cc = this.props.application.selection.estimatedclosingcosts\n if (\"undefined\" !== typeof this.card.estimatedclosingcosts)\n cc = this.card.estimatedclosingcosts\n let getDownpayment = () => {\n\n if (\"undefined\" === typeof this.props.card.downpayment) {\n let customerfunds = 0\n\n switch (this.props.property.purpose) {\n case \"purchase\":\n customerfunds = this.props.selection.downpayment\n break;\n case \"refinance\":\n customerfunds = this.props.selection.paydown\n break;\n case \"cashoutrefinance\":\n customerfunds = this.props.selection.cashout\n break;\n default:\n alert(\"should not see this!\")\n break;\n }\n return customerfunds\n }\n\n return this.props.card.downpayment + this.props.card.paydown\n }\n this.finalCashToClose = this.totalclosingcosts + parseFloat(cc.closingcostsfinanced) + getDownpayment() +\n parseFloat(cc.deposit) + parseFloat(cc.fundsforborrower) + parseFloat(cc.sellerscredits)\n + parseFloat(cc.adjustmentsothercredits)\n\n return (\n
\n \n
Calculating Cash to Close:\n \n \n \n \n Total closing costs (J)\n \n \n ${com.commaizeFloat(this.totalclosingcosts.toFixed(2))}\n \n \n \n Closing costs financed\n \n \n ${com.commaizeFloat(cc.closingcostsfinanced)}\n \n \n \n Downpayment/Funds from borrower\n \n \n ${com.commaizeFloat(getDownpayment().toFixed(2))}\n \n \n \n Deposit\n \n \n ${com.commaizeFloat(cc.deposit)}\n \n \n \n Funds for Borrower\n \n \n ${com.commaizeFloat(cc.fundsforborrower)}\n \n \n \n Seller's Credits\n \n \n ${com.commaizeFloat(cc.sellerscredits)}\n \n \n \n Adjustments/Other credits\n \n \n ${com.commaizeFloat(cc.adjustmentsothercredits)}\n \n \n
 
\n \n
\n \n \n \n \n \n \n Cash to close:\n \n \n ${com.commaizeFloat(this.finalCashToClose.toFixed(2))}\n \n \n \n )\n }\n getLoanSize = () => {\n let card = this.props.card\n if (\"undefined\" !== typeof (card.loansize))\n return parseFloat(card.loansize)\n\n return parseFloat(this.props.application.selection.loansize)\n }\n render = () => {\n return
\n \n
\n

Closing costs are what you pay for points, fees and services to close your loan.

\n \n \n \n
\n {this.originationCharges()}\n {this.cantShopFor()}\n {this.canShopFor()}\n {this.totalLoanCost()}\n {this.taxes()}\n {this.prepaids()}\n {this.initialescrowatclosing()}\n {this.other()}\n {this.otherTotal()}\n {this.totalClosing()}\n {this.cashtoclose()}\n\n \n \n
\n

These are only initial estimates!

The amounts shown on your official Loan Estimate may differ.

\n Please refer to our FAQ for information on Loan Estimate.\n

\n
\n \n \n \n }\n}\nclass LoanDetails extends Component {\n constructor(props) {\n super(props)\n this.state = {\n ltv: 0,\n cltv: 0,\n hcltv: 0,\n\n }\n // calculate the set of tasks\n this.yearstohold = Math.min(parseInt(this.props.application.keepinghousefor), parseInt(this.props.card.Term))\n if (isNaN(this.yearstohold))\n this.yearstohold = 7\n this.card = this.props.card\n }\n\n\n getClosingCosts = (card) => {\n let cc = card.closing_cost\n if (cc < 0)\n cc = 0\n return cc\n }\n\n displaySelectedCard = () => {\n let card = this.props.card\n\n let getType = () => {\n\n if (card.amortization === \"fixed\" || card.MortgageAmortization === \"fixed\")\n return \"Fixed rate\"\n\n return \"ARM \" + card.Arm.fixedperiod + \"/1\"\n }\n let getLoanSize = () => {\n if (\"undefined\" !== typeof (card.loansize))\n return parseFloat(card.loansize)\n\n return parseFloat(this.props.application.selection.loansize)\n }\n let loansize = parseInt(getLoanSize())\n let interest10 = com.getClosedInterestPaid(0.01 * card.base_rate, loansize, card.Term, this.yearstohold)\n let interesttotal = com.getClosedInterestPaid(0.01 * card.base_rate, loansize, card.Term, card.Term)\n let purposeOfLoan = () => {\n switch (this.props.application.property.purpose) {\n case \"purchase\": {\n return \"Purchase\"\n }\n case \"refinance\": {\n return \"Refinance to improve rate or term\"\n }\n case \"cashoutrefinance\": {\n return \"Cash out refinance\"\n }\n default: return \"Unknown\"\n }\n }\n\n\n let getPaydown = () => {\n let cc = this.props.application.selection\n if (null !== cc.selectedloan)\n cc = cc.selectedloan\n switch (this.props.application.property.purpose) {\n case \"purchase\":\n return
Downpayment
${com.commaizeFloat(cc.downpayment.toFixed(2))}
\n\n case \"refinance\":\n return
Paydown principal
${com.commaizeFloat(cc.paydown.toFixed(2))}
\n\n case \"cashoutrefinance\":\n return
Cash out
${com.commaizeFloat(cc.cashout.toFixed(2))}
\n default:\n alert(\"should not see this!\")\n return 0\n }\n }\n let getPMINeed = () => {\n let pmi = card.PMICost\n if (\"undefined\" !== typeof card.pmi) {\n pmi = card.pmi\n }\n return pmi\n }\n let getPMI = () => {\n let pmi = card.PMICost\n if (\"undefined\" !== typeof card.pmi) {\n pmi = card.pmi\n }\n if (0 === pmi)\n return \"Not required\"\n\n return ${com.commaizeFloat(pmi)} \n }\n let getCurrentRate = () => {\n let rate = 0\n let loans = this.props.application.assetsandliabilities.loans\n for (let i = 0; i < loans.length; i++) {\n let cc = loans[i]\n\n if (cc.forsubjectproperty && this.props.application.property.purpose !== \"purchase\") {\n rate = cc.rate\n }\n\n }\n return rate\n }\n let getAppraisal = () => {\n return parseFloat(this.props.application.property.appraisal)\n }\n let getLenderCredit = () => {\n if (card.closing_cost > 0)\n return 0\n return - parseFloat(card.closing_cost)\n }\n let getCurrentProgram = () => {\n switch (this.props.application.property.refinance.currentprogram) {\n case \"fixed\": return \"Fixed rate\"\n case \"arm\": return \"ARM\"\n case \"baloon\": return \"Baloon\"\n case \"heloc\": return \"HELOC\"\n case \"negativeamortization\": return \"Negative Amortization\"\n case \"interestonly\": return \"Interest Only\"\n case \"noloan\": return \"No current loan\"\n default: return \"No current loan specified\"\n }\n }\n let getPrepaidInterest = () => {\n return card.prepaid_interest\n }\n return
\n \n\n \n
\n Purpose of Loan:
\n {purposeOfLoan()}\n \n
\n Loan amount:
\n ${com.commaizeFloat(getLoanSize().toFixed(2))}\n \n
\n Estimated Market value:
\n ${com.commaizeFloat(getAppraisal().toFixed(2))}\n \n {\n this.props.application.property.purpose === \"purchase\" ?\n
Purchase Price:
${com.commaize(this.props.application.property.salesprice)}\n : \"\"\n }\n
\n {getPaydown()}\n \n \n {\n (this.props.application.property.purpose !== \"purchase\") ?\n \n \n Current Program: {getCurrentProgram()}\n \n\n {getCurrentRate() !== 0 ?\n \n Current Rate: {getCurrentRate()}%\n : \"\"}\n \n \n\n \n : \"\"\n }\n \n \n Subject property: {this.props.application.property.address}\n \n \n\n \n \n {getType()}
\n {card.Term} years\n \n
\n Rate:
\n {card.base_rate}%\n \n
\n APR:
\n {card.APR}%\n \n
\n Monthly Payment (P&I):
\n ${com.commaizeFloat(card.monthly_payment.toFixed(2))}\n \n
\n Closing Costs:
\n ${com.commaizeFloat((this.getClosingCosts(card)).toFixed(2))}\n \n\n \n \n\n
\n Interest over
{this.yearstohold} years:
\n ${com.commaizeFloat(interest10.toFixed(2))}\n \n
\n Interest over
loan life:
\n ${com.commaizeFloat(interesttotal.toFixed(2))}\n \n\n
\n Prepaid interest:
\n ${com.commaizeFloat(getPrepaidInterest())}\n \n\n
\n Mortgage Type:
\n {com.capitalize(card.Mtype.replace('_', ' ').toLowerCase().replace('fha', 'FHA'))}\n \n
\n Points:
\n {card.points.toFixed(3)}\n \n\n \n \n
\n Remaining lender credit:
\n ${com.commaizeFloat(getLenderCredit().toFixed(2))} \n \n {card.lender_fee ?\n
\n Lender fee:
\n ${com.commaizeFloat(card.lender_fee.toFixed(2))}\n :
\n }\n\n\n\n \n Minimal reserves:
\n {card.min_months_reserves} months\n \n\n
\n Prepaid interest:
\n ${com.commaizeFloat(card.prepaid_interest.toFixed(2))} \n \n\n
\n Lock period:
\n {card.lockDay} days\n \n \n\n \n\n {getPMINeed() !== 0 ?\n
\n PMI Insurance:
\n {getPMI()} \n : \"\"}\n {card.FHAMIP != null ?\n\n
\n Upfront Mortgage Insurance Premium :
\n {card.FHAMIP.upfrontMIP} \n : \"\"}\n {card.FHAMIP != null ?\n
\n Monthly Mortgage Insurance Premium :
\n {card.FHAMIP.monthlyMIP} \n \n\n : \"\"}\n
\n \n \n \n \n \n \n \n \n\n }\n render() {\n\n return (\n
\n\n \n
{this.displaySelectedCard()} \n \n\n\n \n )\n }\n}\nLoanDetails = withRouter(connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(LoanDetails))\nLoanEstimate = withRouter(connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(LoanEstimate))\nclass Details extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n }\n }\n componentDidMount() {\n\n }\n\n componentWillUnmount() { }\n\n\n handleSubmit = e => {\n return true\n }\n\n\n render() {\n\n return (\n \n \n \n \n \n \n \n\n\n \n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Details)\n\n","import React, { Component } from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\n\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\n\nimport Chart from \"react-apexcharts\";\n\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common.js\"\nimport Table from 'react-bootstrap/Table'\nimport Form from 'react-bootstrap/Form'\nimport Button from 'react-bootstrap/Button'\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n changeBorrowerInfoCheck: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.checked, who, verb))\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n\n updatePreviousAddress: (event, who, verb, n) => {\n dispatch(act.UpdatePreviousAddress(event.target.value, who, verb, n))\n },\n addPreviousAddress: (event, who) => {\n dispatch(act.AddPreviousAddress(event.target.value, who,))\n },\n removePreviousAddress: (event, who, n) => {\n dispatch(act.RemovePreviousAddress(event.target.value, who, n))\n },\n clearPreviousAddress: (event, who) => {\n dispatch(act.ClearPreviousAddress(event.target.value, who))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n changeMainPropertyUnits: (event) => {\n dispatch(act.ChangeMainPropertyUnits(event.target.value))\n },\n changeMainPropertyYearBuilt: (event) => {\n dispatch(act.ChangeMainPropertyYearBuilt(event.target.value))\n },\n changeMainPropertyRefinanceYearAcquired: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceYearAcquired(event))\n },\n changeMainPropertyRefinanceOriginalCost: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceOriginalCost(event))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n addSelectedLoanPrepaid: (service, chargename, period) => {\n dispatch(act.AddSelectedLoanPrepaid(service, chargename, period))\n },\n updatePaymentPeriod: (name, service, period) => {\n dispatch(act.UpdatePaymentPeriod(name, service, period))\n },\n updatePaymentAmount: (name, service, amount) => {\n dispatch(act.UpdatePaymentAmount(name, service, amount))\n },\n updatePrepaidDefault: (name, service, period, prepaidperiods, amount) => {\n dispatch(act.UpdatePrepaidDefault(name, service, period, prepaidperiods, amount))\n },\n addSelectedLoanEstimatedClosingCosts: (cc) => {\n dispatch(act.AddSelectedLoanEstimatedClosingCosts(cc))\n },\n\n\n});\n\nconst colors = ['#003f5c', '#7a5195', '#ef5675', '#ffa600']\nlet floatize = x => {\n return \"$\" + com.commaizeFloat(x)\n}\nlet percent = x => {\n return x.toFixed(2) + \"%\"\n}\nlet lendername = x => {\n return
{com.capitalize(x)}
\n}\n\nfunction getMonthlyPayment(rate, loansize, termmonths) {\n let monthlyrate = rate / 12.0\n let expn = Math.pow(1 + monthlyrate, termmonths)\n return monthlyrate*loansize*expn/(expn - 1)\n}\nfunction getClosedInterestPaid(rate, loansize, termmonths, spanmonths) {\n\n let monthlyrate = rate / 12.0\n let expn = Math.pow(1 + monthlyrate, termmonths)\n let payment = loansize * monthlyrate * expn / (expn - 1)\n payment = (Math.round(payment * 100) / 100)\n\n let accumulatedinterest = (loansize * monthlyrate - payment) *\n (Math.pow(1 + monthlyrate, spanmonths) - 1) / monthlyrate +\n spanmonths * payment\n return accumulatedinterest\n}\n\nclass AmortizationChart extends Component {\n constructor(props) {\n super(props);\n this.state = {\n };\n }\n\n getSeries = () => { \n let series = []\n Object.keys(this.props.selection).forEach(key => {\n let s = {}\n s.type = \"line\"\n let t = \"\"\n if (this.props.selection[key][0].Rate.Arm == null) {\n t = \"Fixed\"\n } else {\n t = \"ARM\" + this.props.selection[key][0].Rate.Arm.fixedperiod + \"/\" + this.props.selection[key][0].Rate.Arm.adjustmentperiod\n }\n\n s.name = com.capitalize(this.props.selection[key][0].Lender) + \", \" + com.capitalize(this.props.selection[key][0].Rate.Mtype.replace('_', ' ') ) + \", \" + this.props.selection[key][0].Rate.Term + \"y \" + t\n let data = []\n let termmonths = 12 * this.props.selection[key][0].Rate.Term\n let pmiaccumulated = 0\n for (let i = 1; i <= termmonths; i++) {\n var end = new Date() \n end.setMonth(end.getMonth() + i);\n \n let interest = getClosedInterestPaid(this.props.selection[key][0].Rate.base_rate / 100.0, this.props.selection[key].loansize, termmonths, i)\n\n let cumulative = this.props.selection[key][0].Rate.closing_cost + interest\n\n let total = getMonthlyPayment(this.props.selection[key][0].Rate.base_rate / 100.0, this.props.selection[key].loansize, termmonths) * i\n let paidprincipal = total - interest\n\n if(this.props.selection[key][0].Rate.FHAMIP != null) {\n cumulative += i*this.props.selection[key][0].Rate.FHAMIP.monthlyMIP + this.props.selection[key][0].Rate.FHAMIP.upfrontMIP\n }\n if(this.props.selection[key][0].Rate.PMICost) {\n if( (this.props.selection[key].loansize - paidprincipal)/this.props.appraisal > 0.8 )\n pmiaccumulated += this.props.selection[key][0].Rate.PMICost\n else {\n\n }\n cumulative += pmiaccumulated\n }\n data.push( [end, cumulative])\n }\n\n s.data = data\n series.push(s)\n\n })\n return series\n }\n\n dateRange = () => {\n var dates = []\n\n for (var i = 1; i <= this.props.maxyears*12; i++) {\n var end = new Date()\n end.setMonth(end.getMonth() + i);\n dates.push(end)\n } \n return dates;\n }\n render() {\n let series = this.getSeries()\n\n return (\n
\n {\n return \"$\" + com.commaizeFloat(Math.round(value));\n },\n },\n x: {\n formatter: function (value) {\n let d = new Date(value)\n return d.toLocaleDateString('en-us', { year: 'numeric', month: 'long' });\n },\n }\n },\n legend: {\n show: false,\n position: \"top\",\n },\n toolbar: {\n show: true,\n autoSelected: 'zoom'\n }, \n stroke: {\n curve: \"straight\",\n width: 2\n },\n \n xaxis: {\n type: \"datetime\",\n //categories: this.dateRange(),\n //tickAmount: 10,\n /*\n labels: {\n datetimeFormatter: {\n year: 'yyyy',\n month: 'MMM yy', \n }\n } \n \n labels: {\n formatter: function (value, timestamp, opts) {\n return opts.dateFormatter(new Date(timestamp), \"yyyy\");\n },\n }, */\n },\n yaxis: {\n labels: {\n formatter: (value) => {\n return \"$\" + com.commaizeFloat(Math.round(value));\n },\n },\n },\n }}\n series={series}\n // width=\"700\"\n />\n
\n );\n }\n}\nclass Comparison extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n properties: [],\n maxyears: 30\n }\n\n }\n recalculate = () => {\n let props = this.props\n let lenders = [x => x,
Lender:
]\n let properties = []\n let index=0\n Object.keys(props.selection).forEach(key => {\n lenders.push(
{com.capitalize(props.selection[key][0].Lender)}
)\n index += 1\n })\n properties.push(lenders)\n\n let loansizes = [floatize, \"Loan Size:\"]\n Object.keys(props.selection).forEach(key => {\n loansizes.push(props.selection[key].loansize)\n })\n properties.push(loansizes)\n\n switch (props.application.property.purpose) {\n case \"purchase\": {\n let downpayment = [floatize, \"Downpayment:\"]\n Object.keys(props.selection).forEach(key => {\n downpayment.push(props.selection[key].downpayment)\n })\n properties.push(downpayment)\n break;\n }\n case \"refinance\": {\n let paydown = [floatize, \"Pay down:\"]\n Object.keys(props.selection).forEach(key => {\n paydown.push(props.selection[key].paydown)\n })\n properties.push(paydown)\n break;\n }\n case \"cashoutrefinance\": {\n let cashout = [floatize, \"Cash out:\"]\n Object.keys(props.selection).forEach(key => {\n cashout.push(props.selection[key].cashout)\n })\n properties.push(cashout)\n\n break;\n }\n default:\n alert(\"should not see this!\")\n break;\n }\n let name = [lendername, \"Type:\"]\n Object.keys(props.selection).forEach(key => {\n name.push(props.selection[key][0].Rate.Mtype)\n })\n properties.push(name)\n\n let term = [x => { return x + \" years\" }, \"Term:\"]\n Object.keys(props.selection).forEach(key => {\n term.push(props.selection[key][0].Rate.Term)\n })\n properties.push(term)\n\n let amor = [x => { return x }, \"Amortization:\"]\n Object.keys(props.selection).forEach(key => {\n if (props.selection[key][0].Rate.Arm == null) {\n amor.push(\"Fixed\")\n } else {\n amor.push(\"ARM\" + props.selection[key][0].Rate.Arm.fixedperiod + \"/\" + props.selection[key][0].Rate.Arm.adjustmentperiod)\n }\n })\n properties.push(amor)\n\n let mopayment = [floatize, \"Mo. Payment:\"]\n Object.keys(props.selection).forEach(key => {\n mopayment.push(props.selection[key][0].Rate.monthly_payment)\n })\n properties.push(mopayment)\n\n let baserate = [percent, \"Base Rate:\"]\n Object.keys(props.selection).forEach(key => {\n baserate.push(props.selection[key][0].Rate.base_rate)\n })\n properties.push(baserate)\n\n let apr = [percent, \"APR:\"]\n Object.keys(props.selection).forEach(key => {\n apr.push(props.selection[key][0].Rate.APR)\n })\n properties.push(apr)\n\n let cc = [floatize, \"Closing Cost:\"]\n Object.keys(props.selection).forEach(key => {\n cc.push(props.selection[key][0].Rate.closing_cost >= 0 ? Math.ceil(props.selection[key][0].Rate.closing_cost) : 0)\n })\n properties.push(cc)\n\n let lc = [floatize, \"Remaining Credits:\"]\n Object.keys(props.selection).forEach(key => {\n lc.push(props.selection[key][0].Rate.closing_cost < 0 ? -Math.ceil(props.selection[key][0].Rate.closing_cost) : 0)\n })\n properties.push(lc)\n\n let cash2close = [floatize, \"Cash to close:\"]\n switch (props.application.property.purpose) {\n case \"purchase\": {\n Object.keys(props.selection).forEach(key => {\n let c2c = props.selection[key].downpayment\n c2c += (props.selection[key][0].Rate.closing_cost >= 0 ? Math.ceil(props.selection[key][0].Rate.closing_cost) : 0)\n // add FHA stuff! \n cash2close.push(c2c)\n })\n properties.push(cash2close)\n break;\n }\n case \"refinance\": {\n Object.keys(props.selection).forEach(key => {\n let c2c = props.selection[key].paydown\n c2c += (props.selection[key][0].Rate.closing_cost >= 0 ? Math.ceil(props.selection[key][0].Rate.closing_cost) : 0)\n // add FHA stuff! \n cash2close.push(c2c)\n })\n properties.push(cash2close)\n break;\n }\n case \"cashoutrefinance\": {\n Object.keys(props.selection).forEach(key => {\n let c2c = Math.min(0, props.selection[key][0].Rate.closing_cost)\n // add FHA stuff! \n cash2close.push(c2c)\n })\n // skip this for cashout for now\n // this.state.properties.push(cash2close) \n break;\n }\n default:\n alert(\"should not see this!\")\n break;\n }\n\n\n let tc = [floatize, \"Total Cost Over Term:\"]\n Object.keys(props.selection).forEach(key => {\n let c = Math.ceil(props.selection[key][0].Rate.closing_cost +\n com.getClosedInterestPaid(0.01 * props.selection[key][0].Rate.base_rate, props.selection[key].loansize,\n props.selection[key][0].Rate.Term, props.selection[key][0].Rate.Term))\n\n tc.push(c)\n })\n properties.push(tc)\n\n let yearstohold = parseInt(this.props.application.keepinghousefor)\n let llc = [floatize, \"Cost over \" + yearstohold + \" years :\"]\n Object.keys(props.selection).forEach(key => {\n let c = Math.ceil(props.selection[key][0].Rate.closing_cost +\n com.getClosedInterestPaid(0.01 * props.selection[key][0].Rate.base_rate, props.selection[key].loansize,\n props.selection[key][0].Rate.Term, Math.min(yearstohold, props.selection[key][0].Rate.Term)))\n\n llc.push(c)\n })\n properties.push(llc)\n\n let mm = [floatize, \"Reserves required:\"]\n Object.keys(props.selection).forEach(key => {\n mm.push(props.selection[key][0].Rate.min_months_reserves * props.selection[key][0].Rate.monthly_payment)\n })\n properties.push(mm)\n let haspmi = false\n let pm = [x => { return x }, \"Needs PMI?\"]\n Object.keys(props.selection).forEach(key => {\n pm.push(props.selection[key][0].Rate.PMICost === 0 ? \"no\" : \"yes\")\n if(props.selection[key][0].Rate.PMICost !== 0) { \n haspmi = true\n }\n })\n properties.push(pm)\n\n if(haspmi) {\n let pm = [floatize, \"Mortgage insurance:\"]\n Object.keys(props.selection).forEach(key => {\n pm.push(props.selection[key][0].Rate.PMICost )\n })\n properties.push(pm)\n\n }\n let hasfha = false\n Object.keys(props.selection).forEach(key => {\n if(props.selection[key][0].Rate.FHAMIP != null ) {\n hasfha = true\n }\n })\n if(hasfha) {\n let prepi = [floatize, \"FHA mo. premium:\"]\n Object.keys(props.selection).forEach(key => {\n if( props.selection[key][0].Rate.FHAMIP != null )\n prepi.push(props.selection[key][0].Rate.FHAMIP.monthlyMIP)\n else\n prepi.push(0)\n\n })\n properties.push(prepi) \n\n let ini = [floatize, \"FHA upfront payment:\"]\n Object.keys(props.selection).forEach(key => {\n if( props.selection[key][0].Rate.FHAMIP != null )\n ini.push(props.selection[key][0].Rate.FHAMIP.upfrontMIP)\n else\n ini.push(0)\n\n })\n properties.push(ini) \n }\n\n let prepi = [floatize, \"Prepaid Interest:\"]\n Object.keys(props.selection).forEach(key => {\n prepi.push(props.selection[key][0].Rate.prepaid_interest)\n })\n properties.push(prepi)\n\n let fingerclass = \"fas fa-hand-point-right mx-1\"\n let choose = [(x) => x, <>Choose this loan ]\n Object.keys(props.selection).forEach(key => {\n let oncheckbox = (e) => {\n props.callselect(key)\n }\n let ch =\n \n\n choose.push(ch)\n })\n properties.push(choose)\n\n let deselect = [(x) => x, \"Remove selection:\"]\n Object.keys(props.selection).forEach(key => {\n let click = e => {\n this.props.calldelete(key)\n setTimeout(() => {\n\n if (Object.keys(props.selection).length === 0)\n this.props.hide()\n this.recalculate()\n\n }, 200)\n }\n let b = \n deselect.push(b)\n })\n properties.push(deselect)\n\n let maxyears = 0\n Object.keys(props.selection).forEach(key => {\n if(maxyears < props.selection[key][0].Rate.Term)\n maxyears = props.selection[key][0].Rate.Term\n })\n this.setState({ properties, maxyears })\n }\n componentDidMount() {\n this.recalculate()\n\n }\n\n componentWillUnmount() { }\n\n\n handleSubmit = e => {\n return true\n }\n\n render() {\n let displayRow = (t, d) => {\n let out = []\n out.push(\n
\n )\n for (let i = 1; i < d.length; i++) {\n out.push(\n \n )\n }\n\n return out\n }\n let display = z => {\n let out = []\n\n for (let i = 0; i < z.length; i++) {\n let cl = \"\"\n if (i === 0) {\n cl = \"blackongray py-0\"\n } else {\n if (i % 2 !== 0) {\n cl = \"bluishbackground py-0\"\n }\n }\n out.push(\n {displayRow(z[i][0], z[i].slice(1))}\n )\n }\n return out\n }\n return (\n
\n
\n \n\n
\n
\n {d[0]}\n \n {t(d[i])}\n
\n {\n display(this.state.properties)\n }\n
\n \n \n \n \n
\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Comparison)\n\n","import React from 'react';\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Button from 'react-bootstrap/Button'\nimport Container from 'react-bootstrap/Container'\nimport Modal from 'react-bootstrap/Modal'\nimport HorizontalSlider from '../Common/HorizontalSlider'\nimport ScrollBar from '../Common/components/ScrollBar';\nimport Dropdown from 'react-bootstrap/Dropdown'\nimport UpDown from '../UpDown'\nimport { isMobileOnly } from 'react-device-detect';\nimport { Redirect } from 'react-router-dom'\nimport { ChosenLoan, LoanProduct, service, fees } from '../State'\nimport * as com from \"../Common.js\"\nimport 'react-credit-cards/es/styles-compiled.css';\nimport Multiselect from '../Common/Multiselect';\nimport { connect } from 'react-redux'\nimport { MonhtlyChangeBP } from '../Common/Tooltip'\nimport { Skeleton, Alert } from 'antd';\nimport { tooltip, tooltipFlat, Tips } from '../Common/Tooltip'\nimport Details from './Details'\nimport Comparison from './Comparison'\nimport * as act from \"../Store/actions\"\nimport { getCurrentState } from '../Store'\nimport { Link } from 'react-router-dom'\nimport * as st from \"../State\"\n\nconst lender2icon = {\n NewFi: '/newfi.png',\n RocketPro: '/rocketpro.png',\n FinanceOfAmerica: '/fomo.png',\n Plaza: '/plaza.png',\n Caliber: '/caliber.png',\n HomePoint: '/homepoint.png',\n HomePointDelegated: '/homepoint.png',\n Amwest: '/amwest.png',\n PreferredRate: '/preferredrate.png',\n Flagstar: '/flagstar.png',\n AmeriHome: '/amerihome.png',\n Chase: '/chase.png',\n Fairway: '/fairway.png',\n PennyMac: '/pennymac.png',\n PRMG: '/prmg.png',\n ResiCentral: '/resicentral.png',\n Sprout: '/sprout.png',\n USBank: '/usbank.png',\n FifthThirdBank: '/53bank.png',\n Provident: '/provident.png',\n LoanDepot: '/loandepot.png',\n DivineMortgage: '/divinemortgage.png',\n WholesaleMortgageBankers: '/wmb.png',\n LoanStore: '/loanstore.png',\n NewWaveLending: '/newwavelending.png'\n}\n\nconst mapStateToProps = (state) => {\n return {\n application: state.application,\n property: state.application.property,\n selection: state.application.selection,\n borrower: state.borrower,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb))\n },\n changeBorrowerInfoCheck: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.checked, who, verb))\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb))\n },\n changeMainPropertyUnits: (input) => {\n dispatch(act.ChangeMainPropertyUnits(input))\n },\n updateExpenses: (event, who, verb) => {\n dispatch(act.UpdateExpenses(event.target.value, who, verb))\n },\n updatePrepaidDefault: (name, period, prepaidperiods, amount) => {\n dispatch(act.UpdatePrepaidDefault(name, period, prepaidperiods, amount))\n },\n});\n\nvar hash = require('object-hash');\n\n\n\nconst sorts = {\n selectbyrate: \"Base Rate\",\n selectbyapr: \"Best APR\",\n //selectbymonthlypayment: \"Smallest Monthly Payment\",\n selectbyclosingcosts: \"Smallest Upfront costs\",\n\n}\n\nconst typeoptions = [\n { name: 'ARM 5', id: \"arm51\", cliff: 5 },\n { name: 'ARM 7', id: \"arm71\", cliff: 7 },\n { name: 'ARM 10', id: \"arm101\", cliff: 10 },\n { name: 'Fixed', id: \"fixed\", cliff: 0 }]\n\nconst termoptions = [\n { name: '30 year', id: \"year30\", years: 30 },\n { name: '25 year', id: \"year25\", years: 25 },\n { name: '20 year', id: \"year20\", years: 20 },\n { name: '15 year', id: \"year15\", years: 15 },\n { name: '10 year', id: \"year10\", years: 10 }]\n\nexport const pointsExplained =
Mortgage points are percentage of the loan that you pay to the lender for a lower monthly rate.\n
Conversely, negative points are lender credits that can be used by you to lower your closing costs, or be put into an impound account to pay your insurance and taxes.
Lender credits are paid to you in exchange for a higher interest rate
\nconst customstyle = {\n multiselectContainer: { // To change css for multiselect (Width,height,etc..)\n\n fontSize: '14px',\n },\n searchBox: { // To change search box element look\n fontSize: '.875rem',\n minHeight: 'calc(1.5em + .5rem + 2px)',\n padding: '.25rem .5rem',\n marginBottom: '0px !important',\n\n },\n inputField: { // To change input field position or margin\n margin: '0px'\n },\n chips: { // To change css chips(Selected options)\n background: 'rgba(0,48,116,1)',\n marginBottom: '2px !important',\n fontSize: '12px',\n padding: '2px 10px',\n },\n optionContainer: { // To change css for option container \n fontSize: '12px',\n }\n}\n\nexport const getFees = function (loanid) {\n let token = sessionStorage.getItem(\"ZeitroA\")\n this.setState({ loading: true })\n fetch('/data/getFees', {\n method: 'POST',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"Content-Type\": \"application/json\",\n \"X-Borrower\": this.props.borrowerid,\n },\n }).then(\n response => {\n if (response.status !== 200) {\n alert(\"Sorry, an internal error occurred. Please contact your loan officer for assistance.\")\n this.setState({\n loading: false\n })\n return;\n }\n response.json().then(_fees => {\n\n let f = new fees(_fees)\n f.cannotshopservices = _fees.cannotshopservices\n f.canshopservices = _fees.canshopservices\n f.closingcostsfinanced = _fees.closingcostsfinanced\n f.deposit = _fees.deposit\n f.downpayment = _fees.downpayment\n f.fundsforborrower = _fees.fundsforborrower\n f.initialescrowpaymentsatclosing = _fees.initialescrowpaymentsatclosing\n f.othercosts = _fees.othercosts\n f.prepaids = _fees.prepaids\n f.recordingandgovernmentfees = _fees.recordingandgovernmentfees\n f.transfertax = _fees.transfertax\n f.sellerscredits = _fees.sellerscredits\n f.adjustmentsothercredits = _fees.adjustmentsothercredits\n\n this.props.updateSelectField(f, \"estimatedclosingcosts\")\n getCurrentState()\n setTimeout(() => this.getDTI(loanid), 3000)\n })\n }\n\n ).catch((err) => {\n\n this.setState({ loading: false })\n alert(\"Network error\")\n });\n}\nexport const getDTI = function (loanid) {\n let token = sessionStorage.getItem(\"ZeitroA\")\n this.setState({ loading: true })\n console.log(loanid)\n fetch('/data/getPreDTI', {\n method: 'POST',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"Content-Type\": \"application/json\",\n \"X-Borrower\": this.props.borrowerid,\n \"X-Loan\": typeof loanid === \"undefined\" ? \"\" : loanid,\n },\n\n }).then(\n response => {\n if (response.status !== 200) {\n alert(\"Some internal error occurred. Please try again later.\")\n this.setState({\n loading: false\n })\n return;\n }\n response.json().then(pr => {\n this.setState({ loading: false })\n\n if (typeof pr[\"Error\"] !== \"undefined\") {\n console.log(pr.Error)\n alert(\"Sorry, but we are unable to provide rates right now. Please contact contact@zeitro.com for help.\")\n } else {\n this.loaded = true\n this.fees = pr.dtiData[0].fees\n this.fico = pr.fico\n this.zeitro_fee = pr.zeitro_fee\n this.prepaid_interest_days = pr.prepaid_interest_days\n //this.props.updateSelectField(this.zeitro_fee.default, \"ourfee\")\n this.props.updateSelectField(this.prepaid_interest_days, \"prepaiddays\")\n\n this.productReload(pr)\n }\n })\n }\n\n ).catch((err) => {\n\n this.setState({ loading: false })\n alert(\"Network error\")\n });\n}\nexport const getCitizenship = function () {\n let status = this.props.application.borrower.citizenship\n if (status === \"citizen\") {\n return [\"US_CITIZENS\", \"\"]\n }\n if (status === \"permanent\") {\n return [\"PERMANENT_RESIDENT_ALIEN\", \"\"]\n }\n return [\"NON_PERMANENT_RESIDENT_ALIEN\", this.props.application.borrower.visa.replace('-', '_')]\n\n}\nexport const getOccupancy = function () {\n switch (this.props.application.property.occupancy) {\n case \"principal\":\n return \"PRIMARY\"\n case \"secondhome\":\n return \"SECOND_HOME\"\n case \"investment\":\n return \"INVESTMENT\"\n default:\n alert(\"wrong occupancy\")\n return \"PRIMARY\"\n }\n}\nexport const getPropertyType = function () {\n let remap = {\n condominiumdetached: \"CONDOMINIUM_DETACHED\",\n condominium: \"CONDOMINIUM_ATTACHED\",\n pudattached: \"PUD_ATTACHED\",\n puddetached: \"PUD_DETACHED\",\n singlefamilyattached: \"SINGLE_FAMILY_ATTACHED\",\n singlefamilydetached: \"SINGLE_FAMILY_DETACHED\",\n twotofourfamily: \"TWO_TO_FOUR_FAMILY\",\n manufacturedhome: \"MANUFACTURED_HOME\"\n }\n let out = remap[this.props.application.property.propertytype]\n if (this.props.application.property.isManufacturedHome === true) {\n out = \"MANUFACTURED_HOME\"\n }\n return out\n}\n\nexport const productReload = function (predti) {\n if (null == this.loaded)\n return\n // this one needs work\n let firstTimeHomeBuyer = (this.props.application.firsttimehomebuyer)\n let [citizenship, visa] = this.getCitizenship()\n\n let request = {\n state: this.props.application.property.state,\n county: this.props.application.property.county,\n purpose: com.Purpose2Calculator(this.props.property.purpose),\n loanAmount: com.safeParseInt(this.state.loansize),\n appraisal: this.props.application.property.appraisal, \n estimatedClosingCosts: this.fees,\n firstTimeHomeBuyer: firstTimeHomeBuyer,\n units: this.props.application.property.propertytype === \"twotofourfamily\" ? com.safeParseInt(this.props.application.property.units) : 1,\n occupancy: this.getOccupancy(), // propagated\n property: this.getPropertyType(),\n selfemployed: this.props.application.borrower.occupation.selfemployed,\n citizenship: citizenship,\n visaType: visa,\n preDTI: predti,\n property: this.props.application.property.propertytype,\n }\n\n let token = sessionStorage.getItem(\"ZeitroA\")\n this.setState({ loading: true })\n fetch('/data/getproducts', {\n method: 'POST',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"Content-Type\": \"application/json\",\n \"X-Borrower\": this.props.borrowerid,\n },\n body: JSON.stringify(request)\n }).then(\n response => {\n if (response.status !== 200) {\n\n this.setState({\n loading: false, errorText: ,\n products: [], topProducts: []\n })\n if (this.failedProduct != null)\n this.failedProduct()\n return;\n }\n response.json().then(pr => {\n\n let products = pr.result\n let status = pr.status\n if (\"Ok\" !== status) {\n /*\n - \"0\" # InternalError\n - \"1\" # LowFICOError\n - \"2\" # HighDTIError\n - \"3\" # HighLTVError\n - \"4\" # LowIncomeError\n - \"5\" # MatrixNotFoundError\n - \"6\" # UnqualifiedPropertyError\n */\n\n let msg = \"\"\n /*\n switch (pr[\"status code\"]) {\n case \"0\":\n default:\n msg =

{pr.status}:{pr.message}

\n break;\n case \"1\":\n msg =

Unfortunately, it looks like your FICO score is too low to qualify for a loan.

\n break\n case \"2\":\n msg =

Unfortunately, your debt to income ratio is too high to qualify for a loan.
\n You may want to consider paying off some debts.

\n break\n case \"3\":\n msg =

Unfortunately, your loan amount to property value ratio is too high to qualify for a loan.
\n You may want to consider taking a smaller loan. Use the slider in the top left corner to investigate.

\n break\n case \"4\":\n msg =

Unfortunately, your income is too low to qualify for a loan of this size.

\n break\n case \"5\":\n msg =

Unfortunately, we could not find a loan product for your particular situation. You may want to consider taking a smaller loan. Use the slider in the top left corner to investigate.

\n break\n case \"6\":\n msg =

Unfortunately, your property is not qualified for a loan.

\n break\n\n }\n */\n let showDetails = () => {\n if (pr == null) return \"\"\n if (\"undefined\" !== typeof this.props.borrowerid) {\n let out = []\n let reasons = pr[\"ineligible_reasons\"]\n if (reasons == null) return \"\"\n for (const [key, value] of Object.entries(reasons)) {\n let entry =
{com.capitalize(key)}
\n out.push(
{entry}
)\n if (value.LenderLevelReason !== \"\")\n out.push(
{value.LenderLevelReason}
)\n else {\n let preasons = value.ProductLevelReasons\n /* eslint-disable-next-line no-unused-vars */\n for (const [key, value] of Object.entries(preasons)) {\n out.push(
{value.ProductName}: {value.IneligibleReason}
)\n }\n }\n\n }\n return out\n } else\n return \"\"\n\n }\n msg =
Matching engine could not find a suitable loan. Reason:
{pr[\"message\"]}
{showDetails()}
\n this.setState({\n loading: false, errorText: msg, errorCode: pr[\"status code\"],\n products: [], topProducts: []\n })\n if (this.failedProduct != null)\n this.failedProduct()\n return\n }\n if (this.askedForAssistance()) {\n products = this.filterForAssistance(products)\n }\n this.processProducts(products)\n this.setState({ loading: false })\n })\n }\n\n ).catch((err) => {\n\n this.setState({ loading: false })\n this.setState({\n loading: false, errorText:

{\"Network Error\"}

,\n products: [], topProducts: []\n })\n if (this.failedProduct != null)\n this.failedProduct()\n });\n}\nexport const getLTV = function () {\n let ltv = com.safeParseInt(this.state.loansize) * 100 / com.safeParseInt(this.props.application.property.appraisal)\n let cltv = (com.safeParseInt(this.state.loansize) + com.safeParseInt(this.cltv)) * 100 / com.safeParseInt(this.props.application.property.appraisal)\n let hcltv = (com.safeParseInt(this.state.loansize) + com.safeParseInt(this.hcltv)) * 100 / com.safeParseInt(this.props.application.property.appraisal)\n return [ltv, cltv, hcltv]\n}\n\nexport class ProductPicker extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n typeselected: [],\n termselected: [],\n yearstohold: 7,\n\n minclosingcost: 0,\n maxclosingcost: 100000,\n lowclosingcost: 0,\n highclosingcost: 0,\n\n loansize: 0,\n topProducts: [],\n loading: false,\n weightclosing: this.props.selection.weightclosing,\n weighttotalcost: this.props.selection.weighttotalcost,\n weightmonthly: this.props.selection.ƒTriangggweightmonthly,\n showSelf: false,\n ltv: 60.0,\n cltv: 0,\n fico: 720,\n income: 18000.0,\n occupancy: \"PRIMARY\",\n property: \"SINGLE_FAMILY_DETACHED\",\n errorText: \"\",\n downpayment: 30000,\n defdownpayment: 30000,\n viewkey: 0,\n paydown: 0,\n cashout: 30000,\n redirect: \"\",\n positionbyemail: {},\n statusloaded: false,\n showHelp: true,\n showMore: true,\n show: false,\n detailedCard: null,\n lenders: [],\n selectedlenders: [],\n selectedmaxreserves: -1,\n maxreserves: -1,\n showPriceChanged: false,\n selectedImage: null,\n needsAdjustment: false,\n comparisonSelections: {},\n showComparison: false,\n mincashout: 0,\n dtiSpreadsheetLoading: false,\n }\n this.hcltv = null\n this.cltv = null\n this.timer = 0\n this.lenders = []\n this.changeshown = false\n this.oldmaxupfrontcost = this.props.selection.maxupfrontcost\n if (isNaN(this.oldmaxupfrontcost))\n this.oldmaxupfrontcost = null\n this.howmany2display = 5\n if (this.props.borrowerid)\n this.howmany2display *= 3\n\n switch (this.props.property.purpose) {\n case \"purchase\":\n\n if (this.props.selection.selectedloan.hash !== \"\") {\n this.state.loansize = this.props.selection.selectedloan.loansize\n this.state.downpayment = this.state.defdownpayment = com.safeParseInt(this.props.property.salesprice) - this.state.loansize\n this.props.updateSelectField(this.state.downpayment, \"downpayment\")\n } else {\n // if first time arriving this page\n console.log(this.props.selection.downpayment)\n if (this.props.selection.downpayment === 0) {\n this.state.downpayment = com.safeParseInt(this.props.property.salesprice) * 0.2\n this.state.defdownpayment = com.safeParseInt(this.props.property.salesprice) * 0.2\n this.state.loansize = com.safeParseInt(this.props.property.salesprice) * 0.8\n this.props.updateSelectField(com.safeParseInt(this.props.property.salesprice) * 0.2, \"downpayment\")\n this.props.updateSelectField(com.safeParseInt(this.props.property.salesprice) * 0.8, \"loansize\")\n\n } else {\n this.state.downpayment = com.safeParseInt(this.props.selection.downpayment)\n this.state.defdownpayment = com.safeParseInt(this.props.selection.downpayment)\n this.state.loansize = com.safeParseInt(this.props.property.salesprice) - com.safeParseInt(this.state.downpayment)\n }\n }\n break;\n case \"refinance\":\n\n if (this.props.selection.selectedloan.hash !== \"\") {\n this.state.loansize = this.props.selection.selectedloan.loansize\n this.state.downpayment = this.state.defdownpayment = com.safeParseInt(this.props.application.loanbalance) - this.state.loansize\n this.props.updateSelectField(this.state.downpayment, \"paydown\")\n\n } else {\n this.state.downpayment = com.safeParseInt(this.props.selection.paydown)\n this.state.defdownpayment = com.safeParseInt(this.props.selection.paydown)\n this.state.loansize = com.safeParseInt(this.props.application.loanbalance) - com.safeParseInt(this.props.selection.paydown)\n }\n break;\n case \"cashoutrefinance\":\n\n this.state.lmincashout = this.props.selection.selectedloan.min\n if (this.props.selection.selectedloan.hash !== \"\") {\n this.state.loansize = this.props.selection.selectedloan.loansize\n this.state.downpayment = this.state.defdownpayment = this.state.loansize - com.safeParseInt(this.props.application.loanbalance)\n if (this.state.downpayment <= 0) {\n this.state.downpayment = this.state.defdownpayment = 30000\n }\n this.props.updateSelectField(this.state.downpayment, \"cashout\")\n } else {\n this.state.downpayment = com.safeParseInt(this.props.selection.cashout)\n this.state.defdownpayment = com.safeParseInt(this.props.selection.cashout)\n this.state.loansize = com.safeParseInt(this.props.application.loanbalance) + com.safeParseInt(this.props.selection.cashout)\n }\n break;\n default:\n alert(\"should not see this!\")\n break;\n }\n\n this.props.updateSelectField(this.state.loansize.toString(), \"loansize\")\n this.downloadDTIspreadsheetRef = React.createRef();\n\n termoptions.forEach(term => {\n if (this.props.selection.loanterms.includes(term.id))\n this.state.termselected.push(term)\n })\n if (this.state.termselected.length === 0)\n this.state.termselected = [termoptions[0]]\n\n\n typeoptions.forEach(typ => {\n if (this.props.selection.loanamortizations.includes(typ.id))\n this.state.typeselected.push(typ)\n\n })\n if (this.state.typeselected.length === 0)\n this.state.typeselected = typeoptions\n this.cull = (a) => a\n this.selectsort(this.props.selection.sortby)\n\n this.width = 250\n\n this.height = Math.floor((this.width / 2) * Math.tan(3.14 / 3.0))\n if (this.props.property.salesprice === \"\") {\n this.state.redirect = \n }\n this.rawproducts = []\n this.checkStatus()\n\n // backup\n this.loanbalance = this.state.loansize.toString()\n this.down = this.state.defdownpayment\n\n this.amortizations = [...this.props.selection.loanamortizations]\n this.terms = [...this.props.selection.loanterms]\n\n /* unit test!\n let l = ChosenLoan.fromJson(this.props.selection.selectedloan)\n l.hash = \"ho ho ho\" \n this.props.updateSelectField(l, \"selectedloan\") \n */\n }\n reset = () => {\n\n let termselected = []\n let typeselected = []\n this.props.updateSelectField(this.terms, \"loanterms\")\n this.props.updateSelectField(this.amortizations, \"loanamortizations\")\n\n termoptions.forEach(term => {\n if (this.terms.includes(term.id))\n termselected.push(term)\n })\n if (termselected.length === 0)\n termselected = [termoptions[0]]\n\n typeoptions.forEach(typ => {\n if (this.amortizations.includes(typ.id))\n typeselected.push(typ)\n\n })\n if (typeselected.length === 0)\n typeselected = typeoptions\n\n this.setState({ termselected, typeselected }, () => {\n this.processProducts(this.rawproducts);\n this.forceUpdate()\n }\n )\n }\n getFees = getFees.bind(this)\n getDTI = getDTI.bind(this)\n getCitizenship = getCitizenship.bind(this)\n getOccupancy = getOccupancy.bind(this)\n getPropertyType = getPropertyType.bind(this)\n productReload = productReload.bind(this)\n getLTV = getLTV.bind(this)\n compareRate = (a, b) => {\n if (a.base_rate !== b.base_rate)\n return a.base_rate - b.base_rate\n\n return a.closing_cost - b.closing_cost // take into account remaining credits\n }\n\n cullRate = products => {\n if (products.length === 0)\n return products\n\n let newproducts = []\n newproducts.push(products[0])\n let base_rate = products[0].base_rate\n let counter = 0\n for (let i = 1; i < products.length; i++) {\n if (products[i].base_rate !== base_rate) {\n newproducts.push(products[i])\n base_rate = products[i].base_rate\n counter = 1\n } else {\n\n\n counter += 1\n if (counter < 5) {\n newproducts.push(products[i])\n base_rate = products[i].base_rate\n }\n }\n }\n return newproducts\n }\n compareAPR = (a, b) => {\n if (a.APR !== b.APR)\n return a.APR - b.APR\n if (a.base_rate !== b.base_rate)\n return a.base_rate - b.base_rate\n return a.closing_cost - b.closing_cost\n }\n cullAPR = products => {\n if (products.length === 0)\n return products\n let newproducts = []\n newproducts.push(products[0])\n let APR = products[0].APR\n for (let i = 1; i < products.length; i++) {\n if (products[i].APR !== APR) {\n newproducts.push(products[i])\n APR = products[i].APR\n } else {\n }\n }\n return newproducts\n }\n compareMoneyUpfront = (a, b) => {\n let acc = this.getClosingCosts(a)\n let bcc = this.getClosingCosts(b)\n if (acc !== bcc)\n return acc - bcc\n return a.base_rate - b.base_rate\n }\n\n cullMoneyUpfront = products => {\n if (products.length === 0)\n return products\n\n let newproducts = []\n newproducts.push(products[0])\n let closing_cost = this.getClosingCosts(products[0])\n for (let i = 1; i < products.length; i++) {\n if (this.getClosingCosts(products[i]) !== closing_cost) {\n newproducts.push(products[i])\n closing_cost = this.getClosingCosts(products[i])\n } else {\n }\n }\n return newproducts\n }\n\n compareMonthly = (a, b) => {\n if (a.monthly_payment !== b.monthly_payment)\n return a.monthly_payment - b.monthly_payment\n return a.closing_cost - b.closing_cost\n }\n\n cullMonthly = (products) => {\n if (products.length === 0)\n return products\n\n let newproducts = []\n newproducts.push(products[0])\n let monthly_payment = products[0].monthly_payment\n for (let i = 1; i < products.length; i++) {\n if (products[i].monthly_payment !== monthly_payment) {\n newproducts.push(products[i])\n monthly_payment = products[i].monthly_payment\n } else {\n }\n }\n return newproducts\n }\n compareTotalOwnership = (a, b) => {\n let loansize = com.safeParseInt(this.state.loansize)\n let ca = com.getClosedInterestPaid(0.01 * a.base_rate, loansize, a.Term, a.Term) //+ a.closing_cost\n let cb = com.getClosedInterestPaid(0.01 * b.base_rate, loansize, b.Term, b.Term) //+ b.closing_cost\n\n if (ca !== cb)\n return ca - cb\n\n return a.base_rate - b.base_rate\n }\n cullTotalOwnership = (products) => {\n if (products.length === 0)\n return products\n\n let getCost = a => {\n let loansize = com.safeParseInt(this.state.loansize)\n return com.getClosedInterestPaid(0.01 * a.base_rate, loansize, a.Term, a.Term) //+ a.closing_cost \n }\n let newproducts = []\n newproducts.push(products[0])\n let cost = getCost(products[0])\n\n for (let i = 1; i < products.length; i++) {\n if (cost !== getCost(products[i])) {\n newproducts.push(products[i])\n cost = getCost(products[i])\n } else {\n }\n }\n return newproducts\n }\n\n compareHoldingOwnership = (a, b) => {\n let loansize = com.safeParseInt(this.state.loansize)\n let ca = com.getClosedInterestPaid(0.01 * a.base_rate, loansize, a.Term, this.state.yearstohold) // + a.closing_cost\n let cb = com.getClosedInterestPaid(0.01 * b.base_rate, loansize, b.Term, this.state.yearstohold) // + b.closing_cost\n\n if (ca !== cb)\n return ca - cb\n\n return a.base_rate - b.base_rate\n }\n\n cullHoldingOwnership = (products) => {\n if (products === [])\n return products\n\n let getCost = a => {\n let loansize = com.safeParseInt(this.state.loansize)\n return com.getClosedInterestPaid(0.01 * a.base_rate, loansize, a.Term, this.state.yearstohold) + a.closing_cost\n }\n let newproducts = []\n newproducts.push(products[0])\n let cost = getCost(products[0])\n\n for (let i = 1; i < products.length; i++) {\n if (cost !== getCost(products[i])) {\n newproducts.push(products[i])\n cost = getCost(products[i])\n } else {\n }\n }\n return newproducts\n }\n\n askedForAssistance = () => {\n return true === this.props.application.askedforassistance && this.props.application.property.purpose === \"purchase\"\n }\n componentDidMount() {\n\n this.getFees()\n }\n\n filterForAssistance = products => {\n let out = []\n products.forEach(x => {\n if ([\"RocketPro\", \"Plaza\"].includes(x.Lender)) {\n out.push(x)\n }\n })\n return out\n }\n\n updateLender = lender => {\n\n let found = false\n let Lender = com.capitalize(lender)\n this.lenders.forEach(x => {\n if (x.name === Lender) {\n found = true\n }\n })\n if (found)\n return\n this.lenders.push({\n name: Lender, id: lender\n })\n this.setState({ selectedlenders: this.lenders, lenders: this.lenders })\n }\n isUnchecked = (lender) => {\n let found = false\n this.state.selectedlenders.forEach(x => {\n if (x.id === lender) {\n found = true\n }\n })\n return !found\n }\n processProducts = (products) => {\n if (\"undefined\" === typeof products || products.length === 0)\n return\n this.rawproducts = products\n let rearranged = []\n\n let minclosingcost = 10000000\n let maxclosingcost = 0\n let mintotalinterest = 100000000\n let maxtotalinterest = 0\n let maxreserves = 0\n let _types = []\n this.state.typeselected.forEach(a => {\n _types.push(a.cliff)\n })\n let _terms = []\n this.state.termselected.forEach(a => {\n _terms.push(com.safeParseInt(a.years))\n })\n let _totalterms = []\n products.forEach(product => {\n let lender = product.Lender\n this.updateLender(lender)\n if (this.isUnchecked(lender))\n return\n product.ProductRatesCosts.forEach(pr => {\n let commonproduct = pr.product\n let ausengine = pr.AUSEngine\n pr.rateCosts.forEach(rate => {\n if (!_totalterms.includes(com.safeParseInt(commonproduct.Term))) {\n\n _totalterms.push(com.safeParseInt(commonproduct.Term))\n }\n\n if (_terms.includes(com.safeParseInt(commonproduct.Term))) {\n let typ = commonproduct.Arm\n if (typ === null || typeof typ === \"undefined\")\n typ = 0\n else\n typ = typ.fixedperiod\n // filter out non-30 day locks\n if (rate.lockDay !== 30)\n return\n\n if (_types.includes(typ)) {\n\n let cc = rate.closing_cost // + rate.prepaid_interest\n if (cc > maxclosingcost)\n maxclosingcost = cc\n if (cc < minclosingcost)\n minclosingcost = cc\n let interest = com.getClosedInterestPaid(0.01 * rate.base_rate, com.safeParseInt(this.state.loansize), commonproduct.Term,\n this.state.yearstohold)\n\n if (interest > maxtotalinterest)\n maxtotalinterest = interest\n if (interest < mintotalinterest)\n mintotalinterest = interest\n if (rate.min_months_reserves > maxreserves)\n maxreserves = rate.min_months_reserves\n } else {\n }\n } else {\n }\n let pdkt = {\n Lender: lender,\n ...commonproduct,\n Aus: ausengine,\n ...rate\n }\n\n rearranged.push(pdkt)\n })\n })\n });\n\n\n this.setState({ maxreserves })\n\n if (this.state.selectedmaxreserves < 0 || this.state.selectedmaxreserves > maxreserves) {\n this.setState({ selectedmaxreserves: maxreserves })\n // eslint-disable-next-line react/no-direct-mutation-state \n this.state.selectedmaxreserves = maxreserves\n }\n\n\n if (minclosingcost < 0)\n minclosingcost = 0\n let lowclosingcost = minclosingcost\n let highclosingcost = maxclosingcost\n // if (highclosingcost > 2000 && highclosingcost === maxclosingcost && lowclosingcost < 1000 && maxclosingcost < 20000)\n // highclosingcost = 2000\n // else {\n // if (highclosingcost > 4000 && highclosingcost === maxclosingcost && lowclosingcost < 2000)\n // highclosingcost = 4000\n // else {\n // if (highclosingcost > 8000 && highclosingcost === maxclosingcost && lowclosingcost < 4000)\n // highclosingcost = 8000\n // else {\n // if (highclosingcost > 10000 && highclosingcost === maxclosingcost && lowclosingcost < 5000)\n // highclosingcost = 10000\n // else {\n // if (highclosingcost > 16000 && highclosingcost === maxclosingcost && lowclosingcost < 8000)\n // highclosingcost = 16000\n // else {\n // if (highclosingcost > 22000 && highclosingcost === maxclosingcost && lowclosingcost < 11000)\n // highclosingcost = 22000\n\n // }\n // }\n // }\n\n // }\n // }\n\n console.log(highclosingcost, this.state.highclosingcost)\n let oldmaxupfrontcost = this.oldmaxupfrontcost\n\n if (null !== oldmaxupfrontcost && \"\" !== oldmaxupfrontcost) {\n oldmaxupfrontcost = parseInt(oldmaxupfrontcost)\n if (oldmaxupfrontcost <= minclosingcost)\n oldmaxupfrontcost = minclosingcost\n if (oldmaxupfrontcost >= maxclosingcost)\n oldmaxupfrontcost = maxclosingcost\n highclosingcost = oldmaxupfrontcost\n }\n console.log(highclosingcost, this.state.highclosingcost)\n this.oldmaxupfrontcost = highclosingcost\n if (oldmaxupfrontcost !== highclosingcost) {\n let st = highclosingcost.toString()\n\n this.props.updateSelectField(st, \"maxupfrontcost\")\n }\n\n let newterms = []\n termoptions.forEach(a => {\n if (_totalterms.includes(a.years))\n newterms.push(a)\n })\n\n this.setState({\n lowclosingcost: lowclosingcost, highclosingcost: highclosingcost,\n minclosingcost: minclosingcost, maxclosingcost: maxclosingcost,\n mintotalinterest: mintotalinterest, maxtotalinterest: maxtotalinterest\n })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.lowclosingcost = lowclosingcost\n // eslint-disable-next-line react/no-direct-mutation-state \n console.log(highclosingcost, this.state.highclosingcost)\n this.state.highclosingcost = highclosingcost\n console.log(highclosingcost, this.state.highclosingcost)\n let terms = []\n rearranged.forEach(pr => {\n let term = pr.Arm ? pr.Arm.fixedperiod : \"fixed\"\n if (!terms.includes(term))\n terms.push(term)\n })\n\n // Lender, Name\n let plainproducts = []\n this.referi = {}\n rearranged.forEach(pr => {\n if (pr.lockDay !== 30)\n return\n \n const { Lender, Name, Aus, lenderinfo, features, DTI, high_cost_loan, high_priced_loan, ...partialObject } = pr;\n\n let hsh = hash(partialObject)\n if (typeof this.referi[hsh] === \"undefined\") {\n plainproducts.push({ hash: hsh, ...partialObject })\n this.referi[hsh] = [{ Lender: Lender, Name: Name, Aus: Aus, LenderInfo: lenderinfo, Rate: partialObject }]\n } else {\n \n this.referi[hsh].push({ Lender: Lender, Name: Name, Aus: Aus, LenderInfo: lenderinfo, Rate: partialObject })\n }\n })\n\n this.products = plainproducts\n this.filter()\n\n this.getSelectedIcon(this.props.selection.selectedloan)\n if (!this.changeshown) {\n if (this.props.application.selection.selectedloan == null ||\n this.props.application.selection.selectedloan.hash === \"\" ) {\n\n } else {\n if (this.referi[this.props.application.selection.selectedloan.hash] == null) {\n let suggestedLoan = this.findClosestLoan()\n this.setState({showPriceChanged: true, suggestedLoan})\n }\n }\n this.changeshown = true\n }\n\n }\n getSelectedIcon = (selectedloan) => {\n // prep the logo for the selected loan\n if (selectedloan != null && selectedloan.hash !== \"\") {\n let lenders = this.referi[selectedloan.hash]\n\n if (lenders != null) {\n let lender = lenders[0]\n\n let src = this.props.borrowerid ? lender2icon[lender.Lender] : \"/loan.png\"\n let image = \"lender\"\n this.setState({ selectedImage: image, needsAdjustment: false })\n } else {\n if (selectedloan.loansize !== this.state.loansize) {\n // keep old\n } else {\n let src = \"/pricingchange.png\"\n let image = \"ho \n this.setState({ selectedImage: image, needsAdjustment: true })\n }\n }\n\n } else {\n let src = \"/pricingchange.png\"\n let image = \"ho \n this.setState({ selectedImage: image, needsAdjustment: true })\n }\n }\n findClosestLoan = () => {\n let loan = this.props.selection.selectedloan\n let nextbest = null\n if(this.products.length === 0) {\n return\n }\n this.products.forEach(p => {\n if (p.base_rate !== loan.base_rate)\n return\n if (p.Term !== loan.Term)\n return\n if (loan.ARM != null) {\n if (p.ARM == null)\n return\n if (loan.ARM.fixedperiod !== p.ARM.fixedperiod)\n return\n }\n if (nextbest == null) {\n nextbest = p\n return\n }\n if (nextbest.closing_cost < 0 && p.closing_cost > 0)\n return\n if (nextbest.closing_cost < 0 && p.closing_cost < 0) {\n if (nextbest.closing_cost > p.closing_cost) {\n nextbest = p\n return\n }\n } else {\n if (nextbest.closing_cost > 0 && p.closing_cost > 0) {\n if (nextbest.closing_cost > p.closing_cost) {\n nextbest = p\n return\n }\n } else {\n if (nextbest.closing_cost > 0 && p.closing_cost <= 0) {\n nextbest = p\n return\n }\n }\n }\n })\n\n let suggested = new ChosenLoan()\n suggested.hash = nextbest.hash\n\n suggested.APR = nextbest.APR\n if (nextbest.Arm !== null)\n suggested.Arm = nextbest.Arm\n suggested.amortization = nextbest.MortgageAmortization\n suggested.Mtype = nextbest.Mtype\n suggested.Term = nextbest.Term\n suggested.base_rate = nextbest.base_rate\n suggested.closing_cost = nextbest.closing_cost\n suggested.features = nextbest.features\n suggested.high_cost_mortgage = nextbest.high_cost_mortgage\n suggested.lender_credit = nextbest.lender_credit\n suggested.lender_fee = nextbest.lender_fee\n suggested.lockDay = nextbest.lockDay\n suggested.min_months_reserves = nextbest.min_months_reserves\n suggested.monthly_payment = nextbest.monthly_payment\n suggested.prepaid_interest = nextbest.prepaid_interest\n suggested.points = nextbest.points\n suggested.pmi = nextbest.PMICost\n suggested.FHAMIP = nextbest.FHAMIP\n suggested.DTI = nextbest.DTI\n suggested.matchingproducts = []\n suggested.loansize = loan.loansize\n suggested.purpose = this.props.property.purpose\n suggested.ourfee = nextbest.zeitro_fee\n suggested.prepaiddays = this.prepaid_interest_days\n suggested.downpayment = loan.downpayment\n suggested.paydown = loan.paydown\n suggested.checkout = loan.checkout\n suggested.aus = loan.aus \n suggested.matchingproducts = []\n if(nextbest.maxcachout != null)\n suggested.maxcashout = nextbest.maxcashout\n\n this.referi[nextbest.hash].forEach(\n pr => {\n let l = new LoanProduct()\n\n l.Lender = pr.Lender\n l.Name = pr.Name\n l.lenderinfo = pr.LenderInfo\n l.aus = pr.Aus\n suggested.matchingproducts.push(l)\n }\n )\n // suggested.lender = lender2lender[suggested.matchingproducts[0].Lender]\n // preserve edits if they were already made\n if (loan != null && loan.estimatedclosingcosts != null) {\n suggested.estimatedclosingcosts = loan.estimatedclosingcosts\n } else {\n suggested.estimatedclosingcosts = this.props.selection.estimatedclosingcosts\n }\n return suggested\n }\n onPriceChange = () => {\n let suggestedLoan = this.findClosestLoan()\n this.setState({ showPriceChanged: true, suggestedLoan })\n\n }\n filter = () => {\n if (!this.products)\n return\n let types = []\n this.state.typeselected.forEach(a => {\n types.push(a.cliff)\n })\n let terms = []\n this.state.termselected.forEach(a => {\n terms.push(a.years)\n })\n\n let filteredbyterm = this.products.filter(p => terms.includes(p.Term));\n\n let filteredbytype = filteredbyterm.filter(p => {\n let typ = p.Arm\n if (typ === null || typeof typ === \"undefined\")\n typ = 0\n else\n typ = typ.fixedperiod\n return types.includes(typ)\n })\n // recalculate min and max here!\n\n let minclosingcost = 10000000\n let maxclosingcost = 0\n\n filteredbytype.forEach(a => {\n\n\n if (a.closing_cost < minclosingcost) {\n minclosingcost = parseFloat(a.closing_cost)\n }\n if (a.closing_cost > maxclosingcost) {\n maxclosingcost = parseFloat(a.closing_cost)\n }\n })\n if (minclosingcost < 0)\n minclosingcost = 0\n\n this.setState({\n minclosingcost: minclosingcost, maxclosingcost: maxclosingcost,\n // lowclosingcost: minclosingcost, highclosingcost: maxclosingcost,\n })\n\n\n let filteredbyclosing = filteredbytype.filter(a => {\n return (this.getClosingCosts(a) >= this.state.lowclosingcost) &&\n (this.getClosingCosts(a) <= this.state.highclosingcost)\n })\n\n if (this.state.maxreserves > 0) {\n filteredbyclosing = filteredbyclosing.filter(a => {\n return a.min_months_reserves <= this.state.selectedmaxreserves\n })\n }\n\n\n filteredbyclosing.sort(this.compare)\n // now need to filter appropriately\n if (this.props.application.hascoborrower === \"alone\" && false === this.props.application.aloneMarriedWantsFHA) {\n // do not show FHA\n filteredbyclosing = filteredbyclosing.filter(x => {\n return x.FHAMIP == null\n })\n }\n\n let culled = this.cull(filteredbyclosing)\n //let top = filteredbyclosing.slice(0, 10)\n\n culled.splice(this.howmany2display)\n let top = culled\n \n if(this.props.property.purpose === \"cashoutrefinance\" && this.props.selection.mincashout > 0) {\n if(parseInt(this.props.selection.cashout) < this.props.selection.mincashout) {\n \n this.setState({\n errorText:

Minimum cashout size is ${com.commaizeFloat(this.props.selection.mincashout)}.\n


\n
Please increase the cashout size
\n
, topProducts: []\n }) \n return \n }\n }\n\n this.setState({ topProducts: top })\n\n if (this.products && this.products.length > 0 && this.state.topProducts.length === 0) {\n this.setState({\n errorText:

There are no qualifying loan products that fit your filters.\n


\n
Move the range sliders, change the term/amortization selections, or
\n
\n })\n }\n\n }\n\n resetDefault = () => {\n let termselected = [termoptions[0]]\n let typeselected = []\n typeoptions.forEach(typ => {\n typeselected.push(typ)\n })\n this.setState({ typeselected, termselected })\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n }, 1000)\n }\n renderProducts = () => {\n return this.state.topProducts.map(this.displayCard)\n }\n onTriangleUpdate = (l1, l2) => {\n l1 = parseFloat(l1)\n l2 = parseFloat(l2)\n this.setState({ weightclosing: l2, weighttotalcost: l1, weightmonthly: Math.max(0.0, 1 - l2 - l1) })\n\n this.props.updateSelectField(l2, \"weightclosing\")\n this.props.updateSelectField(l1, \"weighttotalcost\")\n this.props.updateSelectField(Math.max(0.0, 1 - l2 - l1), \"weightmonthly\")\n\n this.filter()\n }\n updateTypes = e => {\n let out = []\n e.forEach(t => {\n out.push(t.id)\n })\n this.props.updateSelectField(out, \"loanamortizations\")\n }\n updateTerms = e => {\n let out = []\n e.forEach(t => {\n out.push(t.id)\n })\n this.props.updateSelectField(out, \"loanterms\")\n }\n onSelect = (e) => {\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.typeselected = e\n this.setState({ typeselected: e })\n this.updateTypes(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n }\n onRemove = (e) => {\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.typeselected = e\n this.setState({ typeselected: e })\n this.updateTypes(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n }\n onSelectTerms = (e) => {\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.termselected = e\n this.setState({ termselected: e })\n this.updateTerms(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n }\n onRemoveTerms = (e) => {\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.termselected = e\n this.setState({ termselected: e })\n this.updateTerms(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n }\n\n onSelectLenders = (e) => {\n\n this.setState({ selectedlenders: e }, () => {\n this.updateTerms(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n })\n }\n onRemoveLenders = (e) => {\n this.setState({ selectedlenders: e }, () => {\n this.updateTerms(e)\n this.processProducts(this.rawproducts)\n this.forceUpdate()\n })\n }\n\n selectsort = e => {\n this.props.updateSelectField(e, \"sortby\")\n switch (e) {\n case \"selectbyrate\":\n this.compare = this.compareRate\n this.cull = this.cullRate\n break\n case \"selectbyapr\":\n this.compare = this.compareAPR\n this.cull = this.cullAPR\n break\n case \"selectbyinterestterm\":\n this.compare = this.compareHoldingOwnership\n this.cull = this.cullHoldingOwnership\n break\n case \"selectbyinteresttotal\":\n this.compare = this.compareTotalOwnership\n this.cull = this.cullTotalOwnership\n break\n case \"selectbymonthlypayment\":\n this.compare = this.compareMonthly\n this.cull = this.cullMonthly\n break\n case \"selectbyclosingcosts\":\n this.compare = this.compareMoneyUpfront\n this.cull = this.cullMoneyUpfront\n break\n\n default:\n break\n }\n this.filter()\n return\n }\n updateYears = e => {\n this.setState({ yearstohold: e })\n }\n changeYears = e => {\n this.setState({ yearstohold: e })\n this.props.updateApplicationAttribute(com.safeParseInt(e), \"keepinghousefor\")\n return false\n }\n //--- begin callbacks that cause a reload\n updateDownpayment = e => {\n let dp = e\n if (isNaN(dp))\n return\n this.setState({ downpayment: com.safeParseInt(dp) })\n return false\n }\n changeDownpayment = e => {\n let dp = e\n if (isNaN(dp))\n return\n\n let ls = this.props.property.salesprice - parseFloat(dp)\n this.setState({ downpayment: dp, loansize: ls })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.loansize = ls\n this.props.updateSelectField(com.safeParseInt(dp), \"downpayment\")\n this.props.updateSelectField(ls.toString(), \"loansize\")\n // no need to do setState here\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.ltv = 100 * (ls) / this.props.property.salesprice\n\n this.getDTI()\n return false\n }\n updatePaydown = e => {\n let dp = e\n\n this.setState({ downpayment: dp })\n return false\n }\n changePaydown = e => {\n let dp = e\n if (isNaN(dp))\n dp = 0\n\n let ls = com.safeParseInt(this.props.application.loanbalance) - parseFloat(dp)\n this.setState({ downpayment: com.safeParseInt(dp), loansize: ls })\n this.props.updateSelectField(com.safeParseInt(dp), \"paydown\")\n this.props.updateSelectField(ls.toString(), \"loansize\")\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.loansize = ls\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.ltv = 100 * (com.safeParseInt(ls) / this.props.property.salesprice)\n\n this.getDTI()\n return false\n }\n\n onDownpaymentInput = e => {\n function decommaizeNumeric(v) {\n let n = v.replace(/[^0-9-]/g, '');\n if (n === \"\")\n return n\n return com.safeParseInt(n)\n }\n // TODO – validate max?\n\n let val = decommaizeNumeric(e.target.value.toString())\n\n let ls\n if (val < 0)\n val = 0\n if (val === \"\")\n val = 0\n switch (this.props.property.purpose) {\n case \"purchase\":\n ls = this.props.property.salesprice - val\n if (val > this.props.property.salesprice)\n val = this.props.property.salesprice\n this.props.updateSelectField(parseInt(val), \"downpayment\")\n break;\n case \"refinance\":\n ls = com.safeParseInt(this.props.application.loanbalance) - val\n if (val > this.props.application.loanbalance)\n val = this.props.application.loanbalance\n this.props.updateSelectField(parseInt(val), \"paydown\")\n break;\n case \"cashoutrefinance\":\n ls = com.safeParseInt(this.props.application.loanbalance) + val\n if (val > com.safeParseInt(this.props.property.appraisal) - com.safeParseInt(this.props.application.loanbalance))\n val = com.safeParseInt(this.props.property.appraisal) - com.safeParseInt(this.props.application.loanbalance)\n if (val < 0)\n val = 0\n this.props.updateSelectField(parseInt(val), \"cashout\")\n break;\n default:\n alert(\"should not see this!\")\n break;\n }\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.downpayment = val\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.loansize = ls\n this.setState({ defdownpayment: val, loansize: ls })\n this.props.updateSelectField(ls.toString(), \"loansize\")\n\n this.getDTI()\n }\n updateCashout = e => {\n let dp = e\n this.setState({ downpayment: com.safeParseInt(dp) })\n return false\n }\n changeCashout = e => {\n let dp = e\n\n let ls = com.safeParseInt(this.props.application.loanbalance) + parseFloat(dp)\n this.setState({ downpayment: dp, loansize: ls })\n this.props.updateSelectField(ls.toString(), \"loansize\")\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.ltv = 100 * (ls) / this.props.property.salesprice\n\n this.props.updateSelectField(com.safeParseInt(dp), \"cashout\")\n this.getDTI()\n return false\n }\n //--- end callbacks that cause a reload\n\n updateCost = e => {\n let high = e\n\n if (isNaN(high))\n high = this.state.maxclosingcost\n if (high !== this.state.highclosingcost) {\n this.setState({ highclosingcost: high })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.highclosingcost = high\n }\n this.oldmaxupfrontcost = high\n this.filter()\n }\n changeCost = e => {\n let high = e\n\n if (isNaN(high))\n high = this.state.maxclosingcost\n this.oldmaxupfrontcost = high\n if (high !== this.state.highclosingcost) {\n this.setState({ highclosingcost: high })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.highclosingcost = high\n }\n this.props.updateSelectField(high.toString(), \"maxupfrontcost\")\n console.log(this.oldmaxupfrontcost)\n this.filter()\n }\n\n updateReserves = e => {\n let [reserves] = e\n if (this.state.selectedmaxreserves < 0)\n return\n if (isNaN(reserves))\n reserves = this.state.maxreserves\n if (reserves !== this.state.selectedmaxreserves) {\n this.setState({ selectedmaxreserves: reserves })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.selectedmaxreserves = reserves\n }\n\n this.filter()\n }\n changeReserves = e => {\n let [reserves] = e\n if (this.state.selectedmaxreserves < 0)\n return\n if (isNaN(reserves))\n reserves = this.state.maxreserves\n if (reserves !== this.state.selectedmaxreserves) {\n this.setState({ selectedmaxreserves: reserves })\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.selectedmaxreserves = reserves\n }\n\n this.filter()\n }\n\n showSpinner = () => {\n return (\n
\n \n \"loader\"\n
\n )\n }\n removeSelection(hash) {\n let comparisonSelections = this.state.comparisonSelections\n delete comparisonSelections[hash]\n\n this.setState({ comparisonSelections })\n }\n selectLoan(hash) {\n let ob = this.referi[hash][0]\n let loan = new ChosenLoan()\n loan.hash = hash\n\n loan.APR = ob.Rate.APR\n if (ob.Rate.Arm !== null)\n loan.Arm = ob.Rate.Arm\n loan.amortization = ob.Rate.MortgageAmortization\n loan.Mtype = ob.Rate.Mtype\n loan.Term = ob.Rate.Term\n loan.base_rate = ob.Rate.base_rate\n loan.closing_cost = ob.Rate.closing_cost\n loan.features = ob.Rate.features\n loan.high_cost_mortgage = ob.Rate.high_cost_mortgage\n loan.lender_credit = ob.Rate.lender_credit\n loan.lender_fee = ob.Rate.lender_fee\n loan.lockDay = ob.Rate.lockDay\n loan.min_months_reserves = ob.Rate.min_months_reserves\n loan.monthly_payment = ob.Rate.monthly_payment\n loan.prepaid_interest = ob.Rate.prepaid_interest\n loan.points = ob.Rate.points\n loan.pmi = ob.Rate.PMICost\n loan.FHAMIP = ob.Rate.FHAMIP\n loan.DTI = ob.Rate.DTI\n loan.matchingproducts = []\n loan.loansize = this.state.loansize\n loan.purpose = this.props.property.purpose\n loan.ourfee = this.zeitro_fee\n loan.prepaiddays = this.prepaid_interest_days\n \n if(ob.Rate.max_cashout != null) {\n loan.maxcashout = ob.Rate.max_cashout\n }\n // preserve edits if they were already made\n if (this.props.selection.selectedloan != null && this.props.selection.selectedloan.estimatedclosingcosts != null) {\n loan.estimatedclosingcosts = this.props.selection.selectedloan.estimatedclosingcosts\n } else {\n loan.estimatedclosingcosts = this.props.selection.estimatedclosingcosts\n }\n let cc = loan.estimatedclosingcosts\n if (loan.FHAMIP != null) {\n\n let addFha = () => {\n let found = false\n\n cc.cannotshopservices.forEach(key => {\n if (key.servicename === com.upfrontMI) {\n key.estimateamount = loan.FHAMIP.upfrontMIP\n found = true\n }\n })\n if (!found) {\n let s = new service()\n s.servicename = com.upfrontMI\n s.estimateamount = loan.FHAMIP.upfrontMIP\n cc.cannotshopservices.push(s)\n }\n }\n addFha()\n } else {\n\n for (let i = 0; i < cc.cannotshopservices.length; i++) {\n if (cc.cannotshopservices[i].servicename === com.upfrontMI) {\n cc.cannotshopservices = cc.cannotshopservices.splice(i, 1)\n break\n }\n }\n }\n\n switch (this.props.property.purpose) {\n case \"purchase\":\n loan.downpayment = this.state.downpayment\n break;\n case \"refinance\":\n loan.paydown = this.state.downpayment\n break;\n case \"cashoutrefinance\":\n loan.cashout = this.state.downpayment\n break;\n default:\n break;\n }\n\n loan.aus = ob.Aus\n\n this.referi[hash].forEach(\n pr => {\n let l = new LoanProduct()\n\n l.Lender = pr.Lender\n l.Name = pr.Name\n l.lenderinfo = pr.LenderInfo\n l.aus = pr.Aus\n loan.matchingproducts.push(l)\n }\n )\n // loan.lender = lender2lender[loan.matchingproducts[0].Lender ]\n\n this.props.updateSelectField(loan, \"selectedloan\")\n\n if ((\"\" === this.props.application.borrower.expenses.futuremortgageinsurance ||\n \"0\" === this.props.application.borrower.expenses.futuremortgageinsurance\n ) &&\n 0 !== loan.pmi) {\n let insurance = (parseFloat(loan.monthly_payment) * loan.pmi).toFixed(2)\n\n this.props.updateExpenses({ target: { value: \"monthly\" } },\n \"borrower\", \"futuremortgageinsuranceperiod\")\n this.props.updateExpenses({ target: { value: insurance } },\n \"borrower\", \"futuremortgageinsurance\")\n } else {\n if (0 === loan.pmi) {\n this.props.updateExpenses({ target: { value: 0 } },\n \"borrower\", \"futuremortgageinsurance\")\n }\n }\n\n this.getSelectedIcon(loan)\n }\n selectCard = card => {\n com.touch()\n this.selectLoan(card.hash)\n }\n\n getOldInterestRate = () => {\n\n if (this.props.application.property.purpose !== st.POL_Refinance)\n return\n // just scan all the loans for rate\n // first regular loans from credit report\n let rate = 0\n for (let i = 0; i < this.props.application.assetsandliabilities.loans.length; i++) {\n if (this.props.application.assetsandliabilities.loans[i].forsubjectproperty &&\n this.props.application.assetsandliabilities.loans[i].satisfiedupon === \"withproceeds\") {\n rate = this.props.application.assetsandliabilities.loans[i].rate\n }\n }\n\n if (0 === rate) {\n if (this.props.application.otherliens !== null) {\n for (let i = 0; i < this.props.application.otherliens.length; i++) {\n if (this.props.application.otherliens[i].satisfiedupon === \"withproceeds\") {\n rate = this.props.application.otherliens[i].rate\n }\n }\n }\n }\n return rate\n }\n displayCard = (card, index) => {\n\n let currentMonthly = com.getMonthlyValue(this.props.application.borrower.expenses.currentfirstmortgage,\n this.props.application.borrower.expenses.currentfirstmortgageperiod)\n let mostyle = {}\n if (card.monthly_payment > parseFloat(currentMonthly)) {\n mostyle = { color: '#c33' }\n } else {\n mostyle = { color: '#393' }\n }\n let showSavings = () => {\n\n if (this.props.property.purpose !== \"refinance\")\n return \"\"\n if (card.monthly_payment > parseFloat(currentMonthly)) {\n return \n }\n return \n }\n\n if (this.props.selection.selectedloan !== null && (this.props.selection.selectedloan.hash === card.hash))\n return \"\"\n let getName = () => {\n if (this.props.borrowerid && this.referi && this.referi[card.hash] != null) {\n let r = this.referi[card.hash][0]\n return r[\"Lender\"] + \", \" + r[\"Name\"]\n }\n return com.capitalize(card.Mtype.replace('_', ' ').toLowerCase().replace('fha', 'FHA'))\n }\n let getType = () => {\n let tp = \"\"\n if (card.Arm == null )\n tp = \"Fixed rate\"\n else\n tp = \"ARM \" + card.Arm.fixedperiod + \"/6\"\n return tp\n }\n\n let selectCard = e => { return this.selectCard(card) }\n let fingerclass = \"fas fa-hand-point-left mr-1\"\n if (index === 0)\n fingerclass += \" fingerclass\"\n let points = com.commaizeFloat((card.points * com.safeParseInt(this.state.loansize) / 100).toFixed(2))\n let moPayment = () => {\n let payment = card.monthly_payment\n if (card.PMICost !== 0) {\n payment = payment + card.PMICost\n } else if (card.FHAMIP != null) {\n payment = payment + card.FHAMIP.monthlyMIP\n }\n payment = com.commaizeFloat(payment.toFixed(2))\n return payment\n }\n let src = \"\"\n // if (this.referi != null && this.referi && this.referi[card.hash] != null) {\n // let lender = this.referi[card.hash][0]\n // src = this.props.borrowerid ? lender2icon[lender.Lender] : \"/loan.png\"\n // }\n let oncheckbox = (e) => {\n let ch = e.target.checked\n let ar = this.state.comparisonSelections\n if (ar[card.hash] != null)\n delete ar[card.hash]\n\n if (ch) {\n ar[card.hash] = this.referi[card.hash]\n ar[card.hash].loansize = this.state.loansize\n ar[card.hash].paydown = this.props.selection.paydown\n ar[card.hash].downpayment = this.props.selection.downpayment\n ar[card.hash].cashout = this.props.selection.cashout\n }\n this.setState({ comparisonSelections: ar })\n }\n\n\n let getBreakPoint = (loan) => {\n let interestRate = this.getOldInterestRate()\n\n function getClosedInterestPaid(rate, loansize, termmonths, spanmonths) {\n\n let monthlyrate = rate / 12.0\n let expn = Math.pow(1 + monthlyrate, termmonths)\n let payment = loansize * monthlyrate * expn / (expn - 1)\n payment = (Math.round(payment * 100) / 100)\n\n let accumulatedinterest = (loansize * monthlyrate - payment) *\n (Math.pow(1 + monthlyrate, spanmonths) - 1) / monthlyrate +\n spanmonths * payment\n return accumulatedinterest\n }\n\n let breakPoint = -1\n if (parseFloat(interestRate) <= loan.base_rate) {\n return breakPoint\n }\n\n for (let i = 1; i <= loan.Term * 12; i++) {\n let accumulatedOld = getClosedInterestPaid(parseFloat(interestRate) / 100, this.state.loansize, loan.Term * 12, i)\n let accumulatedNew = getClosedInterestPaid(loan.base_rate / 100, this.state.loansize, loan.Term * 12, i)\n\n accumulatedNew += loan.closing_cost\n if (accumulatedNew < accumulatedOld) {\n breakPoint = i\n break\n }\n }\n return breakPoint\n }\n\n return (\n \n \n \n {getName()}\n {this.props.borrowerid ? \"\" :
, {getType()}, {card.Term} years
}\n \n \n \n \n
\n \n\n \n
Rate / APR
\n
{card.base_rate}% / {card.APR}%
\n \n \n
Mo. Payment
\n {this.props.property.purpose === \"refinance\" ? MonhtlyChangeBP(currentMonthly, card.monthly_payment, getBreakPoint(card),\n ${moPayment()}{showSavings()}\n ) : ${moPayment()}} \n \n
Estimated Closing Cost
\n ${com.commaizeFloat((this.getClosingCosts(card)).toFixed(2))}\n \n \n
Points
\n
{com.commaizeFloat(card.points.toFixed(3))}%{card.points <= 0 ? \"\" : /${points}}
\n \n
\n \n\n \n {card.PMICost !== 0 ? Requires mortgage insurance ${com.commaizeFloat(card.PMICost)}/mo : \"\"}\n\n {com.safeParseInt(card.min_months_reserves) > 0 ?\n \n Reserves required: {card.min_months_reserves} months\n : \"\"}\n\n {card.FHAMIP != null ?\n \n Upfront mortgage insurance premium: ${card.FHAMIP.upfrontMIP}, monthly insurance payment: ${com.commaizeFloat(card.FHAMIP.monthlyMIP)}\n \n : \"\"}\n \n\n \n\n
\n )\n }\n acceptFiddle = () => {\n this.setState({ showSelf: false })\n this.componentDidMount()\n }\n\n handleSubmit = (event) => {\n if (this.props.application.hascoborrower === \"multiple\") {\n let notready = 0\n let remotes = this.props.application.remotecoborrowers\n\n for (let i = 0; i < remotes.length; i++) {\n let pos = this.state.positionbyemail[remotes[i].email]\n if (pos < com.prefillLimit)\n notready += 1\n }\n if (notready > 0) {\n alert(\"We can't proceed to the product selection until all the coborrowers fill their applications to this point!\")\n return false\n }\n }\n\n if (this.props.selection.selectedloan.hash === \"\") {\n alert(\"Please select a suitable loan\")\n return false\n }\n return true\n }\n onDownPurchase = () => {\n let newd = this.state.downpayment - 1\n if (newd < 0)\n newd = 0\n this.setState({ downpayment: newd })\n }\n onDone = () => {\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n switch (this.props.property.purpose) {\n case \"purchase\":\n this.props.updateSelectField(parseInt(this.state.downpayment), \"downpayment\")\n break;\n case \"refinance\":\n this.props.updateSelectField(parseInt(this.state.downpayment), \"paydown\")\n break;\n case \"cashoutrefinance\":\n this.props.updateSelectField(parseInt(this.state.downpayment), \"cashout\")\n break;\n default:\n alert(\"should not see this!\")\n break;\n }\n this.getDTI()\n }, 100)\n }\n onUpPurchase = () => {\n let newd = this.state.downpayment + 1\n if (newd > this.props.property.salesprice)\n newd = this.props.property.salesprice\n this.setState({ downpayment: newd })\n }\n printDownpayment = () => {\n let getPercent = () => {\n return Math.floor(100 * (parseFloat(this.props.property.salesprice)-parseFloat(this.state.downpayment)) / parseFloat(this.props.property.salesprice))\n }\n \n let purchase = () => {\n\n return
\n
Adjust downpayment:
\n Purchase Price: ${com.commaize(this.props.property.salesprice)} \n Loan amount: ${com.commaize(this.props.property.salesprice - this.state.downpayment)} \n LTV: {getPercent()}% \n Downpayment: \n {/* \n
\n { e.key === 'Enter' && e.preventDefault(); }} className=\"d-block\" style={{ width: '110px !important' }} type=\"text\" size=\"10\"\n pattern=\"^[0-9,]+$\"\n onChange={this.onDownpaymentInput} required={false}\n value={com.commaize(this.state.downpayment)} />\n \n ({getPercent()}%)
\n */}\n
\n
\n }\n let refirate = () => {\n let onUpRefirate = () => {\n let newd = this.state.downpayment + 1\n if (newd > com.safeParseInt(this.props.application.loanbalance))\n newd = com.safeParseInt(this.props.application.loanbalance)\n this.setState({ downpayment: newd })\n }\n return
\n
Adjust loan amount:
\n Current balance: ${com.commaize(this.props.application.loanbalance)} \n Loan amount: ${com.commaize(com.safeParseInt(this.props.application.loanbalance) - this.state.downpayment)} \n Paydown principal: \n\n
\n }\n let cashout = () => {\n let onUpCashout = () => {\n let newd = this.state.downpayment + 1\n\n if (newd > this.props.property.appraisal - com.safeParseInt(this.props.application.loanbalance))\n newd = this.props.property.appraisal - com.safeParseInt(this.props.application.loanbalance)\n this.setState({ downpayment: newd })\n }\n return
\n
Adjust cash out
\n Current balance: ${com.commaize(this.props.application.loanbalance)} \n Loan amount: ${com.commaize(com.safeParseInt(this.props.application.loanbalance) + com.safeParseInt(this.state.downpayment))} \n Cash out:\n\n
\n }\n\n switch (this.props.property.purpose) {\n case \"purchase\":\n return (\n
\n
{purchase()}
\n \n \n {/* */}\n \n
\n )\n case \"refinance\":\n return (\n
\n
{refirate()}
\n \n this.onDownpaymentInput({target:{value: e}})} step={1000} min={0} max={com.safeParseInt(this.props.application.loanbalance)} initVal={this.state.defdownpayment} />\n {/* */}\n \n
\n )\n case \"cashoutrefinance\":\n return (\n
\n
{cashout()}
\n \n \n {/* */}\n \n
\n )\n default:\n alert(\"should not see this!\")\n return \"\";\n }\n }\n getClosingCosts = (card) => {\n\n let cc = card.closing_cost\n\n if (cc < 0)\n cc = 0\n return cc\n }\n getRemainintLenderCredits = (card) => {\n\n let cc = card.closing_cost\n\n if (cc > 0)\n cc = 0\n return -cc\n }\n onCCInput = e => {\n\n let val = com.decommaizeNumeric(e.target.value.toString())\n this.setState({ highclosingcost: val })\n if (val < this.state.minclosingcost || val > this.state.maxclosingcost)\n return\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.highclosingcost = val\n this.oldmaxupfrontcost = val\n clearTimeout(this.timer)\n this.timer = setTimeout(() => this.processProducts(this.rawproducts), 400)\n //\n }\n\n\n getDownpayment = (card) => {\n switch (this.props.property.purpose) {\n case \"purchase\":\n return card.downpayment\n case \"refinance\":\n return card.paydown\n case \"cashoutrefinance\":\n return 0\n default:\n return 0;\n }\n\n }\n deleteSelection = () => {\n com.touch()\n this.props.updateSelectField(new ChosenLoan(), \"selectedloan\")\n }\n displaySelectedCard = () => {\n if (this.props.selection.selectedloan === null || this.props.selection.selectedloan.hash === \"\") {\n return \"\"\n }\n\n let card = this.props.selection.selectedloan\n let currentMonthly = com.getMonthlyValue(this.props.application.borrower.expenses.currentfirstmortgage,\n this.props.application.borrower.expenses.currentfirstmortgageperiod)\n let mostyle = {}\n if (card.monthly_payment > parseFloat(currentMonthly)) {\n mostyle = { color: '#c33' }\n } else {\n mostyle = { color: '#393' }\n }\n let showSavings = () => {\n if (this.props.property.purpose !== \"refinance\")\n return \"\"\n if (card.monthly_payment > parseFloat(currentMonthly)) {\n return \n }\n return \n }\n let getName = () => {\n if (this.props.borrowerid && this.referi && this.referi[card.hash] != null) {\n let r = this.referi[card.hash]\n if (r !== undefined && r[0] !== undefined)\n return com.capitalize(r[0][\"Lender\"]) + \", \" + r[0][\"Name\"]\n }\n return com.capitalize(card.Mtype.replace('_', ' ').toLowerCase().replace('fha', 'FHA'))\n }\n let getType = (card) => {\n if (null == card)\n return \"\"\n if (card.Arm == null || card.amortization === \"fixed\")\n return \"Fixed rate\"\n return \"ARM \" + card.Arm.fixedperiod + \"/6\"\n }\n let loansize = com.safeParseInt(card.loansize)\n\n\n let points = com.commaizeFloat((card.points * com.safeParseInt(card.loansize) / 100).toFixed(2))\n let moPayment = () => {\n\n let payment = card.monthly_payment\n if (card.pmi !== 0) {\n payment = payment + card.pmi\n } else if (card.FHAMIP != null) {\n payment = payment + card.FHAMIP.monthlyMIP\n }\n payment = com.commaizeFloat(payment.toFixed(2))\n return payment\n }\n\n let getBreakPoint = (loan) => {\n let interestRate = this.getOldInterestRate()\n\n function getClosedInterestPaid(rate, loansize, termmonths, spanmonths) {\n\n let monthlyrate = rate / 12.0\n let expn = Math.pow(1 + monthlyrate, termmonths)\n let payment = loansize * monthlyrate * expn / (expn - 1)\n payment = (Math.round(payment * 100) / 100)\n\n let accumulatedinterest = (loansize * monthlyrate - payment) *\n (Math.pow(1 + monthlyrate, spanmonths) - 1) / monthlyrate +\n spanmonths * payment\n return accumulatedinterest\n }\n\n let breakPoint = -1\n if (parseFloat(interestRate) <= loan.base_rate) {\n return breakPoint\n }\n\n for (let i = 1; i <= loan.Term * 12; i++) {\n let accumulatedOld = getClosedInterestPaid(parseFloat(interestRate) / 100, loan.loansize, loan.Term * 12, i)\n let accumulatedNew = getClosedInterestPaid(loan.base_rate / 100, loan.loansize, loan.Term * 12, i)\n\n accumulatedNew += loan.closing_cost\n if (accumulatedNew < accumulatedOld) {\n breakPoint = i\n break\n }\n }\n return breakPoint\n }\n let image = this.state.selectedImage\n let onHidePriceChanged = () => {\n this.setState({ showPriceChanged: false })\n }\n let useSuggestion = () => {\n this.props.updateSelectField(this.state.suggestedLoan, \"selectedloan\")\n this.getSelectedIcon(this.state.suggestedLoan)\n this.setState({ showPriceChanged: false })\n }\n\n let oncheckbox = (e) => {\n let ch = e.target.checked\n let ar = this.state.comparisonSelections\n if (ar[card.hash] != null)\n delete ar[card.hash]\n\n if (ch) {\n ar[card.hash] = this.referi[card.hash]\n ar[card.hash].loansize = card.loansize\n ar[card.hash].paydown = card.paydown\n ar[card.hash].downpayment = card.downpayment\n ar[card.hash].cashout = card.cashout\n }\n this.setState({ comparisonSelections: ar })\n }\n let st = {}\n try {\n if (this.state.suggestedLoan.closing_cost > this.props.application.selection.selectedloan.closing_cost) {\n st = { color: '#633' }\n } else {\n if (this.state.suggestedLoan.closing_cost < this.props.application.selection.selectedloan.closing_cost) {\n st = { color: '#363' }\n }\n }\n } catch (x) {\n\n }\n\n return
\n\n \n \n The closing cost of your selected loan has changed!\n \n \n {this.state.suggestedLoan != null ?\n
\n Here's a new suggested loan: \n Loan type:{getType(this.state.suggestedLoan)}, {this.state.suggestedLoan.Term} years \n\n\n Loan amount: ${com.commaizeFloat(this.state.suggestedLoan.loansize)} \n Base rate: {this.state.suggestedLoan.base_rate}% \n {this.state.suggestedLoan.base_rate !== this.props.application.selection.selectedloan.base_rate ?\n Old rate: {this.props.application.selection.selectedloan.base_rate}% \n : \"\"\n }\n APR: {this.state.suggestedLoan.APR}% \n Monthly payment: ${com.commaizeFloat(this.state.suggestedLoan.monthly_payment)} \n {this.state.suggestedLoan.closing_cost >= 0 ?\n Closing costs: ${com.commaizeFloat(this.state.suggestedLoan.closing_cost.toFixed(2))} \n :\n Closing costs: $0Remaining credits: ${com.commaizeFloat(-this.state.suggestedLoan.closing_cost.toFixed(2))}\n \n }\n {this.state.suggestedLoan.closing_cost !== this.props.application.selection.selectedloan.closing_cost ?\n (this.props.application.selection.selectedloan.closing_cost >= 0 ?\n Old closing costs: ${com.commaizeFloat(this.props.application.selection.selectedloan.closing_cost.toFixed(2))} :\n Old remaining credits: ${com.commaizeFloat(this.props.application.selection.selectedloan.closing_cost.toFixed(2))} \n )\n : \"\"\n }\n\n
\n : \"\"\n }\n
\n \n \n \n \n \n \n \n \n \n \n
\n\n \n
CHOSEN RATE
\n \n \n
\n {getName()}\n {this.props.borrowerid ? \"\" :
,  {getType(card)}, {card.Term} years
}\n
\n \n \n {this.state.needsAdjustment ?\n Click to update the loan\n :\n Remove choice\n }\n \n
\n \n\n \n
Rate / APR
\n {card.base_rate}% / {card.APR}%\n \n \n
Mo. Payment
\n {this.props.property.purpose === \"refinance\" ? MonhtlyChangeBP(currentMonthly, card.monthly_payment, getBreakPoint(card),\n ${moPayment()}{showSavings()}\n ) : ${moPayment()}}\n \n \n
Closing Cost
\n ${com.commaizeFloat((this.getClosingCosts(card)).toFixed(2))}\n \n\n \n
Points
\n {com.commaizeFloat(card.points.toFixed(3))}%{card.points <= 0 ? \"\" : /${points}}\n \n
\n \n \n {card.pmi !== 0 ? Requires mortgage insurance ${com.commaizeFloat(card.pmi)}/mo : \"\"}\n\n {com.safeParseInt(card.min_months_reserves) > 0 ?\n \n Reserves required: {card.min_months_reserves} months\n : \"\"}\n {card.FHAMIP != null ?\n \n Upfront mortgage insurance premium: ${card.FHAMIP.upfrontMIP}, monthly insurance payment: ${com.commaizeFloat(card.FHAMIP.monthlyMIP)}\n \n : \"\"}\n \n\n \n
\n\n
\n\n }\n checkStatus = () => {\n let token = sessionStorage.getItem(\"ZeitroA\")\n if (this.props.application.remotecoborrowers.length > 0) {\n this.setState({ statusloaded: false })\n fetch('/data/coborrowerstatus', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"X-Borrower\": this.props.borrowerid,\n }\n }).then(\n response => {\n if (response.status !== 200) {\n //alert('Looks like there was a problem. Status Code: ' +\n // response.status);\n //window.document.dispatchEvent(new Event('reauthenticate'), \"\");\n\n return;\n }\n // Examine the text in the response\n response.json().then(js => {\n let positionbyemail = {}\n let proc = (a, i) => {\n let email = a.Email\n let position = a.Position\n positionbyemail[email] = position\n }\n js.map(proc)\n this.setState({ positionbyemail: positionbyemail, statusloaded: true })\n });\n }\n ).catch((err) => {\n console.log('Fetch Error :', err);\n });\n\n }\n }\n\n renderRemoteCoborrowers = (rb, i) => {\n let getStatus = () => {\n let status = \"Invited\"\n if (rb.email in this.state.positionbyemail) {\n let pos = this.state.positionbyemail[rb.email]\n\n status = com.positionToStatus(pos)\n }\n return status\n }\n if (this.state.positionbyemail[rb.email] >= com.prefillLimit)\n return
\n else {\n clearTimeout(this.timer)\n this.timer = setTimeout(this.checkStatus, 30000)\n return (\n
\n \n \n \n First Name:
\n
{rb.firstname}
\n
\n \n \n \n Last Name:
\n
{rb.lastname}
\n
\n \n \n \n Email:
\n
{rb.email}
\n
\n \n \n \n Status:
\n
{getStatus()}
\n
\n \n\n
\n
\n )\n }\n }\n\n waiting = (num) => {\n\n return (\n
\n

\n Product selector\n

\n
\n
{\n (num === 1) ?
Look like your coborrower has not filled enough of their application to allow product selection:
\n :
Look like some of your coborrowers have not filled enough of their application to allow product selection:
\n }
\n {this.props.application.remotecoborrowers.map(this.renderRemoteCoborrowers)}\n\n
\n
\n )\n }\n\n CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\n {\n e.preventDefault();\n onClick(e);\n }}\n className=\"ratesDropdown \"\n >\n
{children}
\n \n \n ));\n\n contactLO = () => {\n this.setState({showContactModal: true})\n\n let token = sessionStorage.getItem(\"ZeitroA\")\n fetch('/borrower/contactloaboutrates', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"X-Borrower\": this.props.borrowerid,\n }\n }).then(\n response => {\n if (response.status !== 200) {\n console.log(response)\n return;\n }\n return\n }\n ).catch((err) => {\n console.log('Fetch Error :', err);\n });\n\n }\n showSortButton = () => {\n return (\n
\n \n
\n \n \n Sort by\n \n\n \n {Object.keys(sorts).map(k => {\n return (\n \n {sorts[k]}\n )\n })}\n \n \n \n \n Filter\n \n\n \n
\n {this.displayFilters()}\n
\n
\n
\n
\n
\n )\n }\n displayFilters = () => {\n return
\n
\n {this.printDownpayment()}\n
\n {/*\n
Limit mo. payment range:
${com.commaize(this.state.lowpayment)} - ${com.commaize(this.state.highpayment)}
\n \n \n \n */}\n Maximum closing costs:
By moving this slider, you select your trade off between low closing costs and best rate
\n
Set it all the way to the left to find the best rate product with the lowest closing costs
\n
If you want to buy down a better rate, move the slider to the right
\n
}\n placement=\"right\"\n title=\"\"\n /> \n \n\n \n \n \n {this.state.maxreserves > 0 ?\n
\n Limit reserves:\n\n
\n\n
\n {this.state.selectedmaxreserves} mo.
\n\n\n
\n\n
\n \n \n \n
: \"\"}\n\n \n \n
Amortization\n
\n \n \n \n \n\n \n
Loan Terms
\n \n \n \n \n
\n\n {\n this.props.borrowerid ? (\n \n \n
Lenders\n
\n \n \n \n \n
\n ) : (\"\")\n }\n \n {this.props.borrowerid ?\n \n \n \n\n \n : \"\"}\n \n }\n render = () => {\n let showMore = () => {\n this.setState({ showMore: false })\n this.howmany2display = 10\n if (this.props.borrowerid)\n this.howmany2display *= 3\n this.processProducts(this.rawproducts)\n }\n let showLess = () => {\n this.setState({ showMore: true })\n this.howmany2display = 5\n if (this.props.borrowerid)\n this.howmany2display *= 3\n this.processProducts(this.rawproducts)\n }\n\n if (this.props.application.hascoborrower === \"multiple\") {\n if (!this.state.statusloaded) {\n return
\n \"\"\n\n
\n }\n\n let notready = 0\n let remotes = this.props.application.remotecoborrowers\n\n for (let i = 0; i < remotes.length; i++) {\n let pos = this.state.positionbyemail[remotes[i].email]\n if (pos < com.prefillLimit)\n notready += 1\n }\n if (notready > 0) {\n return
\n {this.waiting(notready)}\n
\n }\n }\n\n return (\n \n \n this.setState({ show: false })}>\n \n \"\"Loan Drill Down\n \n \n
\n \n \n \n\n \n \n this.setState({ showComparison: false })}>\n \n \"\"Loan Comparison\n \n \n {\n this.setState({ showComparison: false })\n }}\n calldelete={this.removeSelection.bind(this)}\n callselect={this.selectLoan.bind(this)}\n selection={this.state.comparisonSelections} />\n \n \n \n\n \n \n \n
My Rates
\n {this.showSortButton()}\n
\n \n \n {this.displayFilters()}\n \n\n\n \n {this.displaySelectedCard()}\n\n {this.state.loading ?
: (this.state.topProducts.length > 0 ? this.renderProducts() : this.state.errorText)}\n\n {this.state.topProducts.length > 0 ?\n \n {this.state.showMore ? \n : }\n \n \n : \"\"}\n \n
\n\n \n );\n }\n}\n\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(ProductPicker)\n","import React, { Component } from \"react\"\nimport \"bootstrap/dist/css/bootstrap.min.css\"\nimport { Skeleton, Typography } from \"antd\"\n\nimport * as com from \"../Common.js\"\nimport {connect} from \"react-redux\"\nimport * as act from \"../Store/actions\"\nimport {UpdateChangeProgressType} from \"../Store/progress\"\nimport * as prgr from \"../Store/progress\"\n\nimport PreQualLetterHistory from \"./Prequal/PrequalLetterHistory\"\nimport {PrequalLetterHeader} from \"./Prequal/PrequalLetterHeader\"\nimport {NoPrequalLetters} from \"./Prequal/NoPrequalLetters\"\n\nimport {\n getFees,\n getDTI,\n getCitizenship,\n getOccupancy,\n getPropertyType,\n productReload,\n} from \"./ProductPicker\"\n\nconst {Paragraph} = Typography\n\nconst getType = (card) => {\n if (card.Arm === null || card.Arm === 0) return \"Fixed rate\"\n return \"ARM \" + card.Arm.fixedperiod + \"/6\"\n}\n\nconst mapStateToProps = (state) => {\n return {\n hascoborrower: state.application.hascoborrower,\n cohabiting: state.application.cohabiting,\n application: state.application,\n property: state.application.property,\n selection: state.application.selection,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateChangeApplication: (application) => {\n dispatch(act.updateApplication(application));\n },\n updateChangeProgressType: (step, stage) => {\n dispatch(UpdateChangeProgressType(step, stage));\n },\n updateChangeProgress: (tab, index) => {\n dispatch(prgr.UpdateChangeProgress(tab, index));\n },\n updateChangeProgressType: (tab) => {\n dispatch(prgr.UpdateChangeProgressType(tab));\n },\n updateChangeVisitedStage: (step, stage) => {\n dispatch(prgr.UpdateChangeVisitedStage(step, stage));\n },\n changeMainPropertyPurpose: (val) => {\n dispatch(act.ChangeMainPropertyPurpose(val));\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb));\n },\n changeBorrowerInfo: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.value, who, verb));\n },\n changeBorrowerInfoCheck: (event, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(event.target.checked, who, verb));\n },\n changePhoneInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb));\n },\n\n updatePreviousAddress: (event, who, verb, n) => {\n dispatch(act.UpdatePreviousAddress(event.target.value, who, verb, n));\n },\n addPreviousAddress: (event, who) => {\n dispatch(act.AddPreviousAddress(event.target.value, who));\n },\n removePreviousAddress: (event, who, n) => {\n dispatch(act.RemovePreviousAddress(event.target.value, who, n));\n },\n clearPreviousAddress: (event, who) => {\n dispatch(act.ClearPreviousAddress(event.target.value, who));\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb));\n },\n changeMainPropertyUnits: (event) => {\n dispatch(act.ChangeMainPropertyUnits(event.target.value));\n },\n changeMainPropertyYearBuilt: (event) => {\n dispatch(act.ChangeMainPropertyYearBuilt(event.target.value));\n },\n changeMainPropertyRefinanceYearAcquired: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceYearAcquired(event));\n },\n changeMainPropertyRefinanceOriginalCost: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceOriginalCost(event));\n },\n updateApplicationAttribute: (input, verb) => {\n dispatch(act.UpdateApplicationAttribute(input, verb));\n },\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb));\n },\n})\n\nclass PrequalLetter extends Component {\n constructor(props) {\n super(props)\n this.state = {\n loading: true,\n loadingPdf: false,\n purpose: \"Purchase\", // propagated\n loansize: 0.8 * com.safeParseInt(this.props.property.salesprice),\n show: false,\n download: \"\",\n url: \"\",\n showContactModal: false,\n showCreateNewModal: false,\n loadingCreateNew: false,\n showPrequalLetterHistory: false,\n automatedPreQualLetter: false,\n }\n this.prequalLetterHistoryRef = React.createRef()\n\n this.Loan25 = null\n this.Loan20 = null\n this.Loan10 = null\n // this.fhaLoan = null\n this.count = 0\n this.customerid = com.getCustomerId()\n }\n componentDidMount() {\n const token = com.getUserToken()\n const paths = window.location.pathname.split(\"/\")\n const loanID = paths[paths.length - 1]\n fetch(\"/borrower/get_all_prequal_letters_for_loan\", {\n method: \"POST\",\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n },\n body: JSON.stringify({ loanid: loanID }),\n }).then((response) => {\n response.json().then((data) => {\n if (data.length === 0) {\n fetch(\"/borrower/check-loan-officer-feature\", {\n method: \"GET\",\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n },\n }).then((response) => {\n response.json().then((data) => {\n if (data.AutomatedPreQualLetter) {\n this.setState({ automatedPreQualLetter: true })\n this.getFees()\n } else {\n // If there are no prequal letters and automated prequal letter is disabled, show the history (which will be empty)\n this.setState({ showPrequalLetterHistory: true })\n }\n })\n })\n } else {\n // If there are prequal letters, show the history, regardless of whether the automated prequal letter is enabled\n console.log(\n `Found ${data.length} prequal letters, displaying history.`\n )\n this.setState({ showPrequalLetterHistory: true })\n }\n });\n });\n }\n getFees = getFees.bind(this)\n getDTI = getDTI.bind(this)\n getCitizenship = getCitizenship.bind(this)\n getOccupancy = getOccupancy.bind(this)\n getPropertyType = getPropertyType.bind(this)\n productReload = productReload.bind(this)\n\n getLTV = () => {\n const { loansize } = this.state\n const { salesprice } = this.props.property\n const ltv = (com.safeParseInt(loansize) * 100) / com.safeParseInt(salesprice)\n const cltv = ((com.safeParseInt(loansize) + com.safeParseInt(this.cltv)) * 100) / com.safeParseInt(salesprice)\n const hcltv = ((com.safeParseInt(loansize) + com.safeParseInt(this.hcltv)) * 100) / com.safeParseInt(salesprice)\n return [ltv, cltv, hcltv]\n }\n\n askedForAssistance = () => false\n\n postCheckingAllProducts = () => {\n const hasLetters = this.Loan10 != null || this.Loan20 != null || this.Loan25 != null\n const numberOfLetters = (this.Loan10 != null ? 1 : 0) + (this.Loan20 != null ? 1 : 0) + (this.Loan25 != null ? 1 : 0)\n console.log(\"After checking all possible preset products.\")\n if (hasLetters) {\n console.log(`${numberOfLetters} prequal letter(s) are generated, saving.`)\n this.saveAllPrequals()\n } else {\n console.log(\"No prequal letters is generated, showing history\")\n this.setState({ showPrequalLetterHistory: true })\n }\n }\n\n /**\n * This function is called when the product picker fails to find a suitable product.\n * It will try to generate a new loan size and get fees again.\n *\n * When this.count reaches 2, it will check if any prequal letters are generated.\n * If not, it will show the history.\n */\n failedProduct = () => {\n const { salesprice } = this.props.property\n switch (this.count) {\n case 0: {\n this.count = 1\n const newloan = parseInt(0.9 * com.safeParseInt(salesprice))\n this.setState({ loading: true, loansize: newloan }, () => { this.getFees() })\n break\n }\n case 1: {\n this.count = 2\n const newloan = parseInt(0.75 * com.safeParseInt(salesprice))\n this.setState({ loading: true, loansize: newloan }, () => { this.getFees() })\n break\n }\n case 2: {\n this.setState({ loading: false })\n this.postCheckingAllProducts()\n break\n }\n default:\n break\n }\n }\n\n savePrequal = (pr, ltv) => {\n const { salesprice } = this.props.property\n const { email, firstname, lastname } = this.props.application.borrower\n const loansize = parseInt(com.safeParseInt(salesprice) * ltv)\n const downpayment = parseInt(com.safeParseInt(salesprice) - loansize)\n this.props.updateSelectField(downpayment, \"downpayment\")\n this.props.updateSelectField(loansize, \"loansize\")\n\n const data = {\n price: salesprice.toString(),\n loan: loansize.toString(),\n loanType: `${pr.Term} year ${getType(pr)}`,\n isFHA: pr.FHAMIP != null,\n email: email.toLowerCase(),\n name: `${firstname} ${lastname}`,\n }\n\n this.setState({ loadingPdf: true });\n\n const token = com.getUserToken()\n fetch(\"/borrower/save_prequal\", {\n method: \"POST\",\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"X-Borrower\": this.props.borrowerid,\n },\n body: JSON.stringify(data),\n }).then((response) => {\n if (response.status === 200) {\n this.setState({ showPrequalLetterHistory: true });\n this.prequalLetterHistoryRef.current.fetchData();\n }\n })\n }\n\n saveAllPrequals = () => {\n if (this.Loan25 != null) this.savePrequal(this.Loan25, 0.75)\n if (this.Loan20 != null) this.savePrequal(this.Loan20, 0.8)\n if (this.Loan10 != null) this.savePrequal(this.Loan10, 0.9)\n }\n\n cullRate = (products) => {\n if (products.length === 0) return products\n\n const newproducts = []\n newproducts.push(products[0])\n\n let base_rate = products[0].base_rate\n for (let i = 1; i < products.length; i++) {\n if (products[i].base_rate !== base_rate) {\n newproducts.push(products[i]);\n base_rate = products[i].base_rate;\n }\n }\n return newproducts\n }\n\n compareRate = (a, b) => {\n if (a.base_rate !== b.base_rate) return b.base_rate - a.base_rate\n return b.closing_cost - a.closing_cost // take into account remaining credits\n }\n\n /**\n * This function is called when the product picker finds a suitable product.\n * It will try to generate a new loan size and get fees again.\n *\n * When this.count reaches 2, it will check if any prequal letters are generated.\n * If not, it will show the history.\n */\n processProducts = (products) => {\n this.setState({ loading: true })\n let rearranged = []\n products.forEach((product) => {\n const { propertytype } = this.props.application.property\n const lender = product.Lender\n\n product.ProductRatesCosts.forEach((pr) => {\n const commonproduct = pr.product\n const ausengine = pr.AUSEngine\n if (propertytype !== \"mobilehome\") {\n if (commonproduct.Term !== 30) return\n }\n\n pr.rateCosts.forEach((rate) => {\n let typ = commonproduct.Arm\n if (typ === null || typeof typ === \"undefined\") typ = 0\n else typ = typ.fixedperiod\n // filter out non-30 day locks\n if (rate.lockDay !== 30) return\n\n const pdkt = {\n Lender: lender,\n ...commonproduct,\n Aus: ausengine,\n ...rate,\n }\n rearranged.push(pdkt)\n })\n })\n })\n\n rearranged.sort(this.compareRate)\n rearranged = this.cullRate(rearranged)\n\n let getBest = (rearranged) => {\n let minAPR = 99.9;\n let maxClosingCost = 10000\n let loan = null\n for (const ln of rearranged) {\n if (ln.closing_cost < 0) continue\n if (ln.closing_cost < maxClosingCost && ln.APR < minAPR) {\n minAPR = ln.APR\n loan = ln\n }\n }\n\n if (loan !== null) {\n return loan\n }\n\n for (let ln of rearranged) {\n if (ln.closing_cost > 0) {\n return ln\n }\n }\n\n return rearranged[0]\n }\n\n const { loansize } = this.state\n const { salesprice } = this.props.property\n switch (this.count) {\n case 0: {\n this.Loan20 = getBest(rearranged)\n const downpayment = Math.ceil(com.safeParseInt(salesprice) - loansize)\n this.props.updateSelectField(downpayment, \"downpayment\")\n this.props.updateSelectField(loansize, \"loansize\")\n this.count = 1\n const newloan = parseInt(0.9 * com.safeParseInt(salesprice))\n this.setState({ loading: true, loansize: newloan }, () => { this.getFees() })\n break\n }\n case 1: {\n this.Loan10 = getBest(rearranged);\n this.count = 2;\n const downpayment = Math.ceil(com.safeParseInt(salesprice) - loansize)\n this.props.updateSelectField(downpayment, \"downpayment\")\n this.props.updateSelectField(loansize, \"loansize\")\n const newloan = parseInt(0.75 * com.safeParseInt(salesprice))\n this.setState({ loading: true, loansize: newloan }, () => { this.getFees() })\n break\n }\n case 2: {\n this.Loan25 = getBest(rearranged);\n const downpayment = Math.ceil(com.safeParseInt(salesprice) - loansize)\n this.props.updateSelectField(downpayment, \"downpayment\")\n this.props.updateSelectField(loansize, \"loansize\")\n this.setState({ loading: false })\n this.postCheckingAllProducts()\n break\n }\n default:\n break\n }\n }\n\n render = () => {\n const { showPrequalLetterHistory, automatedPreQualLetter } = this.state\n\n return (\n
\n {showPrequalLetterHistory ? (\n \n ) : automatedPreQualLetter ? (\n
\n \n \n We are checking if you qualify for a prequalification letter.\n \n \n
\n ) : (\n
\n \n \n
\n )}\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(PrequalLetter)\n","import { Button, Form, Input, Popconfirm, Table, Select } from \"antd\"\nimport { MinusCircleOutlined } from \"@ant-design/icons\"\nimport React, { useContext, useEffect, useRef, useState } from \"react\"\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common.js\"\nimport * as st from \"../State.js\"\nimport \"../App.css\"\nimport { connect } from \"react-redux\"\n\nconst mapStateToProps = (state) => {\n return {\n assetsandliabilities: state.application.assetsandliabilities,\n application: state.application,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n changeOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeOwnedProperty(t, i, v))\n },\n changeBorrowerOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeBorrowerOwnedProperty(t, i, v))\n },\n changeCoborrowerOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeCoborrowerOwnedProperty(t, i, v))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n})\n\nconst EditableContext = React.createContext(null)\n\nconst EditableRow = ({ index, ...props }) => {\n const [form] = Form.useForm()\n return (\n
\n \n \n \n
\n )\n}\n\nconst EditableCell = ({\n title,\n type,\n options,\n children,\n dataIndex,\n record,\n handleSave,\n ...restProps\n}) => {\n const [editing, setEditing] = useState(false)\n const inputRef = useRef(null)\n const form = useContext(EditableContext)\n useEffect(() => {\n if (editing) {\n inputRef.current.focus()\n }\n }, [editing])\n const toggleEdit = () => {\n setEditing(!editing)\n form.setFieldsValue({\n [dataIndex]: record[dataIndex],\n })\n }\n const save = async () => {\n try {\n const values = await form.validateFields()\n toggleEdit()\n handleSave({\n ...record,\n ...values,\n })\n } catch (errInfo) {\n console.log(\"Save failed:\", errInfo)\n }\n }\n let childNode = children\n if (type === \"operation\") {\n return {childNode}\n }\n try {\n if (editing) {\n let ele = \n if (type === \"inputdollar\") {\n ele = (\n \n )\n } else if (type === \"inputdollarmonth\") {\n ele = (\n \n )\n } else if (type === \"select\") {\n ele = (\n \n )\n }\n childNode = (\n \n {ele}\n \n )\n } else {\n let text = record[dataIndex].toString().split(/(?=[A-Z][a-z])/).join(' ')\n if (type === \"inputdollarmonth\" || type === \"inputdollar\") {\n text = \"$ \" + com.commaize(text)\n }\n childNode = (\n
\n {text}\n
\n )\n }\n return {childNode}\n } catch (error) {\n console.log(error)\n return No data\n }\n}\n\n\nconst PropertyMortgages = (props) => {\n const [dataSource, setDataSource] = useState(props.isSubjectProperty ? props.application.property.loans : props.application[props.who].ownedproperties[props.i].loans)\n\n const handleDelete = (key) => {\n const newData = dataSource.filter((item) => item.key !== key)\n setDataSource(newData)\n sendData(newData)\n }\n const defaultColumns = [\n {\n title: \"TYPE\",\n width: \"20%\",\n dataIndex: \"creditloantype\",\n type: \"select\",\n options: [\n { value: \"ConventionalRealEstateMortgage\", label: \"Conventional\" },\n { value: \"FHARealEstateMortgage\", label: \"FHA\" },\n { value: \"VeteransAdministrationRealEstateMortgage\", label: \"VA\" },\n { value: 'USDA-RD', label: 'USDA-RD' },\n { value: \"Other\", label: \"Other\" },\n ],\n },\n {\n title: \"COMPANY NAME\",\n dataIndex: \"name\",\n type: \"input\",\n },\n {\n title: \"ACCOUNT NUMBER\",\n dataIndex: \"accountnumber\",\n type: \"input\",\n },\n {\n title: \"MONTHLY PAYMENT\",\n dataIndex: \"monthlypayment\",\n type: \"inputdollarmonth\",\n },\n {\n title: \"UNPAID BALANCE\",\n dataIndex: \"remainingbalance\",\n type: \"inputdollar\",\n },\n {\n title: \"PAID OFF AT/BEFORE CLOSING\",\n dataIndex: \"paidoffatclosing\",\n type: \"select\",\n options: [\n { value: \"yes\", label: \"Yes\" },\n { value: \"no\", label: \"No\" },\n ],\n },\n {\n title: \"CREDIT LIMIT (optional)\",\n dataIndex: \"creditlimit\",\n type: \"inputdollar\",\n width: \"15%\",\n },\n {\n title: \"DELETE\",\n fixed: 'right',\n width: 80,\n dataIndex: \"operation\",\n type: \"operation\",\n render: (_, record) =>\n dataSource.length >= 1 ? (\n handleDelete(record.key)}\n >\n \n \n ) : null,\n },\n ]\n const handleAdd = () => {\n let newData = new st.loan().toJson()\n newData = JSON.parse(newData)\n newData.creditloantype = \"ConventionalRealEstateMortgage\"\n newData.key = Math.random().toString()\n setDataSource([...dataSource, newData])\n }\n const handleSave = (row) => {\n const newData = [...dataSource]\n const index = newData.findIndex((item) => row.key === item.key)\n const item = newData[index]\n newData.splice(index, 1, {\n ...item,\n ...row,\n })\n setDataSource(newData)\n sendData(newData)\n }\n const components = {\n body: {\n row: EditableRow,\n cell: EditableCell,\n },\n }\n const columns = defaultColumns.map((col) => {\n return {\n ...col,\n ellipsis: true,\n onCell: (record) => ({\n record,\n type: col.type,\n options: col.options,\n dataIndex: col.dataIndex,\n title: col.title,\n handleSave,\n }),\n }\n })\n const sendData = (newData) => {\n if (props.isSubjectProperty) {\n props.changeMainProperty(newData, \"loans\")\n } else {\n if (props.who === \"borrower\") {\n props.changeBorrowerOwnedProperty(newData, props.i, \"loans\")\n }\n if (props.who === \"coborrower\") {\n props.changeCoborrowerOwnedProperty(newData, props.i, \"loans\")\n }\n }\n }\n return (\n
\n {dataSource.length > 0 && (\n \"editable-row\"}\n bordered\n dataSource={dataSource}\n columns={columns}\n pagination={false}\n scroll={{ x: 1000 }}\n />\n )}\n \n
\n )\n}\n\nexport const OwnedPropertyMortgagesTable = connect(\n mapStateToProps,\n mapDispatchToProps,\n null,\n { forwardRef: true }\n)(PropertyMortgages);\n","import { Button, Form, Input, Popconfirm, Table, Select } from \"antd\";\r\nimport { MinusCircleOutlined } from \"@ant-design/icons\";\r\nimport React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { commaize } from \"../../Common\";\r\n\r\n\r\n\r\nconst EditableContext = React.createContext(null);\r\nconst EditableRow = ({ index, ...props }) => {\r\n const [form] = Form.useForm();\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nconst EditableCell = ({\r\n title,\r\n type,\r\n options,\r\n children,\r\n dataIndex,\r\n record,\r\n handleSave,\r\n ...restProps\r\n}) => {\r\n const [editing, setEditing] = useState(false);\r\n const inputRef = useRef(null);\r\n const form = useContext(EditableContext);\r\n useEffect(() => {\r\n if (editing) {\r\n inputRef.current.focus();\r\n }\r\n }, [editing]);\r\n const toggleEdit = () => {\r\n setEditing(!editing);\r\n form.setFieldsValue({\r\n [dataIndex]: record[dataIndex],\r\n });\r\n };\r\n const save = async () => {\r\n try {\r\n const values = await form.validateFields();\r\n toggleEdit();\r\n handleSave({\r\n ...record,\r\n ...values,\r\n });\r\n } catch (errInfo) {\r\n console.log(\"Save failed:\", errInfo);\r\n }\r\n };\r\n let childNode = children;\r\n if (type === \"operation\") {\r\n return {childNode}\r\n }\r\n try {\r\n if (editing) {\r\n let ele = ;\r\n if (type === \"inputdollar\") {\r\n ele = (\r\n \r\n );\r\n } else if (type === \"inputdollarmonth\") {\r\n ele = (\r\n \r\n );\r\n } else if (type === \"select\") {\r\n ele = (\r\n \r\n );\r\n }\r\n childNode = (\r\n \r\n {ele}\r\n \r\n );\r\n } else {\r\n let text = record[dataIndex].toString().split(/(?=[A-Z][a-z])/).join(' ')\r\n if (type === \"inputdollarmonth\" || type === \"inputdollar\") {\r\n text = \"$ \" + commaize(text) \r\n }\r\n childNode = (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n return {childNode};\r\n } catch (error) {\r\n return No data;\r\n }\r\n\r\n};\r\n\r\nconst EditableTable = (props) => {\r\n const [dataSource, setDataSource] = useState(props.dataSource.map(obj => ({\r\n ...obj, \r\n key: Math.random()\r\n})));\r\n useEffect(()=>{\r\n console.log(dataSource)\r\n },[dataSource])\r\n const handleDelete = (key) => {\r\n const newData = dataSource.filter((item) => item.key !== key);\r\n setDataSource(newData);\r\n sendData(newData)\r\n };\r\n const defaultColumns = [\r\n ...props.columns,\r\n {\r\n title: \"Delete\",\r\n dataIndex: \"operation\",\r\n fixed: 'right',\r\n width: 80,\r\n type: \"operation\",\r\n render: (_, record) =>\r\n dataSource.length >= 1 ? (\r\n handleDelete(record.key)}\r\n >\r\n \r\n \r\n ) : null,\r\n },\r\n ];\r\n const handleAdd = () => {\r\n const newData = {\r\n ...props.newDataTemplate,\r\n key: Math.random().toString(),\r\n };\r\n setDataSource([...dataSource, newData]);\r\n };\r\n const sendData = (newData) => {\r\n props.saveFunc(newData);\r\n }\r\n\r\n const handleSave = (row) => {\r\n const newData = [...dataSource];\r\n const index = newData.findIndex((item) => row.key === item.key);\r\n const item = newData[index];\r\n newData.splice(index, 1, {\r\n ...item,\r\n ...row,\r\n });\r\n setDataSource(newData);\r\n sendData(newData.map(({ key, ...rest }) => rest))\r\n };\r\n const components = {\r\n body: {\r\n row: EditableRow,\r\n cell: EditableCell,\r\n },\r\n };\r\n const columns = defaultColumns.map((col) => {\r\n return {\r\n ...col,\r\n onCell: (record) => ({\r\n record,\r\n type: col.type,\r\n options: col.options,\r\n dataIndex: col.dataIndex,\r\n title: col.title,\r\n handleSave,\r\n }),\r\n };\r\n });\r\n return (\r\n
\r\n \"editable-row\"}\r\n bordered\r\n dataSource={dataSource}\r\n columns={columns}\r\n pagination={false}\r\n />\r\n \r\n
\r\n );\r\n};\r\nexport default EditableTable;","import React, { Component } from \"react\"\nimport '../App.css'\nimport Col from 'react-bootstrap/Col'\nimport Row from 'react-bootstrap/Row'\nimport Form from 'react-bootstrap/Form'\nimport { connect } from 'react-redux'\nimport * as act from \"../Store/actions\"\nimport * as com from \"../Common.js\"\nimport * as st from \"../State\"\nimport { InputNumber, Select } from \"antd\"\nimport { DollarInput } from \"../Common/components/DollarInput\"\n\nconst mapStateToProps = (state) => {\n return {\n property: state.application.property,\n application: state.application,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateSameProperty: (event) => {\n dispatch(act.UpdateSameProperty(event.target.checked))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n changeMainPropertyAddress: (event) => {\n dispatch(act.ChangeMainPropertyAddress(event.target.value))\n },\n changeMainPropertySalesPrice: (event) => {\n console.log(event)\n dispatch(act.ChangeMainPropertySalesPrice(event))\n },\n changeMainPropertyAppraisal: (event) => {\n dispatch(act.ChangeMainPropertyAppraisal(event))\n },\n})\n\n\nexport class PrequalProperty extends Component {\n constructor(props) {\n super(props)\n\n this.form = React.createRef()\n\n this.state = {\n loanLimits: {},\n }\n\n fetch(\"/data/loanlimits\")\n .then((res) => {\n if (!res.ok) {\n console.warn('Looks like there was a problem. Status Code: ', res.status);\n return\n }\n return res.json()\n })\n .then((res) => {\n this.setState({ loanLimits: res })\n })\n .catch((err) => {\n console.error(err)\n })\n\n this.lastcompletion = 0\n }\n\n isoccupancyHidden = () => {\n return this.props.application.financingsameproperty && (this.props.application.property.purpose !== st.POL_Purchase)\n }\n\n lookupAddress = (providedAddress) => {\n const now = Date.now()\n\n if (now - this.lastcompletion < 500)\n return\n\n let addr = this.props.application.property.address\n if (typeof providedAddress !== \"undefined\") {\n addr = providedAddress\n }\n\n if (this.isoccupancyHidden()) {\n addr = this.sameaddress()\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n\n }\n\n if (\"\" === addr)\n return\n\n const GOOGLE_MAPS_API_KEY = 'AIzaSyBQFO5uQtyZ5EsbTsNEK7HOhEA00KS3le8'\n const GEOCODE_API_URL = 'https://maps.googleapis.com/maps/api/geocode/json'\n const target = encodeURI(`${GEOCODE_API_URL}?address=${addr}&key=${GOOGLE_MAPS_API_KEY}`)\n\n fetch(target, {\n method: 'GET',\n }).then(\n response => {\n if (response.status !== 200) {\n console.warn(`Looks like there was a problem. Status Code: ${response.status}`)\n return\n }\n // Examine the text in the response\n response.json().then(js => {\n if (js.status === \"OK\") {\n this.onStreetAddressCompletion(js.results[0].address_components)\n }\n })\n }\n ).catch((err) => {\n console.warn('Fetch Error :', err)\n })\n }\n\n onStreetAddressCompletion = address => {\n this.lastcompletion = Date.now()\n\n if (\"undefined\" !== typeof this.timer)\n clearTimeout(this.timer)\n\n const num = com.getSubaddress(address, \"street_number\", \"long_name\")\n const city = com.getSubaddress(address, \"locality\", \"long_name\")\n const zip = com.getSubaddress(address, \"postal_code\", \"long_name\")\n const street = com.getSubaddress(address, \"route\", \"short_name\")\n const county = com.getSubaddress(address, \"administrative_area_level_2\", \"long_name\")\n const longstate = com.getSubaddress(address, \"administrative_area_level_1\", \"long_name\")\n\n if (county !== \"\")\n this.props.changeMainProperty(county, \"county\")\n\n this.props.changeMainProperty(longstate, \"state\")\n this.props.changeMainProperty(city, \"city\")\n this.props.changeMainProperty(zip, \"zipcode\")\n\n const addr = [\n num,\n street,\n city,\n com.getSubaddress(address, \"administrative_area_level_1\", \"short_name\"),\n zip\n ].join(\" \").replace(\" ,\", \",\")\n\n if (num !== \"\")\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n\n let sfx = \"\"\n let short = com.getSubaddress(address, \"route\", \"short_name\")\n let shorts = short.split(' ')\n\n if (com.streetsuffixes.includes(shorts[shorts.length - 1].toUpperCase())) {\n sfx = shorts.pop()\n\n if (typeof com.streetTypeAbbreviations[sfx.toLowerCase()] !== \"undefined\")\n sfx = com.streetTypeAbbreviations[sfx.toLowerCase()].toUpperCase()\n\n short = shorts.join(' ')\n }\n\n const s = shorts[0].toUpperCase()\n\n if (com.prefixes.includes(s)) {\n shorts = short.split(' ')\n short = shorts.slice(1, shorts.length).join(' ')\n }\n\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n }\n\n updateRefinanceAddressWithResidencyAddress = () => {\n const { borrower, property } = this.props.application\n if (property.address === \"\") {\n this.props.changeMainProperty(borrower.presentaddressstreet, \"address\")\n this.lookupAddress(borrower.presentaddressstreet)\n }\n }\n\n lookupProperty = (num, prefix, short, sfx, city, zip) => {\n const body = {\n number: num,\n prefix: prefix,\n street: short,\n suffix: sfx,\n city: city,\n zip: zip\n }\n\n const token = sessionStorage.getItem(\"ZeitroA\")\n this.props.changeMainProperty(false, \"lookupsuccessful\")\n fetch('/borrower/findproperty', {\n method: 'POST',\n headers: {\n Cache: \"no-cache\",\n Authorization: \"Bearer \" + token,\n 'Content-Type': 'application/json',\n \"X-Borrower\": this.props.borrowerid,\n },\n body: JSON.stringify(body)\n }).then(\n response => {\n if (response.status !== 200) {\n alert('Looks like there was a problem. Status Code: ', response.status)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n return\n }\n\n // Examine the text in the response\n response.json().then(js => {\n const { yearbuilt, lookupsuccessful } = this.props.property\n if (yearbuilt === \"\" && js.Yearbuilt !== \"\" && !lookupsuccessful) {\n this.props.changeMainPropertyYearBuilt({ target: { value: js.Yearbuilt } })\n this.props.changeMainPropertyUnits({ target: { value: js.Units } })\n this.props.changeMainProperty(true, \"lookupsuccessful\")\n if (this.props.application.property.purpose !== st.POL_Purchase) {\n const dt = js.Lastsale\n const dat = dt.split('T')[0].split('-')\n const d = parseInt(dat[0])\n this.props.changeMainPropertyRefinanceYearAcquired({ target: { value: d } })\n const cost = js.Lastsaleprice.toString()\n this.props.changeMainPropertyRefinanceOriginalCost({ target: { value: cost } })\n }\n }\n })\n }\n ).catch((err) => {\n console.error('Fetch Error :', err)\n })\n }\n\n componentDidMount() {\n if (this.props.application.financingsameproperty === null) {\n this.props.updateSameProperty({ target: { checked: true } })\n this.updateRefinanceAddressWithResidencyAddress()\n }\n this.completion('property')\n }\n\n componentDidUpdate() {\n this.completion('property')\n }\n\n componentWillUnmount() {}\n\n completion = (stateKey) => {\n const keysToFilter = ['state', 'county']\n const { propertytype, occupancy } = this.props[stateKey]\n if (propertytype === \"twotofourfamily\") {\n keysToFilter.push('units')\n }\n if (occupancy === \"investment\" || (occupancy === \"principal\" && this.props.application[stateKey].propertytype === \"twotofourfamily\")) {\n keysToFilter.push('purchase.expectedgrossmonthlyrentalincome')\n }\n\n const filteredObj = keysToFilter.reduce((obj, key) => {\n if (key.includes('.')) {\n const nestedKeys = key.split('.')\n let value = this.props[stateKey]\n\n for (const nestedKey of nestedKeys) {\n if (value.hasOwnProperty(nestedKey)) {\n value = value[nestedKey]\n } else {\n value = undefined\n break\n }\n }\n\n if (value !== undefined) {\n obj[nestedKeys[nestedKeys.length - 1]] = value\n }\n } else if (this.props[stateKey].hasOwnProperty(key)) {\n obj[key] = this.props[stateKey][key]\n }\n\n return obj\n }, {})\n\n const emptyNum = Object.keys(filteredObj).filter((key) => {\n const value = filteredObj[key]\n return value === '' || value === null || value === undefined\n }).length\n const progressValue = Math.round(((keysToFilter.length - emptyNum) / keysToFilter.length) * 100)\n sessionStorage.setItem(\"progressValue\", progressValue)\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n return true\n }\n\n render() {\n const changeMainPropertyExpectedRentalIncome = e => {\n com.touch()\n this.props.changeMainProperty(e, \"purchase|expectedgrossmonthlyrentalincome\")\n }\n\n const achangeMainPropertyState = e => {\n // this.stateref.current.setCustomValidity(\"\")\n this.props.changeMainProperty(e, \"state\")\n }\n\n const changeMainPropertyCounty = e => {\n // this.countyref.current.setCustomValidity(\"\")\n this.props.changeMainProperty(e, \"county\")\n }\n\n const getStates = () => {\n const options = []\n const keys = Object.keys(this.state.loanLimits)\n options.push()\n keys.forEach((x) => {\n options.push()\n })\n return options\n }\n\n const getCounties = () => {\n const options = []\n options.push()\n if (this.state.loanLimits[this.props.property.state.toUpperCase()]) {\n const keys = Object.keys(this.state.loanLimits[this.props.property.state.toUpperCase()])\n keys.forEach((x) => {\n options.push()\n })\n }\n return options\n }\n\n const onBudget = e => {\n com.touch()\n this.props.changeMainPropertySalesPrice(e)\n this.props.changeMainPropertyAppraisal(e)\n }\n\n const { state, county, salesprice, occupancy, purchase } = this.props.property\n const { propertytype } = this.props.application.property\n\n return (\n
\n \n \n \n State\n
\n achangeMainPropertyState(e)}\n value={state}>\n {getStates()}\n \n
\n
\n \n
\n \n \n \n County\n
\n changeMainPropertyCounty(e)}\n value={county}>\n {getCounties()}\n \n
\n
\n \n
\n \n \n \n What is your maximum purchase price?\n
\n { onBudget(e) }}\n >\n
\n
\n \n
\n \n \n {(occupancy === \"investment\" || (occupancy === \"principal\" && propertytype === \"twotofourfamily\")) ?\n
\n \n Expected monthly gross rental income/month\n
\n changeMainPropertyExpectedRentalIncome(e)}\n value={purchase.expectedgrossmonthlyrentalincome}\n />\n
\n \n Please provide monthly gross rental income.\n \n
\n
\n : \"\"}\n \n
\n
\n )\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(PrequalProperty)\n","import React, { Component } from \"react\"\nimport { connect } from 'react-redux'\nimport 'bootstrap/dist/css/bootstrap.min.css'\nimport { Input, InputNumber, Select, Skeleton, Drawer } from 'antd'\nimport Col from 'react-bootstrap/Col'\nimport Row from 'react-bootstrap/Row'\nimport Form from 'react-bootstrap/Form'\nimport { isEmpty, some } from 'lodash'\nimport NumericalInput from '../NumericalInput'\nimport * as act from \"../Store/actions\"\nimport * as st from \"../State\"\nimport * as com from \"../Common.js\"\nimport { Tips } from '../Common/Tooltip'\nimport CheckGroup, { CheckGroupWithImage } from \"../Common/components/CheckGroup\"\nimport AddressAutocomplete from '../Common/AddressAutocomplete'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport { DollarInput } from \"../Common/components/DollarInput\"\nimport Multiselect from '../Common/Multiselect'\nimport { OwnedPropertyMortgagesTable } from \"./tables\"\nimport EditableTable from \"../Common/components/tables\"\nimport PrequalProperty from \"./PrequalProperty\"\nimport { getStates, getCounties } from '../Tools/Address'\nimport { isMortgageLoan, calculateBalancesAndPayments } from \"../Tools/Loan\"\nimport { isNumericOrNumericString } from \"../Tools/String\"\n\nconst customstyle = {\n multiselectContainer: { // To change css for multiselect (Width,height,etc..)\n fontSize: '14px',\n },\n searchBox: { // To change search box element look\n fontSize: '.875rem',\n minHeight: 'calc(1.5em + .5rem + 2px)',\n padding: '.25rem .5rem',\n marginBottom: '0px !important',\n },\n inputField: { // To change input field position or margin\n margin: '0px'\n },\n chips: { // To change css chips(Selected options)\n background: 'rgba(0,48,116,1)',\n marginBottom: '2px !important',\n fontSize: '12px',\n padding: '2px 10px',\n },\n optionContainer: { // To change css for option container\n fontSize: '12px',\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n property: state.application.property,\n application: state.application,\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n updateSelectField: (input, verb) => {\n dispatch(act.UpdateSelectField(input, verb))\n },\n updateSameProperty: (event) => {\n dispatch(act.UpdateSameProperty(event.target.checked))\n },\n changeMainPropertyAttribute: (t, verb) => {\n dispatch(act.ChangeMainPropertyAttribute(t, verb))\n },\n changeMainPropertyDescription: (event) => {\n dispatch(act.ChangeMainPropertyDescription(event.target.value))\n },\n changeMainPropertyAddress: (event) => {\n dispatch(act.ChangeMainPropertyAddress(event.target.value))\n },\n changeMainPropertyOccupancy: (event) => {\n dispatch(act.ChangeMainPropertyOccupancy(event.target.value))\n },\n changeMainPropertyPurpose: (event) => {\n dispatch(act.ChangeMainPropertyPurpose(event.target.value))\n },\n changeMainPropertyUnits: (event) => {\n dispatch(act.ChangeMainPropertyUnits(event.target.value))\n },\n changeMainPropertyYearBuilt: (event) => {\n dispatch(act.ChangeMainPropertyYearBuilt(event.target.value))\n },\n changeMainPropertyInWhatName: (event) => {\n dispatch(act.ChangeMainPropertyInWhatName(event.target.value))\n },\n changeMainPropertyEstateHeldIn: (event) => {\n dispatch(act.ChangeMainPropertyEstateHeldIn(event.target.value))\n },\n changeMainPropertyInWhatManner: (event) => {\n dispatch(act.ChangeMainPropertyInWhatManner(event.target.value))\n },\n changeMainPropertySources: (event) => {\n dispatch(act.ChangeMainPropertySources(event.target.value))\n },\n changeMainPropertyRefinanceYearAcquired: (event) => {\n\n dispatch(act.ChangeMainPropertyRefinanceYearAcquired(event.target.value))\n },\n changeMainPropertyRefinanceOriginalCost: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceOriginalCost(event.target.value))\n },\n changeMainPropertyRefinancePurpose: (event) => {\n dispatch(act.ChangeMainPropertyRefinancePurpose(event.target.value))\n },\n changeMainPropertyRefinanceImprovementsDesc: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceImprovementsDesc(event.target.value))\n },\n changeMainPropertyRefinanceExistingLiens: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceExistingLiens(event.target.value))\n },\n changeMainPropertyRefinanceImprovementsStatus: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceImprovementsStatus(event.target.value))\n },\n changeMainPropertyRefinanceCost: (event) => {\n dispatch(act.ChangeMainPropertyRefinanceCost(event.target.value))\n },\n changeMainPropertyConstructionYearAcquired: (event) => {\n dispatch(act.ChangeMainPropertyConstructionYearAcquired(event.target.value))\n },\n changeMainPropertyConstructionOriginalCost: (event) => {\n dispatch(act.ChangeMainPropertyConstructionOriginalCost(event.target.value))\n },\n changeMainPropertyConstructionExistingLiens: (event) => {\n dispatch(act.ChangeMainPropertyConstructionExistingLiens(event.target.value))\n },\n changeMainPropertyConstructionPresentValue: (event) => {\n dispatch(act.ChangeMainPropertyConstructionPresentValue(event.target.value))\n },\n changeMainPropertyConstructionCostOfImprovements: (event) => {\n dispatch(act.ChangeMainPropertyConstructionCostOfImprovements(event.target.value))\n },\n changeMainPropertyExpirationDate: (event) => {\n dispatch(act.ChangeMainPropertyExpirationDate(event.target.value))\n },\n changeMainPropertyPropertyType: (event) => {\n dispatch(act.ChangeMainPropertyPropertyType(event.target.value))\n },\n changeMainProperty: (value, verb) => {\n dispatch(act.ChangeMainProperty(value, verb))\n },\n changeMobileHomeInfo: (value, verb) => {\n dispatch(act.ChangeMobileHomeInfo(value, verb))\n },\n changeMainPropertySalesPrice: (event) => {\n dispatch(act.ChangeMainPropertySalesPrice(event))\n },\n changeMainPropertyAppraisal: (event) => {\n dispatch(act.ChangeMainPropertyAppraisal(event))\n },\n prependBorrowerOwnedProperty: () => {\n dispatch(act.PrependBorrowerOwnedProperty())\n },\n changeOwnedProperty: (t, i, v) => {\n dispatch(act.ChangeOwnedProperty(t, i, v))\n },\n removeBorrowerOwnedProperty: (i) => {\n dispatch(act.RemoveBorrowerOwnedProperty(i))\n },\n changeBorrowerInfo: (input, who, verb) => {\n dispatch(act.ChangeBorrowerInfo(input, who, verb))\n },\n updateApplicationAttribute: (event, verb) => {\n dispatch(act.UpdateApplicationAttribute(event.target.value, verb))\n },\n addNewMortgageLoan: () => {\n dispatch(act.AddNewMortgageLoan())\n },\n removeNewMortgageLoan: (index) => {\n dispatch(act.RemoveNewMortgageLoan(index))\n },\n clearNewMortgageLoans: () => {\n dispatch(act.ClearNewMortgageLoans())\n },\n updateNewMortgageLoanAttribute: (value, index, verb) => {\n dispatch(act.UpdateNewMortgageLoanAttribute(value, index, verb))\n },\n})\n\nclass Property extends Component {\n constructor(props) {\n super(props)\n\n const { loanbalance } = this.props.application\n\n this.state = {\n validated: false,\n innerWidth: 0,\n isMobileHomeOnly: false,\n propertyTypesLoading: true,\n loanLimits: {},\n useEstimated: false,\n mortgageLoans: [],\n loanbalance,\n isDrawerVisible: false\n }\n\n this.lastcompletion = 0\n\n this.isValidated = this.isValidated.bind(this)\n this.countyref = React.createRef()\n this.stateref = React.createRef()\n }\n\n componentDidMount() {\n this.fetchLoanLimits()\n this.getCompanyConfig()\n\n this.setState({ innerWidth: window.innerWidth })\n\n const { financingsameproperty, assetsandliabilities } = this.props.application\n const { isManufacturedHome, isMixedUse, purpose } = this.props.application.property\n const { units, salesprice } = this.props.property\n\n if (financingsameproperty === true) {\n if (purpose === st.POL_Refinance || purpose === st.POL_Cashoutrefinance) {\n this.props.changeMainPropertyOccupancy({ target: { value: \"principal\" } })\n }\n this.updateRefinanceAddressWithResidencyAddress()\n }\n if (financingsameproperty === null) {\n this.props.updateSameProperty({ target: { checked: true } })\n this.updateRefinanceAddressWithResidencyAddress()\n }\n\n if (isManufacturedHome === null) {\n this.props.changeMainProperty(false, \"isManufacturedHome\")\n }\n if (isMixedUse === null) {\n this.props.changeMainProperty(false, \"isMixedUse\")\n }\n if (units === \"\") {\n this.props.changeMainPropertyUnits({ target: { value: \"2\" } })\n }\n if (salesprice === \"\") {\n this.props.changeMainPropertySalesPrice(500000)\n this.props.changeMainPropertyAppraisal(500000)\n }\n\n if (!isEmpty(assetsandliabilities.loans)) {\n const mortgageLoans = assetsandliabilities.loans.filter((loan) => loan.correction !== 'duplicate').filter(isMortgageLoan)\n this.setState({ mortgageLoans })\n if (mortgageLoans.length === 1 && mortgageLoans[0].name === 'Estimated') {\n this.setState({ useEstimated: true })\n if (this.state.loanbalance === '') {\n this.updateLoanBalance('0')\n this.setState({ loanbalance: '0' })\n }\n }\n }\n\n this.completion('property')\n\n window.addEventListener('resize', () => {\n this.setState({\n innerWidth: window.innerWidth\n })\n })\n }\n\n updateLoanBalance = (val) => {\n this.props.updateApplicationAttribute({ target: { value: val } }, 'loanbalance')\n }\n\n fetchLoanLimits = async () => {\n try {\n const response = await fetch('/data/loanlimits')\n if (!response.ok) {\n throw Error(response.statusText)\n }\n const data = await response.json()\n this.setState({ loanLimits: data })\n } catch (err) {\n console.error(err)\n }\n }\n\n updateRefinanceAddressWithResidencyAddress = (initial = true) => {\n const { who } = this.props\n const { borrower, coborrower, property } = this.props.application\n const presentAddressStreet = who === com.borrower ? borrower.presentaddressstreet : coborrower.presentaddressstreet\n if (property.address === \"\" || !initial) {\n this.props.changeMainProperty(presentAddressStreet, \"address\")\n this.lookupAddress(presentAddressStreet)\n }\n }\n sameaddress = () => {\n const { who } = this.props\n const addr = com.formatAddress(this.props.application[who])\n return addr\n }\n lookupAddress = (providedAddress) => {\n const now = Date.now()\n\n if (now - this.lastcompletion < 500)\n return\n\n let addr = this.props.application.property.address\n if (typeof providedAddress !== \"undefined\") {\n addr = providedAddress\n }\n if (this.isOccupancyHidden()) {\n addr = this.sameaddress()\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n }\n\n if (\"\" === addr)\n return\n\n const GOOGLE_MAPS_API_KEY = 'AIzaSyBQFO5uQtyZ5EsbTsNEK7HOhEA00KS3le8'\n const GEOCODE_API_URL = 'https://maps.googleapis.com/maps/api/geocode/json'\n const target = encodeURI(`${GEOCODE_API_URL}?address=${addr}&key=${GOOGLE_MAPS_API_KEY}`)\n\n fetch(target, {\n method: 'GET',\n }).then(\n response => {\n if (response.status !== 200) {\n console.warn(`Looks like there was a problem. Status Code: ${response.status}`)\n return\n }\n\n // Examine the text in the response\n response.json().then(js => {\n if (js.status === \"OK\") {\n this.onStreetAddressCompletion(js.results[0].address_components)\n }\n })\n }\n ).catch((err) => {\n console.error('Fetch Error :', err)\n })\n }\n\n isOccupancyHidden = () => {\n return this.props.application.financingsameproperty && (this.props.application.property.purpose !== st.POL_Purchase)\n }\n\n componentDidUpdate() {\n this.completion('property')\n }\n\n componentWillUnmount() {}\n\n completion = (stateKey) => {\n const keysToFilter = ['occupancy', 'propertytype'];\n const filteredObj = keysToFilter.reduce((obj, key) => {\n if (key.includes('.')) {\n const nestedKeys = key.split('.')\n\n let value = this.props[stateKey]\n for (const nestedKey of nestedKeys) {\n if (value.hasOwnProperty(nestedKey)) {\n value = value[nestedKey]\n } else {\n value = undefined\n break\n }\n }\n\n if (value !== undefined) {\n obj[nestedKeys[nestedKeys.length - 1]] = value\n }\n } else if (this.props[stateKey].hasOwnProperty(key)) {\n obj[key] = this.props[stateKey][key]\n }\n\n return obj\n }, {})\n\n const emptyNum = Object.keys(filteredObj).filter((key) => {\n const value = filteredObj[key];\n return value === '' || value === null || value === undefined;\n }).length;\n const progressValue = Math.round(((keysToFilter.length - emptyNum) / keysToFilter.length) * 100);\n sessionStorage.setItem(\"progressValue\", progressValue);\n }\n\n checkDollarInputs = (purpose, loanbalance) => {\n const { appraisal, salesprice } = this.props.property\n const isAppraisalValid = isNumericOrNumericString(appraisal) && appraisal !== '0'\n if (purpose === st.POL_Purchase && !isAppraisalValid) {\n return 'You need to provide the estimated home value.'\n }\n\n const { hascontract } = this.props.application.property\n const isSalesPriceValid = isNumericOrNumericString(salesprice) && salesprice !== '0'\n if (purpose === st.POL_Purchase && hascontract && !isSalesPriceValid) {\n return 'You need to provide the purchase price.'\n }\n\n const { needMortgageBalance } = this.needsToAskMortgageBalance(purpose, this.state.mortgageLoans)\n const isLoanBalanceValid = isNumericOrNumericString(loanbalance) && loanbalance !== '0'\n if (needMortgageBalance && !isLoanBalanceValid) {\n return 'You need to provide the current mortgage balance on the subject property.'\n }\n\n const { downpayment, paydown, cashout } = this.props.application.selection\n const isDownpaymentValid = isNumericOrNumericString(downpayment) && downpayment !== '0'\n if (purpose === st.POL_Purchase && !isDownpaymentValid) {\n return 'You need to provide the downpayment amount.'\n }\n const isPaydownValid = isNumericOrNumericString(paydown) && paydown !== '0'\n if (purpose === st.POL_Refinance && !isPaydownValid) {\n return 'You need to provide the paydown amount.'\n }\n const isCashoutValid = isNumericOrNumericString(cashout) && cashout !== '0'\n if (purpose === st.POL_Cashoutrefinance && !isCashoutValid) {\n return 'You need to provide the cashout amount.'\n }\n }\n\n handleSubmit = () => {\n const { otherliens } = this.props.application\n const { purpose } = this.props.application.property\n const { loans, propertyownedfreeandclear } = this.props.application.assetsandliabilities\n const { loanbalance } = this.state\n\n const error = this.checkDollarInputs(purpose, loanbalance)\n if (error) {\n alert(error)\n return false\n }\n\n const [totalmortgage, mortgagebalance, cashout] = calculateBalancesAndPayments(purpose, loans, otherliens)\n\n if (purpose === st.POL_Cashoutrefinance) {\n this.props.updateSelectField(cashout, 'mincashout')\n }\n\n if (purpose === st.POL_Refinance && totalmortgage === 0 && true === propertyownedfreeandclear) {\n alert(\"You can't refinance the property that you own free and clear!\")\n return false\n }\n\n if (!isEmpty(loans) && loans[0].name !== 'Estimated') {\n this.updateLoanBalance(mortgagebalance)\n\n if (purpose === st.POL_Refinance) {\n const { paydown } = this.props.application.selection\n this.props.updateSelectField(com.safeParseInt(mortgagebalance) - com.safeParseInt(paydown), 'loansize')\n }\n if (purpose === st.POL_Cashoutrefinance) {\n const { cashout } = this.props.application.selection\n this.props.updateSelectField(com.safeParseInt(mortgagebalance) + com.safeParseInt(cashout), 'loansize')\n }\n } else {\n if (purpose === st.POL_Refinance) {\n if (propertyownedfreeandclear === false || propertyownedfreeandclear === null) {\n const { loanbalance } = this.props.application\n if (loanbalance === '0') {\n alert('The current loan balance on the subject property cannot be 0, if you do not own the property free and clear.')\n return false\n }\n }\n const { paydown } = this.props.application.selection\n const value = Math.max(0, com.safeParseInt(loanbalance) - com.safeParseInt(paydown))\n this.props.updateSelectField(value, 'loansize')\n }\n if (purpose === st.POL_Cashoutrefinance) {\n const { cashout } = this.props.application.selection\n const value = com.safeParseInt(loanbalance) + com.safeParseInt(cashout)\n this.props.updateSelectField(value, 'loansize')\n }\n this.updateLoanBalance(loanbalance)\n }\n\n return true\n }\n\n onFinish = () => {\n const { who } = this.props\n const { completedsteps } = this.props.application[who] || {}\n\n if (!completedsteps?.property) {\n this.props.changeBorrowerInfo(\n { ...completedsteps, property: true },\n who,\n 'completedsteps'\n )\n }\n }\n\n isValidated() {\n if (!this.form.current.reportValidity()) {\n this.setState({ validated: true })\n return false\n }\n\n return true\n }\n\n getWidth = () => {\n const innerWidth = this.state.innerWidth\n if (innerWidth < 1301 && innerWidth > 1041) {\n return 50\n } else {\n return '100%'\n }\n }\n\n changeMainPropertyPropertyType = e => {\n com.touch()\n\n const { who, financingsameproperty } = this.props\n const { purpose } = this.props.property\n if (purpose !== st.POL_Purchase && financingsameproperty)\n this.props.changeBorrowerInfo(e, who, \"propertytype\")\n\n this.props.changeMainPropertyPropertyType(e)\n }\n\n lookupProperty = (num, prefix, short, sfx, city, zip) => {\n const body = {\n number: num,\n prefix: prefix,\n street: short,\n suffix: sfx,\n city: city,\n zip: zip\n }\n\n const token = sessionStorage.getItem(\"ZeitroA\")\n this.props.changeMainProperty(false, \"lookupsuccessful\")\n fetch('/borrower/findproperty', {\n method: 'POST',\n headers: {\n Cache: \"no-cache\",\n Authorization: \"Bearer \" + token,\n 'Content-Type': 'application/json',\n \"X-Borrower\": this.props.borrowerid,\n },\n body: JSON.stringify(body)\n }).then(\n response => {\n if (response.status !== 200) {\n alert(`Looks like there was a problem. Status Code: ${response.status}`)\n window.document.dispatchEvent(new Event('reauthenticate'), \"\")\n return\n }\n\n // Examine the text in the response\n response.json().then(js => {\n if (this.props.property.yearbuilt === \"\" && js.Yearbuilt !== \"\" && !this.props.property.lookupsuccessful) {\n this.props.changeMainPropertyYearBuilt({ target: { value: js.Yearbuilt } })\n this.props.changeMainPropertyUnits({ target: { value: js.Units } })\n this.props.changeMainProperty(true, \"lookupsuccessful\")\n if (this.props.application.property.purpose !== st.POL_Purchase) {\n const dt = js.Lastsale\n const dat = dt.split('T')[0].split('-')\n const d = parseInt(dat[0])\n this.props.changeMainPropertyRefinanceYearAcquired({ target: { value: d } })\n const cost = js.Lastsaleprice.toString()\n this.props.changeMainPropertyRefinanceOriginalCost({ target: { value: cost } })\n }\n }\n })\n }\n ).catch((err) => {\n console.error('Fetch Error :', err)\n })\n }\n\n changeMainPropertyAddress = e => {\n //this.onStreetAddressCompletion(address)\n const address = e.target.value\n if (address === \"\") {\n this.props.changeMainProperty(false, \"lookupsuccessful\")\n }\n\n this.props.changeMainPropertyAddress(e)\n }\n\n propertyKnown = () => {\n return !(this.props.property.purpose === st.POL_Purchase && false === this.props.application.property.hascontract)\n }\n\n getCompanyConfig =() => {\n const token = sessionStorage.getItem(\"ZeitroA\")\n fetch('/borrower/get_company_config', {\n method: 'GET',\n headers: {\n Authorization: \"Bearer \" + token,\n Cache: \"no-cache\",\n \"X-Borrower\": this.props.borrowerid,\n }\n }).then(\n response => {\n if (response.status !== 200) {\n return;\n }\n response.json().then(js => {\n if (js.status !== \"OK\") {\n return;\n }\n\n this.setState({\n isMobileHomeOnly: js.configurations.isMobileHomeOnly,\n propertyTypesLoading: false,\n });\n });\n }\n ).catch((err) => {\n console.error('Fetch company config error :', err);\n })\n }\n\n onAddressBlur = (e) => {\n this.timer = setTimeout(this.lookupAddress, 200)\n }\n\n onStreetAddressCompletion = (address, forMobileHome = false) => {\n this.lastcompletion = Date.now()\n\n if (\"undefined\" !== typeof this.timer)\n clearTimeout(this.timer)\n\n const num = com.getSubaddress(address, \"street_number\", \"long_name\")\n const city = com.getSubaddress(address, \"locality\", \"long_name\")\n const zip = com.getSubaddress(address, \"postal_code\", \"long_name\")\n const street = com.getSubaddress(address, \"route\", \"short_name\")\n const county = com.getSubaddress(address, \"administrative_area_level_2\", \"long_name\")\n const longstate = com.getSubaddress(address, \"administrative_area_level_1\", \"long_name\")\n\n\n\n if (!forMobileHome) {\n if (county !== \"\")\n this.props.changeMainProperty(county, \"county\")\n this.props.changeMainProperty(longstate, \"state\")\n this.props.changeMainProperty(city, \"city\")\n this.props.changeMainProperty(zip, \"zipcode\")\n }\n\n const addr = [\n num,\n street,\n city,\n com.getSubaddress(address, \"administrative_area_level_1\", \"short_name\"),\n zip\n ].join(\" \").replace(\" ,\", \",\")\n\n if (num !== \"\") {\n if (forMobileHome) {\n this.props.changeMobileHomeInfo(addr, \"parkAddress\")\n return\n } else {\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n }\n }\n\n this.props.changeMainPropertyAddress({ target: { value: addr } })\n }\n\n processAdditionalNewMortgages = (val, index) => {\n const { creditor, lientype, monthlyamount, loanamount, creditlimit, key } = val\n\n const changeNewLoanAttr1 = (verb) => {\n return (event) => {\n com.touch()\n this.props.updateNewMortgageLoanAttribute(event, index, verb)\n }\n }\n const changeNewLoanAttr = (verb) => {\n return (event) => {\n com.touch()\n this.props.updateNewMortgageLoanAttribute(event.target.value, index, verb)\n }\n }\n const changeNewLoanAttrs = (verb) => {\n return (event) => {\n com.touch()\n this.props.updateNewMortgageLoanAttribute(event, index, verb)\n }\n }\n const removeNewMortgageLoan = (e) => {\n com.touch()\n this.props.removeNewMortgageLoan(index)\n }\n\n const { newloans } = this.props.application.assetsandliabilities\n\n return (\n
\n \n \n \n \n \n \n Creditor\n \n \n \n \n \n \n \n Lien type\n \n
\n \n First lien\n Subordinate lien\n \n
\n
\n \n \n \n \n Monthly amount\n \n
\n \n
\n
\n \n \n \n \n Loan amount\n \n
\n \n
\n
\n \n \n \n \n Credit limit Input 0 if N/A
} />\n \n
\n \n
\n \n \n \n \n \n