{"version":3,"sources":["config/index.js","config/buildSettings.js","serviceWorker.js","components/Search.js","components/School.js","components/LoadingSpinner.js","components/EditSchoolModal.js","components/SchoolEditor.js","components/Upload.js","components/Faq.js","components/PublicHeader.js","components/InternalHeader.js","components/Footer.js","components/Login.js","components/Tutorial.js","components/Reports.js","components/KPI.js","components/DateRangeKPI.js","components/Export.js","components/Summary.js","components/EditStaff.js","components/Register.js","components/ANROnlineUsers.js","components/AdminResults.js","components/App.js","index.js"],"names":["module","exports","apiKey","actionLevel","base_URL","basename","credentials","window","location","href","toLowerCase","search","Boolean","hostname","match","override","css","_templateObject","Search","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","fetchTownList","bind","assertThisInitialized","handleInputChange","handleSearch","handleSelect","toggleMessageAlert","toggleErrorAlert","renderHeading","state","data","searchLoading","error","towns","town","type","message","school","schoolHeading","showMessageAlert","showErrorAlert","isTest","isInternal","localStorage","getItem","JSON","parse","setState","prevProps","pathname","timer","clearTimeout","url","useCredentials","_this2","concat","fetch","method","headers","Content-Type","body","stringify","then","response","ok","Error","statusText","json","length","catch","console","event","target","value","checked","name","defineProperty","_this3","preventDefault","setTimeout","School_ID","setItem","history","push","heading","_this4","react_default","a","createElement","Container","style","textAlign","Row","Col","md","size","Form","onSubmit","form","lg","marginBottom","Label","for","Input","id","onChange","placeholder","map","Town","key","Button","color","display","Alert","isOpen","toggle","className","react_spinners","sizeUnit","loading","Table","School_Name","Type","onClick","Active_Facility","Component","ExcelFile","ReactExport","ExcelSheet","School_templateObject","School","results","resultsSummary","resultsRaw","resultsSummaryRaw","resultsRawDownload","remediation","school_data","years","Sort","SortCard","Lab_ID_Sort","Collection_Date_Sort","Analysis_Date_Sort","Collection_Type_Sort","View","Broken_Only","Tap_Sort","Result_Sort","Summary_Sort","Summary_Tap_Sort","Summary_First_Sort","Summary_Flush_Sort","Summary_Date_Sampled_Sort","Summary_Date_Analyzed_Sort","Summary_Action_Taken_Sort","Summary_Date_Action_Taken_Sort","Summary_Highest_Tap_Result_Sort","summaryLoading","resultsLoading","schoolLoading","resultsRawDownloadLoading","stats","renderSort","onSort","onSortSummary","onSortSummaryCards","getDownloadData","getSchool","getSummary","getResults","getResultsRawDownload","getDownloadDataResults","filterData","filterSummary","filterResults","params","innerWidth","log","resultsYearSummary","reduce","res","obj","Initial_Sampling_Year","__array","year","count","sort","b","yearSummary","round","all_rounds_need_remediation","filter","summary","Exceeded","Remediated","No_Follow_Up_Remediation","Needs_Follow","_this5","summaryData","taps_tested","taps_exceeding","taps_remediated","Needs_DEC_Resampling","Permanent_Remediation_Details","taps_remaining","taps_DEC_resampling","resultsData","result","status","field","current","sortKey","localeCompare","Date","Highest_Tap_Result_Sort","_this6","dataSet","columns","Need_Fix","tap","Town_For_Sample","Initial_First_Lab_ID","Tap","First_Draw","font","rgb","Raw_First_Draw","Flush","Raw_Flush","Sample_Date","Analysis_Date","Permanent_Remediation_Date","Immediate_Remediation_Details","Immediate_Remediation_Date","Planned_Remediation_Details","Raw_Result","Lab_ID","Sample_Collection_Type","Result","_this7","Fragment","fontWeight","ButtonGroup","outline","active","slice","sm","offset","Card","CardHeader","backgroundColor","marginTop","react_csv","filename","Provider_Name","rObj","alt","cursor","fontSize","element","xs","CardDeck","ListGroup","flush","Initial_First_Draw","Initial_Flush","Follow_First_Draw","Follow_Flush","Remediation_Details","Remediation_Date","ListGroupItem","Initial_Raw_First_Draw","Initial_First_Sample_Date","Initial_First_Analysis_Date","Initial_Raw_Flush","Initial_Flush_Sample_Date","Initial_Flush_Analysis_Date","Follow_Raw_First_Draw","Follow_First_Sample_Date","Follow_First_Analysis_Date","Follow_Raw_Flush","Follow_Flush_Sample_Date","Follow_Flush_Analysis_Date","striped","bordered","whiteSpace","Initial_Lab_ID","First_Draw_Lab_ID","ID","LoadingSpinner","_Component","showSpinner","inherits","createClass","delay","react_loader_spinner_dist_default","height","width","visible","EditSchoolModal","_useState","useState","_useState2","slicedToArray","setLoading","_useState3","_useState4","schoolName","setSchoolName","_useState5","_useState6","formerName","setFormerName","_useState7","_useState8","setTown","_useState9","_useState10","AOEID","setAOEID","_useState11","_useState12","setActive","_useState13","_useState14","setError","_useState15","_useState16","setShowErrorAlert","useEffect","loadSchool","handleSave","saveSchool","Former_Name","AOE_ID","suffix","env","parseInt","text","cancel","Modal","open","ModalHeader","ModalBody","LoadingSpinner_LoadingSpinner","FormGroup","maxLength","e","ModalFooter","SchoolEditor_templateObject","SchoolEditor","toggleSchoolModal","fetchSchoolList","isAuthenticated","schools","schoolModal","maxWidth","material_table_dist_default","minRows","title","render","rowData","Display_Name","options","paging","pageSize","pageSizeOptions","assign","Upload","handlePreview","selectedFile","Papa","complete","updateData","header","handleSimulate","undefined","prevState","forEach","index","asyncToGenerator","regenerator_default","mark","_callee","wrap","_context","prev","next","stop","handleUpload","handleSelectedFile","renderStatus","file","files","i","Kit_Type","grouped","toConsumableArray","r","o","item","get","Contact_Name","Contact_Email","rows","set","Map","values","accept","aria-label","ref","input","filesInput","Tap_ID","Report_Status","Sample_Type","Collection_Type","Fixture_Location","Fixture_Type","Units","Faq","rel","PublicHeader","handleNavigateSearch","handleNavigateLogin","handleNavigateFaq","handleNavigateTutorial","handleNavigatePublicKPI","removeItem","Navbar","light","expand","NavbarToggler","Collapse","navbar","Nav","NavItem","NavLink","UncontrolledDropdown","nav","inNavbar","DropdownToggle","caret","DropdownMenu","DropdownItem","InternalHeader","handleNavigateInternalSearch","handleNavigateUpload","handleNavigateTestSearch","handleNavigateTestUpload","handleNavigateRegister","handleNavigateReports","handleNavigateInternalKPI","handleNavigateDateRangeKPI","handleNavigateExport","Report_ID","handleLogout","renderTitle","handleNavigateANROnlineUsers","handleNavigateResultsAdmin","handleNavigateTestResultsAdmin","handleNavigateSchoolName","handleNavigateTestSchoolName","onLogout","getFullYear","Footer","Login","handleLogin","username","password","onLogin","Tutorial","src","frameBorder","allow","allowFullScreen","Reports_templateObject","Reports","fetchData","renderTownChart","renderTimeChart","report","old","replaceAll","newArray","Header","accessor","getProps","rowInfo","column","original","keys","counts","p","c","hasOwnProperty","countsExtended","k","Samples","es6","layout","margin","top","right","left","bottom","strokeDasharray","dataKey","fill","Sample_Month","DateNumber","getTime","domain","d3Extent","d","tScale","d3ScaleTime","range","tickFormat","ticks","scale","tickFormatter","labelFormatter","label","toLocaleString","month","stroke","activeDot","getTitle","es","getColumns","KPI_templateObject","day","KPI","toLocaleDateString","xl","datum","Category","Indicator","Sequence","Number","Count","Denominator","includes","parseFloat","Rate","toFixed","DateRangeKPI_templateObject","DateRangeKPI","handleCalculate","begin_date","moment","end_date","begin_dateFocused","end_dateFocused","react_dates","date","onDateChange","focused","onFocusChange","_ref","isOutsideRange","renderMonthElement","numberOfMonths","block","_ref2","alignItems","format","_ref3","onMonthSelect","onYearSelect","justifyContent","bsSize","months","returnYears","Export_templateObject","Export","handleExportClicked","clicked","today","split","join","worksheet","XLSX","utils","json_to_sheet","workbook","book_new","book_append_sheet","writeFile","compression","disabled","Summary_templateObject","Summary","EditStaff","setUsername","role","setRole","staff","Email","loadStaff","saveStaff","RoleId","Id","Role","deleteStaff","Register","toggleStaffModal","fetchUserList","users","staffModal","Staff","Password","ConfirmPassword","errorjson","ModelState","caught","user","Name","ANROnlineUsers_templateObject","ANROnlineUsers","fetchNFormUserList","addNFormUser","deleteNFormUser","nformusers","nFormUserID","AdminResults_templateObject","AdminResults","handleInactivateClick","inactivateResult","warn","comments","App","addEventListener","ev","removeEventListener","BrowserRouter","Route","path","component","Switch","exact","components_Login","components_InternalHeader","ReactDOM","components_App","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"0EAKAA,EAAOC,QAAU,CAAEC,OAHJ,uCAGYC,YAFP,8GCHpB,IAAIC,EA4HAC,EA6DAC,EA/KAF,GAH2D,IAF3DG,OAAOC,SAASC,KACbC,cACAC,OAAO,4CAGC,mDAI8C,IAFzDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,0CAGC,kDAIuC,IAFlDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,mCAGC,2CAGV,IADDJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,+BAI/B,sCAIsC,IAFjDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,kCAGC,kCAIqC,IAFhDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,iCAGC,iCAGV,IADDJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,6BAI/B,6BAIuC,IAFlDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,mCAGC,mCAI2C,IAFtDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,uCAGC,uCAI0C,IAFrDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,sCAGC,sCAIsC,IAFjDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,kCAGC,kCAGV,IADDJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,8BAI/B,8BAK0D,IAFrEJ,OAAOC,SAASC,KACbC,cACAC,OAAO,sDAGC,sDAKkD,IAF7DJ,OAAOC,SAASC,KACbC,cACAC,OAAO,8CAGC,8CAKmD,IAF9DJ,OAAOC,SAASC,KACbC,cACAC,OAAO,+CAGC,+CAK2D,IAFtEJ,OAAOC,SAASC,KACbC,cACAC,OAAO,uDAGC,sDAGA,GAgBXN,GAH2D,IAF3DE,OAAOC,SAASC,KACbC,cACAC,OAAO,4CAGC,kBAI8C,IAFzDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,0CAGC,6BAIuC,IAFlDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,mCAGC,sBAI2C,IAFtDJ,OAAOC,SAASC,KACbC,cACAC,OAAO,uCAGC,sBAE+D,IAA1EJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,2BAG/B,KAEmE,IAA9EJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,+BAG/B,KAE0D,IAArEJ,OAAOC,SAASC,KAAKC,cAAcC,OAAO,sBAG/B,KAImD,IAF9DJ,OAAOC,SAASC,KACbC,cACAC,OAAO,+CAGC,qBAGA,IASbL,EAAc,cAGhBN,EAAOC,QAAU,CAAEG,WAAUE,cAAaD,qMCrLtBO,QACW,cAA7BL,OAAOC,SAASK,UAEe,UAA7BN,OAAOC,SAASK,UAEhBN,OAAOC,SAASK,SAASC,MACvB,2XCDN,IAAMC,EAAWC,cAAHC,KA+fCC,cAxfb,SAAAA,EAAYC,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAL,IACjBE,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAH,GAAAQ,KAAAH,KAAMJ,KAEDQ,cAAgBP,EAAKO,cAAcC,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACrBA,EAAKU,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKW,aAAeX,EAAKW,aAAaH,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAKY,aAAeZ,EAAKY,aAAaJ,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKe,cAAgBf,EAAKe,cAAcP,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAErBA,EAAKgB,MAAQ,CACXC,KAAM,GACNC,eAAe,EACfC,MAAO,GACP5B,OAAQ,GACR6B,MAAO,GACPC,KAAM,YACNC,KAAM,OACNC,QAAS,GACTC,OAAQ,GACRC,cAAe,uBACfC,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,GAzBG7B,mFA+BjB,GADAG,KAAKI,gBACDuB,aAAaC,QAAQ,UAAW,CAClC,IAAIxC,EAASyC,KAAKC,MAAMH,aAAaC,QAAQ,WAC7C5B,KAAK+B,SAAS,CAAEjB,KAAM1B,gDAIP4C,KAEmC,IAAjDhC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,UAClCY,KAAKa,MAAMY,SACoC,IAAjDzB,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACnCY,KAAKa,MAAMY,SACyC,IAArDzB,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,cAClCY,KAAKa,MAAMa,aACwC,IAArD1B,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aACnCY,KAAKa,MAAMa,cAEb1B,KAAKI,gBACLJ,KAAK+B,SAAS,CACZjB,KAAM,GACNE,MAAO,GACP5B,OAAQ,GACR8B,KAAM,YACNC,KAAM,OACNC,QAAS,GACTC,OAAQ,GACRE,kBAAkB,EAClBC,gBAAgB,oDAMhBxB,KAAKkC,OACPC,aAAanC,KAAKkC,+CAIN,IACVE,EAAKC,EADKC,EAAAtC,MAIuC,IAAjDA,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCY,KAAK+B,SAAS,CAAEN,QAAQ,EAAMC,YAAY,IAC1CU,EAAG,GAAAG,OAAM1D,WAAN,2BACHwD,EAAiB,YAC6C,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aAC7CY,KAAK+B,SAAS,CAAEN,QAAQ,EAAOC,YAAY,IAC3CU,EAAG,GAAAG,OAAM1D,WAAN,uBACHwD,EAAiB,YAEjBrC,KAAK+B,SAAS,CAAEN,QAAQ,EAAOC,YAAY,IAC3CU,EAAG,GAAAG,OAAM1D,WAAN,qBACHwD,EAAiBtD,eAGnByD,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACgB,IAAhBA,EAAKC,QACPd,EAAKP,SAAS,CACZX,QAAS,iBACTG,kBAAkB,IAGtBe,EAAKP,SAAS,CAAEd,MAAOkC,MAExBE,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,iDAK1DxB,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,yCAICF,GAAO,IAYdnB,EAAKC,EAZSwB,EAAA7D,KAClBuD,EAAMO,iBACN9D,KAAK+B,SAAS,CACZX,QAAS,GACTG,kBAAkB,IAGpBvB,KAAKkC,MAAQ6B,WAAW,WACtBF,EAAK9B,SAAS,CAAEhB,eAAe,IAC/B8C,EAAK3B,MAAQ,GACZ,MAKkD,IAAjDlC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCgD,EAAG,GAAAG,OAAM1D,WAAN,6BACHwD,EAAiB,YAC6C,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aAC7CgD,EAAG,GAAAG,OAAM1D,WAAN,yBACHwD,EAAiB,YAEjBD,EAAG,GAAAG,OAAM1D,WAAN,uBACHwD,EAAiBtD,eAInByD,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBzD,OAAQY,KAAKa,MAAMzB,OACnB8B,KAAMlB,KAAKa,MAAMK,KACjBC,KAAMnB,KAAKa,MAAMM,KACjBxC,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,IAAKA,GAAwB,IAAhBA,EAAKC,OAAc,CAC9B,IAAIhC,EACJ,OAAQyC,EAAKhD,MAAMM,MACjB,IAAK,OACHC,EAAU,+CACV,MACF,IAAK,SACHA,EAAU,gCACV,MACF,IAAK,aACHA,EAAU,oCACV,MACF,QACEA,EAAU,+CAcd,OAVIyC,EAAK3B,QACPC,aAAa0B,EAAK3B,OAClB2B,EAAK3B,MAAQ,QAEf2B,EAAK9B,SAAS,CACZX,QAASA,EACTG,kBAAkB,EAClBR,eAAe,EACfD,KAAM,KAIN+C,EAAK3B,QACPC,aAAa0B,EAAK3B,OAClB2B,EAAK3B,MAAQ,GAEf2B,EAAKjD,gBACLiD,EAAK9B,SAAS,CAAEjB,KAAMqC,EAAMpC,eAAe,MAE5CsC,MAAM,SAAArC,GACD6C,EAAK3B,QACPC,aAAa0B,EAAK3B,OAClB2B,EAAK3B,MAAQ,GAEf2B,EAAK9B,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBT,eAAe,EACfD,KAAM,4CAKDkD,GACXrC,aAAasC,QAAQ,SAAUpC,KAAKgB,UAAU7C,KAAKa,MAAMC,QACJ,IAAjDd,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACtCY,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,eAAiB+B,KACS,IAArDhE,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,YAC7CY,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,mBAAqB+B,IAEzDhE,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,WAAa+B,4CAKnD,IAAII,EAAU,uBACd,OAAQpE,KAAKa,MAAMM,MACjB,IAAK,OACHiD,EAAU,uBACV,MACF,IAAK,SACHA,EAAU,SACV,MACF,IAAK,aACHA,EAAU,aACV,MACF,QACEA,EAAU,uBAIdpE,KAAK+B,SAAS,CACZT,cAAe8C,qCAIV,IAAAC,EAAArE,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACyB,KAAtBxE,KAAKa,MAAMQ,QACViD,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,KACfT,EAAAC,EAAAC,cAAA,WACoD,IAAjDxE,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACjC,uCACA,mCAENkF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAUjF,KAAKQ,cACnB8D,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACPZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZI,GAAI,CAAEJ,KAAM,GACZL,MAAO,CAAEU,aAAc,SAGvBd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAEEC,IAAI,eAFN,QAMAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,SACL6B,GAAG,cACHC,SAAUzF,KAAKO,kBACfmF,YAAY,yCAUhBpB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZI,GAAI,CAAEJ,KAAM,GACZL,MAAO,CAAEU,aAAc,SAEtB,IAEDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAEEC,IAAI,aAFN,QAOAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,SACLwC,KAAK,OACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMK,KAClBuE,SAAUzF,KAAKO,mBAEdP,KAAKa,MAAMI,MAAMmC,OAAS,GACzBpD,KAAKa,MAAMI,MAAM0E,IACf,SAAAzE,GAAI,OACFA,EAAK0E,MACHtB,EAAAC,EAAAC,cAAA,UAAQqB,IAAK3E,EAAK0E,KAAMnC,MAAOvC,EAAK0E,MACjC1E,EAAK0E,SAId5F,KAAKa,MAAMI,MAAMmC,OAAS,GAC1BkB,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,YAAYpC,MAAM,aAA9B,eAQNa,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZI,GAAI,CAAEJ,KAAM,GACZL,MAAO,CAAEU,aAAc,SAEtB,IAEDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAEEC,IAAI,aAFN,QAOAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,SACLwC,KAAK,OACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMM,KAClBsE,SAAUzF,KAAKO,mBAEf+D,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,IAAIpC,MAAM,QAAtB,wBAGAa,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,IAAIpC,MAAM,UAAtB,UAGAa,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,IAAIpC,MAAM,cAAtB,iBAkBNa,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,KACfT,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,WAA5B,YAKJzB,EAAAC,EAAAC,cAAA,YACExE,KAAKa,MAAMC,KAAKsC,QAChBkB,EAAAC,EAAAC,cAAA,QAAME,MAAO,CAAEC,UAAW,OAAQqB,QAAS,UACzC1B,EAAAC,EAAAC,cAAA,uBADF,wVAgBoB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,SAGhBkD,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,EACL+G,QAASvG,KAAKa,MAAME,gBAEtBuD,EAAAC,EAAAC,cAAA,YAEDxE,KAAKa,MAAMC,KAAKsC,OAAS,GACxBkB,EAAAC,EAAAC,cAACK,EAAA,EAAD,KAGEP,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,gBACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UAGEF,EAAAC,EAAAC,cAAA,UAAKxE,KAAKa,MAAMS,eAChBgD,EAAAC,EAAAC,cAAA,kBACAF,EAAAC,EAAAC,cAAA,oBAGJF,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAK6E,IACf,SAAAtE,GAAM,OACJA,EAAOoF,aACLnC,EAAAC,EAAAC,cAAA,MAAIqB,IAAKxE,EAAO2C,UAAY3C,EAAOqF,MAIjCpC,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,QACE4B,UAAU,cACVO,QAAS,kBACPtC,EAAK5D,aAAaY,EAAO2C,cAGC,IAA3B3C,EAAOuF,gBAA2BvF,EAAOoF,YAAcpF,EAAOoF,YAAYlE,OAAO,iBAGtF+B,EAAAC,EAAAC,cAAA,UAAKnD,EAAOuE,MACZtB,EAAAC,EAAAC,cAAA,UAAKnD,EAAOqF,wBAvezBG,kQCArB,IAAMC,EAAYC,IAAYD,UACxBE,EAAaD,IAAYD,UAAUE,WAEnCxH,EAAWC,cAAHwH,KAonFCC,cA7mFb,SAAAA,EAAYtH,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAkH,IACjBrH,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAoH,GAAA/G,KAAAH,KAAMJ,KAEDiB,MAAQ,CACXsG,QAAS,GACTC,eAAgB,GAChBC,WAAY,GACZC,kBAAmB,GACnBC,mBAAoB,GACpBC,YAAa,GACbnG,OAAQ,GACRoG,YAAa,GACbC,MAAO,GACPtG,QAAS,GACTJ,MAAO,GACP2G,KAAM,MACNC,SAAU,2BACVC,YAAa,GACbC,qBAAsB,GACtBC,mBAAoB,GACpBC,qBAAsB,GACtBC,KAAM,oBACNC,aAAa,EACbC,SAAU,MACVC,YAAa,GACbC,aAAc,qBACdC,iBAAkB,GAClBC,mBAAoB,GACpBC,mBAAoB,GACpBC,0BAA2B,GAC3BC,2BAA4B,GAC5BC,0BAA2B,GAC3BC,+BAAgC,GAChCC,gCAAiC,OACjCC,gBAAgB,EAChBC,gBAAgB,EAChBC,eAAe,EACfC,2BAA2B,EAC3BC,OAAO,GAGTrJ,EAAKsJ,WAAatJ,EAAKsJ,WAAW9I,KAAhBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAClBA,EAAKuJ,OAASvJ,EAAKuJ,OAAO/I,KAAZP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACdA,EAAKwJ,cAAgBxJ,EAAKwJ,cAAchJ,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACrBA,EAAKyJ,mBAAqBzJ,EAAKyJ,mBAAmBjJ,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAK0J,gBAAkB1J,EAAK0J,gBAAgBlJ,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACvBA,EAAK2J,UAAY3J,EAAK2J,UAAUnJ,KAAfP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjBA,EAAK4J,WAAa5J,EAAK4J,WAAWpJ,KAAhBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAClBA,EAAK6J,WAAa7J,EAAK6J,WAAWrJ,KAAhBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAClBA,EAAK8J,sBAAwB9J,EAAK8J,sBAAsBtJ,KAA3BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC7BA,EAAK+J,uBAAyB/J,EAAK+J,uBAAuBvJ,KAA5BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC9BA,EAAKgK,WAAahK,EAAKgK,WAAWxJ,KAAhBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAClBA,EAAKiK,cAAgBjK,EAAKiK,cAAczJ,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACrBA,EAAKkK,cAAgBlK,EAAKkK,cAAc1J,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KArDJA,iMAyDXwB,EAASrB,KAAKJ,MAAML,MAAMyK,OAAO3I,OACvCrB,KAAK+B,SAAS,CAAEV,OAAQA,IACpBrC,OAAOiL,WAAa,KACtBjK,KAAK+B,SAAS,CAAEkG,KAAM,sBAExBjI,KAAKwJ,YACLxJ,KAAK0J,aACL1J,KAAKyJ,aACLzJ,KAAK2J,8JAGK,IAINvH,EAAKC,EAJCC,EAAAtC,KAEJqB,EAASrB,KAAKJ,MAAML,MAAMyK,OAAO3I,QAKc,IAAjDrB,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCgD,EAAG,GAAAG,OAAM1D,WAAN,4BACHwD,EAAiB,YAC6C,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aAC7CgD,EAAG,GAAAG,OAAM1D,WAAN,wBACHwD,EAAiB,YAEjBD,EAAG,GAAAG,OAAM1D,WAAN,sBACHwD,EAAiBtD,eAGnByD,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBxB,OAAQA,EACR1C,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACgB,IAAhBA,EAAKC,QACPd,EAAKP,SAAS,CACZX,QAAS,kBACTG,kBAAkB,EAClByH,eAAe,IAInB1F,QAAQ4G,IAAI,UAAW/G,GAEvBb,EAAKP,SAAS,CAAE0F,YAAatE,EAAM6F,eAAe,MAEnD3F,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBwH,eAAe,2CAKV,IAEP5G,EAAKC,EAFEwB,EAAA7D,MAK0C,IAAjDA,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCgD,EAAG,GAAAG,OAAM1D,WAAN,gCACHwD,EAAiB,YAC6C,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aAC7CgD,EAAG,GAAAG,OAAM1D,WAAN,4BACHwD,EAAiB,YAEjBD,EAAG,GAAAG,OAAM1D,WAAN,0BACHwD,EAAiBtD,eAGnB,IAAMsC,EAASrB,KAAKJ,MAAML,MAAMyK,OAAO3I,OAEvCmB,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBxB,OAAQA,EACR1C,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI,WAAY/G,GACJ,IAAhBA,EAAKC,OACPS,EAAK9B,SAAS,CACZX,QAAS,mBACTG,kBAAkB,EAClBwH,gBAAgB,IAGlBlF,EAAK9B,SAAS,CACZsF,WAAYlE,EAAM4F,gBAAgB,GACjC,WAED,IAAMoB,EAAqBhH,EAAKiH,OAAO,SAACC,EAAKC,GAK3C,OAJMA,EAAIC,yBAAyBF,GACjCA,EAAIG,QAAQrG,KAAKkG,EAAIC,EAAIC,uBAAyB,CAAEE,KAAMH,EAAIC,sBAAuBG,MAAO,IAE9FL,EAAIC,EAAIC,uBAAuBG,QACxBL,GACN,CAAEG,QAAS,KAAMA,QAAQG,KAAK,SAACpG,EAAGqG,GAAQ,OAAOA,EAAEH,KAAOlG,EAAEkG,OAE3DN,EAAmB/G,OAAS,EAC9BS,EAAKgG,WAAWM,EAAmB,GAAGM,MAEtC5G,EAAKgG,WAAW,OAKvBxG,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACd6C,EAAK9B,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBuH,gBAAgB,2CAKX,IAEP3G,EAAKC,EAFEgC,EAAArE,MAK0C,IAAjDA,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCgD,EAAG,GAAAG,OAAM1D,WAAN,6BACHwD,EAAiB,YAC6C,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,aAC7CgD,EAAG,GAAAG,OAAM1D,WAAN,yBACHwD,EAAiB,YAEjBD,EAAG,GAAAG,OAAM1D,WAAN,uBACHwD,EAAiBtD,eAGnB,IAAMsC,EAASrB,KAAKJ,MAAML,MAAMyK,OAAO3I,OAEvCmB,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBxB,OAAQA,EACR1C,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GAEJ,GADAG,QAAQ4G,IAAI,WAAY/G,GACJ,IAAhBA,EAAKC,OACPiB,EAAKtC,SAAS,CACZ+G,gBAAgB,EAChBb,KAAM,eACL,WACD5D,EAAKwF,WAAW,SAEb,CACL,IAAMgB,EAAc1H,EAAKiH,OAAO,SAACC,EAAKC,GAKpC,OAJMA,EAAIC,yBAAyBF,GACjCA,EAAIG,QAAQrG,KAAKkG,EAAIC,EAAIC,uBAAyB,CAAEE,KAAMH,EAAIC,sBAAuBG,MAAO,IAE9FL,EAAIC,EAAIC,uBAAuBG,QACxBL,GACN,CAAEG,QAAS,KAAMA,QAAQG,KAAK,SAACpG,EAAGqG,GAAQ,OAAOA,EAAEH,KAAOlG,EAAEkG,OAE/DpG,EAAKtC,SAAS,CAAE8I,YAAaA,EAAavD,kBAAmBnE,EAAM2F,gBAAgB,EAAOgC,MAAOD,EAAY,GAAGJ,MAAQ,WAClHI,EAAYzH,OAAS,EACvBiB,EAAKwF,WAAWxF,EAAKxD,MAAMiK,OAE3BzG,EAAKwF,WAAW,KAIpB,IAAIkB,EAA8B5H,EAAK6H,OAAO,SAAAC,GAC5C,OAAyB,IAArBA,EAAQC,WAA0C,IAAvBD,EAAQE,YAA0D,IAArCF,EAAQG,0BAA2D,IAAzBH,EAAQI,gBAK7GjI,OAEHiB,EAAKtC,SAAS,CAAEgJ,4BAA6BA,OAKhD1H,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdqD,EAAKtC,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBsH,gBAAgB,sDAOA,IAElB1G,EAAKC,EAFaiJ,EAAAtL,KAKtB,IAAqD,IAAjDA,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACtCgD,EAAG,GAAAG,OAAM1D,WAAN,iCACHwD,EAAiB,cACZ,KAAyD,IAArDrC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,YAI7C,OAHAgD,EAAG,GAAAG,OAAM1D,WAAN,6BACHwD,EAAiB,UAKnB,IAAMhB,EAASrB,KAAKJ,MAAML,MAAMyK,OAAO3I,OAEvCmB,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBxB,OAAQA,EACR1C,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI,eAAgB/G,GACR,IAAhBA,EAAKC,OACPkI,EAAKvJ,SAAS,CACZX,QAAS,iCACTG,kBAAkB,EAClB0H,2BAA2B,IAG7BqC,EAAKvJ,SAAS,CACZwF,mBAAoBpE,EAAM8F,2BAA2B,MAI1D5F,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsK,EAAKvJ,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChByH,2BAA2B,4CAKrBwB,GACZ,GAAIzK,KAAKa,MAAMyG,mBAAqBtH,KAAKa,MAAMyG,kBAAkBlE,OAAS,EAAG,CAC3E,IAAImI,EAAcvL,KAAKa,MAAMyG,kBAAkB0D,OAAO,SAAAC,GACpD,OAAa,IAATR,GAGEQ,EAAQV,wBAA0BE,IAStCe,EAAcD,EAAYnI,OAE1BqI,EAAiBF,EAAYP,OAAO,SAAAC,GACtC,OAAyB,IAArBA,EAAQC,WAKX9H,OAGCsI,EAAkBH,EAAYP,OAAO,SAAAC,GACvC,QAAyB,IAArBA,EAAQC,YAA2C,IAAvBD,EAAQE,aAA2D,IAArCF,EAAQG,0BAAmE,IAAjCH,EAAQU,sBAAwD,IAAzBV,EAAQI,eAAyBJ,EAAQW,+BAAsE,IAArCX,EAAQG,0BAA4E,8BAA1CH,EAAQW,kCAK1QxI,OAECyI,EAAiBN,EAAYP,OAAO,SAAAC,GACtC,QAAyB,IAArBA,EAAQC,UAA0C,IAAvBD,EAAQE,aAA0D,IAArCF,EAAQG,0BAA2D,IAAzBH,EAAQI,eAA0BJ,EAAQW,+BAAsE,IAArCX,EAAQG,0BAA4E,8BAA1CH,EAAQW,iCAKlOxI,OAGC0I,EAAsBP,EAAYP,OAAO,SAAAC,GAC3C,OAAyB,IAArBA,EAAQC,UAAmD,IAAjCD,EAAQU,uBAKrCvI,OAEHpD,KAAK+B,SAAS,CAAEyJ,YAAaA,EAAaC,eAAgBA,EAAgBC,gBAAiBA,EAAiBG,eAAgBA,EAAgBC,oBAAqBA,IAEjK9L,KAAK+B,SAAS,CAAEqF,eAAgBmE,EAAaT,MAAOL,2CAK1CA,GACZ,GAAIzK,KAAKa,MAAMwG,YAAcrH,KAAKa,MAAMwG,WAAWjE,OAAS,EAAG,CAC7D,IAAI2I,EAAc/L,KAAKa,MAAMwG,WAAW2D,OAAO,SAAAgB,GAC7C,OAAa,IAATvB,GAGEuB,EAAOzB,wBAA0BE,IAQzCzK,KAAK+B,SAAS,CAAEoF,QAAS4E,EAAajB,MAAOL,wCAItCA,GACTzK,KAAK8J,cAAcW,GACnBzK,KAAK+J,cAAcU,sCAGVwB,EAAQC,EAAOC,GACxB,GAAID,IAAUC,EACZ,OAAO7H,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,gBAGtB,OAAQ6F,GACN,IAAK,GACH,OAAO3H,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,gBACtB,IAAK,MACH,OAAO9B,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,mBACtB,IAAK,OACH,OAAO9B,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,qBACtB,QACE,OAAO9B,EAAAC,EAAAC,cAAA,6CAIN4H,GACL,IACIzB,EADExD,EAAUnH,KAAKa,MAAMsG,QAE3B,OAAQiF,GACN,IAAK,SAEU,MADbzB,EAAO3K,KAAKa,MAAMgH,cACU,QAAT8C,GACjBA,EAAO,OACPxD,EAAQwD,KAAK,SAACC,EAAGrG,GAAJ,OAAUA,EAAC,OAAW8H,cAAczB,EAAC,YAElDD,EAAO,MACPxD,EAAQwD,KAAK,SAACpG,EAAGqG,GAAJ,OAAUrG,EAAC,OAAW8H,cAAczB,EAAC,WAEpD5K,KAAK+B,SAAS,CAAE8F,YAAa8C,EAAMhD,KAAM,WACzC,MACF,IAAK,kBAEU,MADbgD,EAAO3K,KAAKa,MAAMiH,uBACU,QAAT6C,GACjBA,EAAO,OACPxD,EAAQwD,KACN,SAACC,EAAGrG,GAAJ,OAAU,IAAI+H,KAAK/H,EAAC,aAAmB,IAAI+H,KAAK1B,EAAC,iBAGnDD,EAAO,MACPxD,EAAQwD,KACN,SAACpG,EAAGqG,GAAJ,OAAU,IAAI0B,KAAK/H,EAAC,aAAmB,IAAI+H,KAAK1B,EAAC,gBAGrD5K,KAAK+B,SAAS,CAAE+F,qBAAsB6C,EAAMhD,KAAM,oBAClD,MACF,IAAK,gBAEU,MADbgD,EAAO3K,KAAKa,MAAMkH,qBACU,QAAT4C,GACjBA,EAAO,OACPxD,EAAQwD,KACN,SAACC,EAAGrG,GAAJ,OACE,IAAI+H,KAAK/H,EAAC,eAAqB,IAAI+H,KAAK1B,EAAC,mBAG7CD,EAAO,MACPxD,EAAQwD,KACN,SAACpG,EAAGqG,GAAJ,OACE,IAAI0B,KAAK/H,EAAC,eAAqB,IAAI+H,KAAK1B,EAAC,kBAG/C5K,KAAK+B,SAAS,CAAEgG,mBAAoB4C,EAAMhD,KAAM,kBAChD,MACF,IAAK,kBAEU,MADbgD,EAAO3K,KAAKa,MAAMmH,uBACU,QAAT2C,GACjBA,EAAO,OACPxD,EAAQwD,KAAK,SAACC,EAAGrG,GAAJ,OACXA,EAAC,uBAA2B8H,cAC1BzB,EAAC,4BAILD,EAAO,MACPxD,EAAQwD,KAAK,SAACpG,EAAGqG,GAAJ,OACXrG,EAAC,uBAA2B8H,cAC1BzB,EAAC,2BAIP5K,KAAK+B,SAAS,CAAEiG,qBAAsB2C,EAAMhD,KAAM,oBAClD,MACF,IAAK,MAEU,MADbgD,EAAO3K,KAAKa,MAAMsH,WACU,SAATwC,GACjBA,EAAO,MACPxD,EAAQwD,KAAK,SAACpG,EAAGqG,GAAJ,OAAUrG,EAAC,IAAQ8H,cAAczB,EAAC,SAE/CD,EAAO,OACPxD,EAAQwD,KAAK,SAACC,EAAGrG,GAAJ,OAAUA,EAAC,IAAQ8H,cAAczB,EAAC,QAEjD5K,KAAK+B,SAAS,CAAEoG,SAAUwC,EAAMhD,KAAM,QACtC,MACF,IAAK,SAEU,MADbgD,EAAO3K,KAAKa,MAAMuH,cACU,QAATuC,GACjBA,EAAO,OACPxD,EAAQwD,KAAK,SAACC,EAAGrG,GAAJ,OACXA,EAAC,WAAiBA,EAAC,WAAiBqG,EAAC,YAAkB,MAGzDD,EAAO,MACPxD,EAAQwD,KAAK,SAACpG,EAAGqG,GAAJ,OACXrG,EAAC,WAAiBA,EAAC,WAAiBqG,EAAC,YAAkB,KAG3D5K,KAAK+B,SAAS,CAAEqG,YAAauC,EAAMhD,KAAM,WAK7C3H,KAAK+B,SAAS,CAAEoF,kDAGJiF,GACZ,IACIzB,EADEvD,EAAiBpH,KAAKa,MAAMuG,eAElC,OAAQgF,GACN,IAAK,MAEU,MADbzB,EAAO3K,KAAKa,MAAMyH,mBACU,SAATqC,GACjBA,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAAUrG,EAAC,IAAQ8H,cAAczB,EAAC,SAEtDD,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAAUA,EAAC,IAAQ8H,cAAczB,EAAC,QAExD5K,KAAK+B,SAAS,CAAEuG,iBAAkBqC,EAAMtC,aAAc,QACtD,MACF,IAAK,aAEU,MADbsC,EAAO3K,KAAKa,MAAM0H,qBACU,QAAToC,GACjBA,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAClBA,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,MAGrED,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAClBrG,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,KAGvE5K,KAAK+B,SAAS,CAAEwG,mBAAoBoC,EAAMtC,aAAc,eACxD,MACF,IAAK,eAEU,MADbsC,EAAO3K,KAAKa,MAAM2H,qBACU,QAATmC,GACjBA,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,MACCqG,EAAC,MACIrG,EAAC,UAAgBA,EAAC,UAAgBqG,EAAC,WAAiB,EAEpD,GAGD,MAIZD,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,MACCqG,EAAC,OACIrG,EAAC,UAAgBA,EAAC,UAAgBqG,EAAC,WAElC,EAGH,KAIb5K,KAAK+B,SAAS,CACZyG,mBAAoBmC,EACpBtC,aAAc,iBAEhB,MACF,IAAK,eAEU,MADbsC,EAAO3K,KAAKa,MAAM4H,4BACU,QAATkC,GACjBA,EAAO,OACPvD,EAAeuD,KACb,SAACC,EAAGrG,GAAJ,OACE,IAAI+H,KAAK/H,EAAC,sBACV,IAAI+H,KAAK1B,EAAC,0BAGdD,EAAO,MACPvD,EAAeuD,KACb,SAACpG,EAAGqG,GAAJ,OACE,IAAI0B,KAAK/H,EAAC,sBACV,IAAI+H,KAAK1B,EAAC,yBAGhB5K,KAAK+B,SAAS,CACZ0G,0BAA2BkC,EAC3BtC,aAAc,iBAEhB,MACF,IAAK,gBAEU,MADbsC,EAAO3K,KAAKa,MAAM6H,6BACU,QAATiC,GACjBA,EAAO,OACPvD,EAAeuD,KACb,SAACC,EAAGrG,GAAJ,OACE,IAAI+H,KAAK/H,EAAC,wBACV,IAAI+H,KAAK1B,EAAC,4BAGdD,EAAO,MACPvD,EAAeuD,KACb,SAACpG,EAAGqG,GAAJ,OACE,IAAI0B,KAAK/H,EAAC,wBACV,IAAI+H,KAAK1B,EAAC,2BAGhB5K,KAAK+B,SAAS,CACZ2G,2BAA4BiC,EAC5BtC,aAAc,kBAEhB,MACF,IAAK,eAEU,MADbsC,EAAO3K,KAAKa,MAAM8H,4BACU,SAATgC,GACjBA,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,oBACCqG,EAAC,oBACIrG,EAAC,oBAAwB8H,cAC9BzB,EAAC,sBAGK,EAGH,MAIXD,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,oBACCqG,EAAC,oBACIrG,EAAC,oBAAwB8H,cAC9BzB,EAAC,qBAGI,GAGD,KAId5K,KAAK+B,SAAS,CACZ4G,0BAA2BgC,EAC3BtC,aAAc,iBAEhB,MACF,IAAK,oBAEU,MADbsC,EAAO3K,KAAKa,MAAM+H,iCACU,QAAT+B,GACjBA,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,iBACCqG,EAAC,iBAED,IAAI0B,KAAK/H,EAAC,kBACV,IAAI+H,KAAK1B,EAAC,kBAGL,GAGD,MAIZD,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,iBACCqG,EAAC,iBAED,IAAI0B,KAAK/H,EAAC,kBACV,IAAI+H,KAAK1B,EAAC,mBAGJ,EAGH,KAIb5K,KAAK+B,SAAS,CACZ6G,+BAAgC+B,EAChCtC,aAAc,sBAEhB,MACF,IAAK,qBAEU,MADbsC,EAAO3K,KAAKa,MAAM0L,0BACU,QAAT5B,GACjBA,EAAO,OACPvD,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAClBA,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,MAGrED,EAAO,MACPvD,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAClBrG,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,KAGvE5K,KAAK+B,SAAS,CACZwK,wBAAyB5B,EACzBtC,aAAc,uBAMpBrI,KAAK+B,SAAS,CAAEqF,8DAGC7D,GACjB,IAAM6D,EAAiBpH,KAAKa,MAAMuG,eAC5B5D,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAOpB,OALA3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,IAEOA,GAGf,IAAK,WACH2D,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAAUrG,EAAC,IAAQ8H,cAAczB,EAAC,OACtD5K,KAAK+B,SAAS,CAAEuG,iBAAkB,MAAOD,aAAc,QACvD,MACF,IAAK,YACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAAUA,EAAC,IAAQ8H,cAAczB,EAAC,OACtD5K,KAAK+B,SAAS,CAAEuG,iBAAkB,OAAQD,aAAc,QACxD,MACF,IAAK,mBACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAClBA,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,IAErE5K,KAAK+B,SAAS,CACZwG,mBAAoB,OACpBF,aAAc,eAEhB,MACF,IAAK,kBACHjB,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAClBrG,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,IAErE5K,KAAK+B,SAAS,CACZwG,mBAAoB,MACpBF,aAAc,eAEhB,MACF,IAAK,qBACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,MACCqG,EAAC,MACIrG,EAAC,UAAgBA,EAAC,UAAgBqG,EAAC,WAAiB,EAEpD,GAGD,IAGZ5K,KAAK+B,SAAS,CACZyG,mBAAoB,OACpBH,aAAc,iBAEhB,MACF,IAAK,oBACHjB,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,MACCqG,EAAC,OACIrG,EAAC,UAAgBA,EAAC,UAAgBqG,EAAC,WAElC,EAGH,IAGX5K,KAAK+B,SAAS,CACZyG,mBAAoB,MACpBH,aAAc,iBAEhB,MACF,IAAK,qBACHjB,EAAeuD,KACb,SAACC,EAAGrG,GAAJ,OACE,IAAI+H,KAAK/H,EAAC,sBACV,IAAI+H,KAAK1B,EAAC,wBAEd5K,KAAK+B,SAAS,CACZ0G,0BAA2B,OAC3BJ,aAAc,iBAEhB,MACF,IAAK,oBACHjB,EAAeuD,KACb,SAACpG,EAAGqG,GAAJ,OACE,IAAI0B,KAAK/H,EAAC,sBACV,IAAI+H,KAAK1B,EAAC,wBAEd5K,KAAK+B,SAAS,CACZ0G,0BAA2B,MAC3BJ,aAAc,iBAEhB,MACF,IAAK,sBACHjB,EAAeuD,KACb,SAACC,EAAGrG,GAAJ,OACE,IAAI+H,KAAK/H,EAAC,wBACV,IAAI+H,KAAK1B,EAAC,0BAEd5K,KAAK+B,SAAS,CACZ2G,2BAA4B,OAC5BL,aAAc,kBAEhB,MACF,IAAK,qBACHjB,EAAeuD,KACb,SAACpG,EAAGqG,GAAJ,OACE,IAAI0B,KAAK/H,EAAC,wBACV,IAAI+H,KAAK1B,EAAC,0BAEd5K,KAAK+B,SAAS,CACZ2G,2BAA4B,MAC5BL,aAAc,kBAEhB,MACF,IAAK,oBACHjB,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,oBACCqG,EAAC,oBACIrG,EAAC,oBAAwB8H,cAC9BzB,EAAC,sBAGK,EAGH,IAGX5K,KAAK+B,SAAS,CACZ4G,0BAA2B,MAC3BN,aAAc,iBAEhB,MACF,IAAK,qBACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,oBACCqG,EAAC,oBACIrG,EAAC,oBAAwB8H,cAC9BzB,EAAC,qBAGI,GAGD,IAGZ5K,KAAK+B,SAAS,CACZ4G,0BAA2B,OAC3BN,aAAc,iBAEhB,MACF,IAAK,0BACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GACtB,OAAIA,EAAC,iBACCqG,EAAC,iBAED,IAAI0B,KAAK/H,EAAC,kBACV,IAAI+H,KAAK1B,EAAC,kBAGL,GAGD,IAGZ5K,KAAK+B,SAAS,CACZ6G,+BAAgC,OAChCP,aAAc,sBAEhB,MAEF,IAAK,yBACHjB,EAAeuD,KAAK,SAACpG,EAAGqG,GACtB,OAAIrG,EAAC,iBACCqG,EAAC,iBAED,IAAI0B,KAAK/H,EAAC,kBACV,IAAI+H,KAAK1B,EAAC,mBAGJ,EAGH,IAGX5K,KAAK+B,SAAS,CACZ6G,+BAAgC,MAChCP,aAAc,sBAEhB,MACF,IAAK,2BACHjB,EAAeuD,KAAK,SAACC,EAAGrG,GAAJ,OAClBA,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,IAErE5K,KAAK+B,SAAS,CACZwG,mBAAoB,OACpBF,aAAc,uBAEhB,MACF,IAAK,0BACHjB,EAAeuD,KAAK,SAACpG,EAAGqG,GAAJ,OAClBrG,EAAC,eAAqBA,EAAC,eAAqBqG,EAAC,gBAAsB,IAErE5K,KAAK+B,SAAS,CACZwG,mBAAoB,MACpBF,aAAc,uBAMpBrI,KAAK+B,SAAS,CAAEqF,6DAGA,IAAAoF,EAAAxM,KAChB,IAAKA,KAAKa,MAAMiI,eAAgB,CAC9B,IAAM2D,EAAU,CACd,CACEC,QAAS,CACP,2BACA,OACA,4BACA,MACA,aACA,QACA,eACA,gBACA,yBACA,wBACA,yBACA,wBACA,kBAEF5L,KAAM,KAgFV,OA5EAd,KAAKa,MAAMuG,eAAe4D,OAAO,SAAAC,GAC/B,OAAKuB,EAAK3L,MAAMqH,aAGW,IAArB+C,EAAQ0B,WAMbhH,IAAI,SAAAiH,GACL,IAAItC,EAAM,CACR,CAAE7G,MAA2B,OAApBmJ,EAAInG,YAAuB,GAAKmG,EAAInG,aAC7C,CAAEhD,MAA+B,OAAxBmJ,EAAIC,gBAA2B,GAAKD,EAAIC,iBACjD,CACEpJ,MAC+B,OAA7BmJ,EAAIE,qBAAgC,GAAKF,EAAIE,sBAEjD,CAAErJ,MAAmB,OAAZmJ,EAAIG,IAAe,GAAKH,EAAIG,KACrC,CACEtJ,MAA0B,OAAnBmJ,EAAII,WAAsB,GAAKJ,EAAII,WAC1CtI,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIO,gBAAkBvO,cAAc,SAAW,aAK5D,CACE6E,MAAqB,OAAdmJ,EAAIQ,MAAiB,GAAKR,EAAIQ,MACrC1I,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIS,WAAazO,cAAc,SAAW,aAKvD,CAAE6E,MAA2B,OAApBmJ,EAAIU,YAAuB,GAAKV,EAAIU,aAC7C,CAAE7J,MAA6B,OAAtBmJ,EAAIW,cAAyB,GAAKX,EAAIW,eAC/C,CACE9J,MACwC,OAAtCmJ,EAAIhB,8BACA,GACAgB,EAAIhB,+BAEZ,CACEnI,MACqC,OAAnCmJ,EAAIY,2BACA,GACAZ,EAAIY,4BAEZ,CACE/J,MACwC,OAAtCmJ,EAAIa,8BACA,GACAb,EAAIa,+BAEZ,CACEhK,MACqC,OAAnCmJ,EAAIc,2BACA,GACAd,EAAIc,4BAEZ,CACEjK,MACsC,OAApCmJ,EAAIe,4BACA,GACAf,EAAIe,8BAGdlB,EAAQ,GAAG3L,KAAKqD,KAAKmG,KAIhBmC,oDAKT,IAAKzM,KAAKa,MAAMkI,eAAgB,CAC9B,IAAM0D,EAAU,CACd,CACEC,QAAS,CACP,2BACA,OACA,SACA,eACA,gBACA,kBACA,MACA,SACA,iBACA,qBAEF5L,KAAM,KA8FV,OA1FAd,KAAKa,MAAMsG,QAAQxB,IAAI,SAAAiH,GACrB,IAAItC,EAAM,CACR,CACE7G,MAA2B,OAApBmJ,EAAInG,YAAuB,GAAKmG,EAAInG,YAC3C/B,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAA+B,OAAxBmJ,EAAIC,gBAA2B,GAAKD,EAAIC,gBAC/CnI,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAAsB,OAAfmJ,EAAIiB,OAAkB,GAAKjB,EAAIiB,OACtCnJ,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAA2B,OAApBmJ,EAAIU,YAAuB,GAAKV,EAAIU,YAC3C5I,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAA6B,OAAtBmJ,EAAIW,cAAyB,GAAKX,EAAIW,cAC7C7I,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MACiC,OAA/BmJ,EAAIkB,uBACA,GACAlB,EAAIkB,uBACVpJ,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAAmB,OAAZmJ,EAAIG,IAAe,GAAKH,EAAIG,IACnCrI,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,aAKxD,CACE6E,MAAsB,OAAfmJ,EAAImB,OAAkB,GAAKnB,EAAImB,OACtCrJ,MAAO,CACLuI,KAAM,CACJlH,MAAO,CACLmH,IAAKN,EAAIgB,YAAchP,cAAc,SAAW,cAM1D6N,EAAQ,GAAG3L,KAAKqD,KAAKmG,KAIhBmC,oCAIF,IAAAuB,EAAAhO,KAoCP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACG7E,KAAKa,MAAM4G,YAAYrE,OAAS,GAC/BpD,KAAKa,MAAM4G,YAAY,GAAGhB,aACxBnC,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAA,WACiD,IAA9CxE,KAAKa,MAAM4G,YAAY,GAAGb,gBAA2B5G,KAAKa,MAAM4G,YAAY,GAAGhB,YAAczG,KAAKa,MAAM4G,YAAY,GAAGhB,YAAYlE,OAAO,eAC3I+B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,gBAAhB,KACKpG,KAAKa,MAAM4G,YAAY,GAAG7B,MACqB,IAAjD5F,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACjC,cACA,IACkD,IAArDY,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,YACjC,kBACA,KAGRkF,EAAAC,EAAAC,cAAA,QAAME,MAAO,CAAEC,UAAW,OAAQqB,QAAS,UAA3C,sBACsB,IACpB1B,EAAAC,EAAAC,cAAA,QAAME,MAAO,CAAEwJ,WAAY,IAAKnI,MAAO,YAAvC,SAEQ,IAJV,eAKe,IACbzB,EAAAC,EAAAC,cAAA,QAAME,MAAO,CAAEwJ,WAAY,IAAKnI,MAAO,YAAvC,oCANF,qXAiBAzB,EAAAC,EAAAC,cAAA,YAGLxE,KAAKa,MAAMsG,QAAQ/D,OAAS,GAC3BpD,KAAKa,MAAMsG,QAAQ,GAAGV,cACrBzG,KAAKa,MAAMmI,eACZhJ,KAAKa,MAAM4G,YAAYrE,OAAS,GAChCpD,KAAKa,MAAM4G,YAAY,GAAGhB,aAC1BzG,KAAKa,MAAMgK,aACX7K,KAAKa,MAAMgK,YAAYzH,OAAS,GAC9BkB,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAC2J,EAAA,EAAD,KACE7J,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,WACHqH,EAAKnN,MAAMgK,YAAYzH,OAAS,EAClC4K,EAAKnE,WAAWmE,EAAKnN,MAAMgK,YAAY,GAAGJ,MAE1CuD,EAAKnE,WAAW,IAGpBwE,OAA0C,IAAlCrO,KAAKa,MAAMgK,YAAYzH,QAAgBpD,KAAKa,MAAMiK,QAAU9K,KAAKa,MAAMgK,YAAY,GAAGJ,MAVhG,oBAAAlI,OAYuBvC,KAAKa,MAAMgK,YAAY,GAAGJ,KAZjD,MAcCzK,KAAKa,MAAMgK,YAAYzH,OAAS,GAC/BkB,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACGjO,KAAKa,MAAMgK,YAAYyD,MAAM,GAAG3I,IAC/B,SAAA8E,GAAI,OACFA,EAAKA,MACHnG,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACED,IAAK4E,EAAKA,KACV2D,SAAO,EACPrI,MAAM,OACNY,QAAS,kBAAMqH,EAAKnE,WAAWY,EAAKA,OACpC4D,OAAQL,EAAKnN,MAAMiK,QAAUL,EAAKA,MALpC,GAAAlI,OAOMkI,EAAKA,KAPX,gBAWNnG,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBAAMqH,EAAKnE,WAAW,IAC/BwE,OAA6B,IAArBrO,KAAKa,MAAMiK,OAJrB,kBAUNxG,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACCxE,KAAKa,MAAM2K,aACVlH,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACE0J,GAAI,CAAExJ,KAAM,IACZD,GAAI,CAAEC,KAAM,IACZI,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IACvBlK,EAAAC,EAAAC,cAACiK,EAAA,EAAD,CAAM/J,MAAO,CAAEU,aAAc,SAC3Bd,EAAAC,EAAAC,cAACkK,EAAA,EAAD,CACEhK,MAAO,CAAEiK,gBAAiB,YAD5B,uBAAApM,OAG+C,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAHtE,gBAKE9K,KAAKa,MAAMqI,OACX5E,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAA,OAAKE,MAAO,CAAEkK,UAAW,WAAzB,+BAAiEtK,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAMgL,iBACpF7L,KAAKa,MAAMiL,oBAAsB,GAChCxH,EAAAC,EAAAC,cAAA,8DAAqDF,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAMiL,sBAE3ExH,EAAAC,EAAAC,cAAA,OAAKmC,QAAS,kBAAMqH,EAAKjM,SAAS,CAAEmH,OAAO,KAAS9C,UAAU,cAAc1B,MAAO,CAAEU,aAAc,SAAnG,SAGHpF,KAAKa,MAAMqI,OACV5E,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAA,OAAKE,MAAO,CAAEkK,UAAW,WAAzB,gBAAkDtK,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAM2K,cACtElH,EAAAC,EAAAC,cAAA,iDAAwCF,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAM4K,iBAC5DnH,EAAAC,EAAAC,cAAA,yCAAgCF,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAM6K,kBACpDpH,EAAAC,EAAAC,cAAA,0CAAiCF,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAMgL,iBACpD7L,KAAKa,MAAMiL,oBAAsB,GAChCxH,EAAAC,EAAAC,cAAA,8DAAqDF,EAAAC,EAAAC,cAAA,cAASxE,KAAKa,MAAMiL,sBAE3ExH,EAAAC,EAAAC,cAAA,OAAKmC,QAAS,kBAAMqH,EAAKjM,SAAS,CAAEmH,OAAO,KAAU9C,UAAU,cAAc1B,MAAO,CAAEU,aAAc,SAApG,WAcVd,EAAAC,EAAAC,cAAC2J,EAAA,EAAD,KACE7J,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBACPqH,EAAKjM,SAAS,CAAEkG,KAAM,uBAExBoG,OAA4B,sBAApBrO,KAAKa,MAAMoH,MANrB,qBAUA3D,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBACPqH,EAAKjM,SAAS,CAAEkG,KAAM,uBAExBoG,OAA4B,sBAApBrO,KAAKa,MAAMoH,MANrB,qBAUA3D,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBAAMqH,EAAKjM,SAAS,CAAEkG,KAAM,cAAeC,aAAa,KACjEmG,OAA4B,gBAApBrO,KAAKa,MAAMoH,MAJrB,gBASF3D,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACCnF,QAASW,KAAKa,MAAMgL,gBAAkB7L,KAAKa,MAAMgL,eAAiB,IAA2B,sBAApB7L,KAAKa,MAAMoH,MAAoD,sBAApBjI,KAAKa,MAAMoH,QAC9H3D,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAC2J,EAAA,EAAD,KACE7J,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBAAMqH,EAAKjM,SAAS,CAAEmG,aAAa,KAC5CmG,QAAmC,IAA3BrO,KAAKa,MAAMqH,aAJrB,YAQA5D,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEsI,SAAO,EACPrI,MAAM,OACNY,QAAS,kBAAMqH,EAAKjM,SAAS,CAAEmG,aAAa,KAC5CmG,QAAmC,IAA3BrO,KAAKa,MAAMqH,aAJrB,kCASF5D,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,cAKRxE,KAAKa,MAAMoI,2BACX3E,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACqK,EAAA,QAAD,CACE/N,KAAMd,KAAKa,MAAM0G,mBACjBuH,SAAQ,GAAAvM,OAC8C,OAAjDvC,KAAKa,MAAM0G,mBAAmB,GAAGd,YAAuBzG,KAAKa,MAAM0G,mBAAmB,GAAGwH,cAAgB/O,KAAKa,MAAM0G,mBAAmB,GAAGd,YADvI,KAAAlE,OACsJvC,KAAKa,MAAMsG,QAAQ,GAAKnH,KAAKa,MAAMsG,QAAQ,GAAG0F,gBAAkB7M,KAAKa,MAAM0G,mBAAmB,GAAGsF,gBADvP,oBAGRrJ,OAAO,UAEPc,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQsI,SAAO,EAACrI,MAAM,QAAtB,kCAKFzB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,YAGkB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,SAiBhBkD,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,EACL+G,QACEvG,KAAKa,MAAMiI,gBACX9I,KAAKa,MAAMkI,gBACX/I,KAAKa,MAAMmI,kBAIfhJ,KAAKa,MAAMiI,iBACV9I,KAAKa,MAAMkI,iBACX/I,KAAKa,MAAMmI,eACV1E,EAAAC,EAAAC,cAAA,YACGxE,KAAKa,MAAMuG,eAAehE,OAAS,GAClCpD,KAAKa,MAAMsG,QAAQ/D,OAAS,IAC3BpD,KAAKa,MAAMmI,eACZhJ,KAAKa,MAAM4G,YAAYrE,OAAS,GAChCpD,KAAKa,MAAM4G,YAAY,GAAGhB,aACN,sBAApBzG,KAAKa,MAAMoH,MACT3D,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBAEd9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,wEAE0B,KACuB,IAA9CpG,KAAKa,MAAM4G,YAAY,GAAGb,gBAA2B5G,KAAKa,MAAM4G,YAAY,GAAGhB,YAAczG,KAAKa,MAAM4G,YAAY,GAAGhB,YAAYlE,OAAO,eAH7I,IAG8J,IAC3JvC,KAAKa,MAAM4G,YAAY,GAAG7B,MACrB,IACRtB,EAAAC,EAAAC,cAACqK,EAAA,QAAD,CACE/N,KAAMd,KAAKa,MAAMuG,eAAe4D,OAAO,SAAAC,GACrC,OAAK+C,EAAKnN,MAAMqH,aAGW,IAArB+C,EAAQ0B,WAMbhH,IAAI,SAAAqG,GACL,IAAIgD,EAAO,GAqBX,OApBAA,EAAK,4BACHhD,EAAOvF,YACTuI,EAAI,KAAWhD,EAAOa,gBACtBmC,EAAK,6BACHhD,EAAOc,qBACTkC,EAAI,IAAUhD,EAAOe,IACrBiC,EAAK,cAAgBhD,EAAOgB,WAC5BgC,EAAI,MAAYhD,EAAOoB,MACvB4B,EAAK,gBAAkBhD,EAAOsB,YAC9B0B,EAAK,iBAAmBhD,EAAOuB,cAC/ByB,EAAK,0BACHhD,EAAOJ,8BACToD,EAAK,yBACHhD,EAAOwB,2BACTwB,EAAK,0BACHhD,EAAOyB,8BACTuB,EAAK,yBACHhD,EAAO0B,2BACTsB,EAAK,kBACHhD,EAAO2B,4BACFqB,IAETF,SAAQ,GAAAvM,OAAKvC,KAAKa,MAAMuG,eAAe,GAAGX,YAAlC,KAAAlE,OAAiDvC,KAAKa,MAAMuG,eAAe,GAAGyF,gBAA9E,KAAAtK,OAAsH,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAArJ,6BACRtH,OAAO,UAEPc,EAAAC,EAAAC,cAAA,KACE4B,UAAU,kBACV6I,IAAI,kBACJvK,MAAO,CACLwK,OAAQ,UACRC,SAAU,UACVpJ,MAAO,aAEL,KAERzB,EAAAC,EAAAC,cAACsC,EAAD,CACEsI,QACE9K,EAAAC,EAAAC,cAAA,KACE4B,UAAU,oBACV6I,IAAI,oBACJvK,MAAO,CACLwK,OAAQ,UACRC,SAAU,UACVpJ,MAAO,aAIb+I,SAAQ,GAAAvM,OAAKvC,KAAKa,MAAMuG,eAAe,GAAGX,YAAlC,KAAAlE,OAAiDvC,KAAKa,MAAMuG,eAAe,GAAGyF,gBAA9E,KAAAtK,OAAsH,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAArJ,0BAERxG,EAAAC,EAAAC,cAACwC,EAAD,CACEyF,QAASzM,KAAKuJ,kBACd5F,KAAK,UAGTW,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEwK,GAAI,CAAEtK,KAAM,GAAIyJ,OAAQ,GACxB1J,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GACvBrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IAEvBlK,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACER,KAAK,KACL5D,KAAK,SACLwC,KAAK,WACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAM+G,SAClBnC,SAAUzF,KAAKsJ,oBAEfhF,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,WAAWpC,MAAM,YACF,aAAxBzD,KAAKa,MAAM+G,SACR,qBACA,aAENtD,EAAAC,EAAAC,cAAA,UAAQqB,IAAI,YAAYpC,MAAM,aACH,cAAxBzD,KAAKa,MAAM+G,SACR,qBACA,aAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,2BACJpC,MAAM,4BAGJ,6BADDzD,KAAKa,MAAM+G,SAER,kDACA,0CAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,0BACJpC,MAAM,2BAGJ,4BADDzD,KAAKa,MAAM+G,SAER,kDACA,0CAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,mBACJpC,MAAM,oBAEmB,qBAAxBzD,KAAKa,MAAM+G,SACR,0CACA,kCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,kBACJpC,MAAM,mBAEmB,oBAAxBzD,KAAKa,MAAM+G,SACR,0CACA,kCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,qBACJpC,MAAM,sBAEmB,uBAAxBzD,KAAKa,MAAM+G,SACR,qCACA,6BAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,oBACJpC,MAAM,qBAEmB,sBAAxBzD,KAAKa,MAAM+G,SACR,qCACA,6BAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,qBACJpC,MAAM,sBAEmB,uBAAxBzD,KAAKa,MAAM+G,SACR,2CACA,mCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,oBACJpC,MAAM,qBAEmB,sBAAxBzD,KAAKa,MAAM+G,SACR,2CACA,mCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,sBACJpC,MAAM,uBAEmB,wBAAxBzD,KAAKa,MAAM+G,SACR,4CACA,oCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,qBACJpC,MAAM,sBAEmB,uBAAxBzD,KAAKa,MAAM+G,SACR,4CACA,oCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,oBACJpC,MAAM,qBAEmB,sBAAxBzD,KAAKa,MAAM+G,SACR,8BACA,sBAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,qBACJpC,MAAM,sBAEmB,uBAAxBzD,KAAKa,MAAM+G,SACR,8BACA,sBAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,0BACJpC,MAAM,2BAGJ,4BADDzD,KAAKa,MAAM+G,SAER,gDACA,wCAENtD,EAAAC,EAAAC,cAAA,UACEqB,IAAI,yBACJpC,MAAM,0BAGJ,2BADDzD,KAAKa,MAAM+G,SAER,gDACA,2CAKZtD,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAC8K,EAAA,EAAD,KACGtP,KAAKa,MAAMuG,eAAe4D,OAAO,SAAAC,GAChC,OAAK+C,EAAKnN,MAAMqH,aAGW,IAArB+C,EAAQ0B,WAMbhH,IACD,SAAAsF,GAAO,OACLA,EAAQ6B,sBACNxI,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACE0J,GAAG,KACHzJ,GAAG,IACHK,GAAG,IACHU,IAAKoF,EAAQ6B,sBAEbxI,EAAAC,EAAAC,cAACiK,EAAA,EAAD,CAAM/J,MAAO,CAAEU,aAAc,SAC3Bd,EAAAC,EAAAC,cAACkK,EAAA,EAAD,CACEhK,MAAO,CAAEiK,gBAAiB,YAEzB1D,EAAQ8B,IACTzI,EAAAC,EAAAC,cAAA,WAJF,8BAK8B,IAC3ByG,EAAQ6B,sBAEXxI,EAAAC,EAAAC,cAAC+K,EAAA,EAAD,CAAWC,OAAK,IACZvE,EAAQwE,qBACPxE,EAAQyE,gBAERzE,EAAQ0E,oBACR1E,EAAQ2E,eAER3E,EAAQ4E,sBACR5E,EAAQ6E,kBACPxL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,KACEzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,IACZnI,MAAO,YAHX,sDAWLkF,EAAQwE,oBACPnL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,2BACsB,IACpBzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WACEjD,EAAQ+E,wBACN/E,EAAQ+E,wBACRpR,cACE,IACA,IACNmH,MACEkF,EAAQ+E,wBACN/E,EAAQ+E,wBACRpR,cACE,UACA,YAGPqM,EAAQ+E,wBACP/E,EAAQ+E,wBACRpR,cACEqM,EAAQwE,mBACV,IACExE,EAAQwE,oBAEdnL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQgF,2BAGZ3L,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQiF,8BAKfjF,EAAQyE,eACPpL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,sBACiB,IACfzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WACEjD,EAAQkF,mBACNlF,EAAQkF,mBACRvR,cACE,IACA,IACNmH,MACEkF,EAAQkF,mBACNlF,EAAQkF,mBACRvR,cACE,UACA,YAGPqM,EAAQkF,mBACPlF,EAAQkF,mBACRvR,cACEqM,EAAQyE,cAAgB,IACxBzE,EAAQyE,eAEdpL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQmF,2BAGZ9L,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQoF,8BA6BfpF,EAAQ0E,mBACPrL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,6BACwB,IACtBzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WACEjD,EAAQqF,uBACNrF,EAAQqF,uBACR1R,cACE,IACA,IACNmH,MACEkF,EAAQqF,uBACNrF,EAAQqF,uBACR1R,cACE,UACA,YAGPqM,EAAQqF,uBACPrF,EAAQqF,uBACR1R,cACEqM,EAAQ0E,kBACV,IACE1E,EAAQ0E,mBAEdrL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAGbjD,EAAQsF,0BAEXjM,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQuF,6BAKfvF,EAAQ2E,cACPtL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,wBACmB,IACjBzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WACEjD,EAAQwF,kBACNxF,EAAQwF,kBACR7R,cACE,IACA,IACNmH,MACEkF,EAAQwF,kBACNxF,EAAQwF,kBACR7R,cACE,UACA,YAGPqM,EAAQwF,kBACPxF,EAAQwF,kBACR7R,cACEqM,EAAQ2E,aAAe,IACvB3E,EAAQ2E,cAEdtL,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAGbjD,EAAQyF,0BAEXpM,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAIZjD,EAAQ0F,6BA6Bf1F,EAAQ4E,qBACPvL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,qBACgB,IACdzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAGbjD,EAAQ4E,sBAId5E,EAAQ6E,kBACPxL,EAAAC,EAAAC,cAACuL,EAAA,EAAD,0BACqB,IACnBzL,EAAAC,EAAAC,cAAA,QACEE,MAAO,CACLwJ,WAAY,MAGbjD,EAAQ6E,yBAU7BxL,EAAAC,EAAAC,cAAA,YAILxE,KAAKa,MAAMuG,eAAehE,OAAS,GAClCpD,KAAKa,MAAMsG,QAAQ/D,OAAS,IAC3BpD,KAAKa,MAAMmI,eACZhJ,KAAKa,MAAM4G,YAAYrE,OAAS,GAChCpD,KAAKa,MAAM4G,YAAY,GAAGhB,aACN,sBAApBzG,KAAKa,MAAMoH,MACT3D,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,mBACd9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,wEAE0B,KACuB,IAA9CpG,KAAKa,MAAM4G,YAAY,GAAGb,gBAA2B5G,KAAKa,MAAM4G,YAAY,GAAGhB,YAAczG,KAAKa,MAAM4G,YAAY,GAAGhB,YAAYlE,OAAO,eAH7I,IAG8J,IAC3JvC,KAAKa,MAAM4G,YAAY,GAAG7B,MACrB,IACRtB,EAAAC,EAAAC,cAACqK,EAAA,QAAD,CACE/N,KAAMd,KAAKa,MAAMuG,eAAe4D,OAAO,SAAAC,GACrC,OAAK+C,EAAKnN,MAAMqH,aAGW,IAArB+C,EAAQ0B,WAMbhH,IAAI,SAAAqG,GACL,IAAIgD,EAAO,GAqBX,OApBAA,EAAK,4BACHhD,EAAOvF,YACTuI,EAAI,KAAWhD,EAAOa,gBACtBmC,EAAK,6BACHhD,EAAOc,qBACTkC,EAAI,IAAUhD,EAAOe,IACrBiC,EAAK,cAAgBhD,EAAOgB,WAC5BgC,EAAI,MAAYhD,EAAOoB,MACvB4B,EAAK,gBAAkBhD,EAAOsB,YAC9B0B,EAAK,iBAAmBhD,EAAOuB,cAC/ByB,EAAK,0BACHhD,EAAOJ,8BACToD,EAAK,yBACHhD,EAAOwB,2BACTwB,EAAK,0BACHhD,EAAOyB,8BACTuB,EAAK,yBACHhD,EAAO0B,2BACTsB,EAAK,kBACHhD,EAAO2B,4BACFqB,IAETF,SAAQ,GAAAvM,OAAKvC,KAAKa,MAAMuG,eAAe,GAAGX,YAAlC,KAAAlE,OAAiDvC,KAAKa,MAAMuG,eAAe,GAAGyF,gBAA9E,KAAAtK,OAAsH,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAArJ,6BACRtH,OAAO,UAEPc,EAAAC,EAAAC,cAAA,KACE4B,UAAU,kBACV6I,IAAI,kBACJvK,MAAO,CACLwK,OAAQ,UACRC,SAAU,UACVpJ,MAAO,aAEL,KAERzB,EAAAC,EAAAC,cAACsC,EAAD,CACEsI,QACE9K,EAAAC,EAAAC,cAAA,KACE4B,UAAU,oBACV6I,IAAI,oBACJvK,MAAO,CACLwK,OAAQ,UACRC,SAAU,UACVpJ,MAAO,aAIb+I,SAAQ,GAAAvM,OAAKvC,KAAKa,MAAMuG,eAAe,GAAGX,YAAlC,KAAAlE,OAAiDvC,KAAKa,MAAMuG,eAAe,GAAGyF,gBAA9E,KAAAtK,OAAsH,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAArJ,0BAERxG,EAAAC,EAAAC,cAACwC,EAAD,CACEyF,QAASzM,KAAKuJ,kBACd5F,KAAK,UAGTW,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,iBACb9B,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,gBAAgBwK,SAAO,EAACC,UAAQ,GAC/CvM,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBAAMqH,EAAK3E,cAAc,SAFpC,MAIM,IACHrJ,KAAKmJ,WACJnJ,KAAKa,MAAMyH,iBACX,MACAtI,KAAKa,MAAMwH,eAUf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,gBAHvB,aAMa,IACVrJ,KAAKmJ,WACJnJ,KAAKa,MAAM0H,mBACX,aACAvI,KAAKa,MAAMwH,eAGf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,kBAHvB,QAMQ,IACLrJ,KAAKmJ,WACJnJ,KAAKa,MAAM2H,mBACX,eACAxI,KAAKa,MAAMwH,eAGf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,kBAHvB,eAMe,IACZrJ,KAAKmJ,WACJnJ,KAAKa,MAAM4H,0BACX,eACAzI,KAAKa,MAAMwH,eAGf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,mBAHvB,gBAMgB,IACbrJ,KAAKmJ,WACJnJ,KAAKa,MAAM6H,2BACX,gBACA1I,KAAKa,MAAMwH,eAGf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,kBAHvB,eAMe,IACZrJ,KAAKmJ,WACJnJ,KAAKa,MAAM8H,0BACX,eACA3I,KAAKa,MAAMwH,eAGf/D,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK3E,cAAc,uBAHvB,oBAMoB,IACjBrJ,KAAKmJ,WACJnJ,KAAKa,MAAM+H,+BACX,oBACA5I,KAAKa,MAAMwH,iBAKnB/D,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMuG,eAAe4D,OAAO,SAAAC,GAChC,OAAK+C,EAAKnN,MAAMqH,aAGW,IAArB+C,EAAQ0B,WAMbhH,IACD,SAAAsF,GAAO,OACLA,EAAQ8B,KACNzI,EAAAC,EAAAC,cAAA,MACEqB,IAAKoF,EAAQ6B,qBACb1G,UAAU,eAEV9B,EAAAC,EAAAC,cAAA,UAAKyG,EAAQ8B,KAIbzI,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEkF,EAAQkC,gBACNlC,EAAQkC,gBACRvO,cACE,UACA,UACNsP,WACEjD,EAAQkC,gBACNlC,EAAQkC,gBACRvO,cACE,IACA,IACNkS,WAAY,WAGb7F,EAAQkC,gBACPlC,EAAQkC,gBAAkBvO,cACxBqM,EAAQ+B,WAAa,IACrB/B,EAAQ+B,YAEd1I,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEkF,EAAQoC,WACNpC,EAAQoC,WAAazO,cACnB,UACA,UACNsP,WACEjD,EAAQoC,WACNpC,EAAQoC,WAAazO,cACnB,IACA,IACNkS,WAAY,WAGb7F,EAAQoC,WACPpC,EAAQoC,WAAazO,cACnBqM,EAAQmC,MAAQ,IAChBnC,EAAQmC,OAEd9I,EAAAC,EAAAC,cAAA,UAAKyG,EAAQqC,aACbhJ,EAAAC,EAAAC,cAAA,UAAKyG,EAAQsC,eA6CbjJ,EAAAC,EAAAC,cAAA,UAAKyG,EAAQ4E,qBACbvL,EAAAC,EAAAC,cAAA,UAAKyG,EAAQ6E,yBAgBhC9P,KAAKa,MAAMsG,QAAQ/D,OAAS,GAC3BpD,KAAKa,MAAM4G,YAAYrE,OAAS,GAChCpD,KAAKa,MAAM4G,YAAY,GAAGhB,aACN,gBAApBzG,KAAKa,MAAMoH,OACVjI,KAAKa,MAAMmI,eACV1E,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,yCACyC,KACQ,IAA9CpG,KAAKa,MAAM4G,YAAY,GAAGb,gBAA2B5G,KAAKa,MAAM4G,YAAY,GAAGhB,YAAczG,KAAKa,MAAM4G,YAAY,GAAGhB,YAAYlE,OAAO,eAF7I,IAE8J,IAC3JvC,KAAKa,MAAM4G,YAAY,GAAG7B,MAJ/B,IAOEtB,EAAAC,EAAAC,cAACqK,EAAA,QAAD,CACE/N,KAAMd,KAAKa,MAAMsG,QAAQxB,IAAI,SAAAqG,GAC3B,IAAIgD,EAAO,GAgBX,OAfAA,EAAK,4BACHhD,EAAOvF,YACTuI,EAAI,KAAWhD,EAAOa,gBACtBmC,EAAK,UAAYhD,EAAO6B,OACxBmB,EAAK,mBAAqBhD,EAAOsB,YACjC0B,EAAK,iBAAmBhD,EAAOuB,cAC/ByB,EAAK,mBACHhD,EAAO8B,uBACTkB,EAAI,IAAUhD,EAAOe,IACrBiC,EAAI,OAAahD,EAAO+B,OACxBiB,EAAI,eAAqBhD,EAAO+E,eAChC/B,EAAI,kBACFhD,EAAOgF,kBACThC,EAAK,oCACHhD,EAAOzB,sBACFyE,IAETF,SAAQ,GAAAvM,OACHvC,KAAKa,MAAMsG,QAAQ,GAAGV,YADnB,KAAAlE,OACkCvC,KAAKa,MAAMsG,QAAQ,GAAG0F,gBADxD,KAAAtK,OACgG,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAD/H,4BAGRtH,OAAO,UAGPc,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,kBACX6I,IAAI,kBACJvK,MAAO,CAAEwK,OAAQ,UAAWC,SAAU,UAAWpJ,MAAO,aAAkB,KAE9EzB,EAAAC,EAAAC,cAACsC,EAAD,CACEsI,QACE9K,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,oBAAoB6I,IAAI,oBACnCvK,MAAO,CAAEwK,OAAQ,UAAWC,SAAU,UAAWpJ,MAAO,aAE5D+I,SAAQ,GAAAvM,OAAKvC,KAAKa,MAAMsG,QAAQ,GAAGV,YAA3B,KAAAlE,OAA0CvC,KAAKa,MAAMsG,QAAQ,GAAG0F,gBAAhE,KAAAtK,OAAwG,IAArBvC,KAAKa,MAAMiK,MAAc,MAAQ9K,KAAKa,MAAMiK,MAAQ,YAAvI,yBAERxG,EAAAC,EAAAC,cAACwC,EAAD,CACEyF,QAASzM,KAAK4J,yBACdjG,KAAK,WAIXW,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,iBACb9B,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,iBACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBAAMqH,EAAK5E,OAAO,YAF7B,SAIS,IACNpJ,KAAKmJ,WACJnJ,KAAKa,MAAMgH,YACX,SACA7H,KAAKa,MAAM8G,OAGfrD,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK5E,OAAO,qBAHhB,eAMe,IACZpJ,KAAKmJ,WACJnJ,KAAKa,MAAMiH,qBACX,kBACA9H,KAAKa,MAAM8G,OAGfrD,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBAAMqH,EAAK5E,OAAO,mBAF7B,gBAIgB,IACbpJ,KAAKmJ,WACJnJ,KAAKa,MAAMkH,mBACX,gBACA/H,KAAKa,MAAM8G,OAGfrD,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBACPqH,EAAK5E,OAAO,qBAHhB,kBAMkB,IACfpJ,KAAKmJ,WACJnJ,KAAKa,MAAMmH,qBACX,kBACAhI,KAAKa,MAAM8G,OAGfrD,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBAAMqH,EAAK5E,OAAO,SAF7B,MAIM,IACHpJ,KAAKmJ,WACJnJ,KAAKa,MAAMsH,SACX,MACAnI,KAAKa,MAAM8G,OAMfrD,EAAAC,EAAAC,cAAA,MACE4B,UAAU,kBACVO,QAAS,kBAAMqH,EAAK5E,OAAO,YAF7B,SAIS,IACNpJ,KAAKmJ,WACJnJ,KAAKa,MAAMuH,YACX,SACApI,KAAKa,MAAM8G,SAKnBrD,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMsG,QAAQxB,IAClB,SAAAqG,GAAM,OACJA,EAAO6B,QACLvJ,EAAAC,EAAAC,cAAA,MAAIqB,IAAKmG,EAAOiF,IACd3M,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,MAOPoN,EAAO6B,QAGVvJ,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,MAGPoN,EAAOsB,aAEVhJ,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,MAGPoN,EAAOuB,eAEVjJ,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,MAGPoN,EAAO8B,wBAEVxJ,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,MAGPoN,EAAOe,KAKVzI,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,UACA,UACNsP,WACElC,EAAO4B,YACL5B,EAAO4B,YAAchP,cACnB,IACA,IACNkS,WAAY,WAGb9E,EAAO4B,YACN5B,EAAO4B,YAAchP,cACnBoN,EAAO+B,OAAS,IAChB/B,EAAO+B,2BAtiFhClH,gHC3BRqK,YAAb,SAAAC,GAEE,SAAAD,EAAYtR,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAkR,IACjBrR,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAoR,GAAA/Q,KAAAH,KAAMJ,KAEDiB,MAAQ,CACXuQ,aAAa,GAJEvR,EAFrB,OAAAC,OAAAuR,EAAA,EAAAvR,CAAAoR,EAAAC,GAAArR,OAAAwR,EAAA,EAAAxR,CAAAoR,EAAA,EAAArL,IAAA,oBAAApC,MAAA,WAWsB,IAAAnB,EAAAtC,KAClBA,KAAKkC,MAAQ6B,WACX,kBAAMzB,EAAKP,SAAS,CAAEqP,aAAa,KACnCpR,KAAKJ,MAAM2R,SAdjB,CAAA1L,IAAA,uBAAApC,MAAA,WAmBItB,aAAanC,KAAKkC,SAnBtB,CAAA2D,IAAA,SAAApC,MAAA,WAuBI,OACEzD,KAAKa,MAAMuQ,aAAe9M,EAAAC,EAAAC,cAACgN,GAAAjN,EAAD,CACxBpD,KAAK,OACL4E,MAAM,UACN0L,OAAQzR,KAAKJ,MAAM6R,OAASzR,KAAKJ,MAAM6R,OAAS,GAChDC,MAAO1R,KAAKJ,MAAM8R,MAAQ1R,KAAKJ,MAAM8R,MAAQ,GAC7CC,QAAS3R,KAAKJ,MAAM2G,cA7B5B2K,EAAA,CAAoCrK,cCC7B,SAAS+K,GAAgBhS,GAAO,IAAAiS,EACLC,oBAAS,GADJC,EAAAjS,OAAAkS,EAAA,EAAAlS,CAAA+R,EAAA,GAC5BtL,EAD4BwL,EAAA,GACnBE,EADmBF,EAAA,GAAAG,EAECJ,mBAAS,IAFVK,EAAArS,OAAAkS,EAAA,EAAAlS,CAAAoS,EAAA,GAE5BE,EAF4BD,EAAA,GAEhBE,EAFgBF,EAAA,GAAAG,EAGCR,mBAAS,IAHVS,EAAAzS,OAAAkS,EAAA,EAAAlS,CAAAwS,EAAA,GAG5BE,EAH4BD,EAAA,GAGhBE,EAHgBF,EAAA,GAAAG,EAIXZ,mBAAS,IAJEa,EAAA7S,OAAAkS,EAAA,EAAAlS,CAAA4S,EAAA,GAI5BxR,EAJ4ByR,EAAA,GAItBC,EAJsBD,EAAA,GAAAE,EAKTf,mBAAS,IALAgB,EAAAhT,OAAAkS,EAAA,EAAAlS,CAAA+S,EAAA,GAK5BE,EAL4BD,EAAA,GAKrBE,EALqBF,EAAA,GAAAG,EAMPnB,oBAAS,GANFoB,EAAApT,OAAAkS,EAAA,EAAAlS,CAAAmT,EAAA,GAM5B5E,EAN4B6E,EAAA,GAMpBC,EANoBD,EAAA,GAAAE,EAOTtB,mBAAS,IAPAuB,EAAAvT,OAAAkS,EAAA,EAAAlS,CAAAsT,EAAA,GAO5BpS,EAP4BqS,EAAA,GAOrBC,EAPqBD,EAAA,GAAAE,EAQSzB,oBAAS,GARlB0B,EAAA1T,OAAAkS,EAAA,EAAAlS,CAAAyT,EAAA,GAQ5B/R,EAR4BgS,EAAA,GAQZC,EARYD,EAAA,GAWnCE,oBAAU,aACP,IAEHA,oBAAU,WACF9T,EAAMyB,OAAO2C,YACbV,QAAQ4G,IAAI,mBAAoBtK,EAAMyB,OAAO2C,WAC7C2P,MAEL,CAAC/T,EAAMyB,OAAO2C,YAGjB,IAkBM4P,EAAa,SAACrQ,GAChBA,EAAMO,iBACN+P,KAGEF,EAAa,WACftB,EAAczS,EAAMyB,OAAOoF,aAC3BgM,EAAc7S,EAAMyB,OAAOyS,aAC3BlB,EAAQhT,EAAMyB,OAAOuE,MACrBoN,EAASpT,EAAMyB,OAAO0S,QACtBZ,EAAUvT,EAAMyB,OAAOuF,kBAIrBiN,EAAa,WACf,IAAIzR,EAGA4R,EADAC,EAAMrU,EAAMqU,IAGJ,SAARA,IACAD,EAAS,oBAED,SAARC,IACAD,EAAS,wBAGb5R,EAAG,GAAAG,OAAM1D,WAAN,kBAAA0D,OAA+ByR,GAGlC/B,GAAW,GAEX3O,QAAQ4G,IAAI9H,GACZI,MAAMJ,EAAK,CACPK,OAAQ,OACR1D,YAPa,UAQb2D,QAAS,CACLC,eAAgB,oBAEpBC,KAAMf,KAAKgB,UAAU,CACjBoO,GAAIiD,SAAStU,EAAMyB,OAAO2C,WAC1ByC,YAAa2L,EACbxM,KAAM1E,EACN4S,YAAatB,EACbuB,OAAQhB,EACRpU,OAAQA,SACRiI,gBAAiByH,MAEtBvL,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACV,MAAMC,MAAMF,EAASG,YAEzB,OAAOH,EAASoR,SACjBrR,KAAK,SAAAqR,GAEJ,GADA7Q,QAAQ4G,IAAI,QAASiK,GACR,cAATA,EAIA,MAAMlR,MAAMkR,GAHZlC,GAAW,GACXrS,EAAMwU,WAIX/Q,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACTA,EAAMI,UACPJ,EAAMI,QAAU,uBAEpBkS,EAAStS,EAAMI,SACfqS,GAAkB,GAClBxB,GAAW,MAKnB,OACI3N,EAAAC,EAAAC,cAAC6P,EAAA,EAAD,CAAOnO,OAAQtG,EAAM0U,KAAMnO,OAAQvG,EAAMwU,QACrC9P,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAU2O,GACZtP,EAAAC,EAAAC,cAAC+P,EAAA,EAAD,KAA4B,SAAd3U,EAAMqU,IAAN,WAAd,QAAA1R,OAA2D3C,EAAMyB,OAAOqF,OACxEpC,EAAAC,EAAAC,cAACgQ,EAAA,EAAD,KACKjO,GACGjC,EAAAC,EAAAC,cAACC,EAAA,EAAD,KACIH,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACIN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKwK,GAAI,CAAEtK,KAAM,EAAGyJ,OAAQ,IACxBlK,EAAAC,EAAAC,cAACiQ,GAAD,CAAgBlO,QAASA,EAASgL,MAAO,SAMxD3R,EAAMyB,OAAO2C,WACVM,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACI3J,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,mBAAX,eACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACIpE,KAAK,OACLwC,KAAK,aACL6B,GAAG,kBACH/B,MAAO2O,EACPuC,UAAW,IACXlP,SAAU,SAAAmP,GAAC,OAAIvC,EAAcuC,EAAEpR,OAAOC,QACtCiC,YAAY,mBAK5BpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,mBAAX,eACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACIpE,KAAK,OACLwC,KAAK,aACL6B,GAAG,kBACH/B,MAAO+O,EACPmC,UAAW,IACXlP,SAAU,SAAAmP,GAAC,OAAInC,EAAcmC,EAAEpR,OAAOC,QACtCiC,YAAY,mBAK5BpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,QACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACIpE,KAAK,OACLwC,KAAK,OACL6B,GAAG,YACH/B,MAAOvC,EACPyT,UAAW,IACXlP,SAAU,SAAAmP,GAAC,OAAIhC,EAAQgC,EAAEpR,OAAOC,QAChCiC,YAAY,YAK5BpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,cAAX,UACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACIpE,KAAK,OACLwC,KAAK,QACL6B,GAAG,aACH/B,MAAOsP,EACP4B,UAAW,IACXlP,SAAU,SAAAmP,GAAC,OAAI5B,EAAS4B,EAAEpR,OAAOC,QACjCiC,YAAY,cAK5BpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,eAAX,mBACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CAAOpE,KAAK,SACRwC,KAAK,SAAS6B,GAAG,cACjB/B,MAAO4K,EACP5I,SAAU,SAAAmP,GAAC,OAAIzB,EAAUyB,EAAEpR,OAAOC,SAClCa,EAAAC,EAAAC,cAAA,UAAQqB,IAAK,EAAGpC,OAAO,GAAvB,UAEAa,EAAAC,EAAAC,cAAA,UAAQqB,IAAK,EAAGpC,OAAO,GAAvB,iBAQb,KAAVzC,GACGsD,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACIN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACIF,MAAM,UACNG,OAAQ1E,EACR2E,OArMP,WACrBsN,GAAmBjS,GACnB8R,EAAS,MAqMoBtS,MAMrBsD,EAAAC,EAAAC,cAACqQ,GAAA,EAAD,KACIvQ,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,UAAUY,QAASiN,GAA/C,QADJ,IAIItP,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQC,MAAM,UAAUY,QA5MnB,SAACpD,GAClBA,EAAMO,iBACNwP,EAAS,IACTG,GAAkB,GAClBpB,EAAc,IACdI,EAAc,IACdG,EAAQ,IACRI,EAAS,IACTG,EAAU,GACVvT,EAAMwU,WAmMM,kJCnOpB,IAAM5U,GAAWC,cAAHqV,MAmOCC,eA5Nb,SAAAA,EAAYnV,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA+U,IACjBlV,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAiV,GAAA5U,KAAAH,KAAMJ,KAEDW,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKY,aAAeZ,EAAKY,aAAaJ,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKmV,kBAAoBnV,EAAKmV,kBAAkB3U,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKoV,gBAAkBpV,EAAKoV,gBAAgB5U,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEvBA,EAAKgB,MAAQ,CACXqU,iBAAiB,EACjBC,QAAS,GACT9T,OAAQ,GACR+T,aAAa,EACb7O,SAAS,EACT0N,IAAK,GACLjT,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,GApBD3B,mFAyBjB,IAAMoU,EAAMjU,KAAKJ,MAAML,MAAMyK,OAAOiK,IACpCjU,KAAK+B,SAAS,CAAEkS,IAAKA,IACrBjU,KAAKiV,gBAAgBhB,8CAIJjS,GACjB,IAAMiS,EAAMjU,KAAKJ,MAAML,MAAMyK,OAAOiK,IACpC3Q,QAAQ4G,IAAIlK,KAAKa,MAAMoT,IAAKA,GACxBjU,KAAKa,MAAMoT,MAAQA,IACrBjU,KAAK+B,SAAS,CAAEkS,IAAKA,IACrBjU,KAAKiV,gBAAgBhB,gDAKvBjU,KAAK+B,SAAS,CACZqT,aAAcpV,KAAKa,MAAMuU,YACzB/T,OAAQ,KAEV,IAAM4S,EAAMjU,KAAKJ,MAAML,MAAMyK,OAAOiK,IACpCjU,KAAKiV,gBAAgBhB,wCAIV/M,GACXlH,KAAK+B,SAAS,CACZqT,aAAcpV,KAAKa,MAAMuU,YACzB/T,OAAQ6F,8CAKM,IACZ9E,EAGA4R,EAJY1R,EAAAtC,KAGZiU,EAAMjU,KAAKJ,MAAML,MAAMyK,OAAOiK,IAGtB,SAARA,IACFD,EAAS,gBAEC,SAARC,IACFD,EAAS,oBAGX5R,EAAG,GAAAG,OAAM1D,WAAN,kBAAA0D,OAA+ByR,GAGlCxR,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAJe,UAKf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI/G,GACQ,IAAhBA,EAAKC,QACPd,EAAKP,SAAS,CACZX,QAAS,mBACTG,kBAAkB,IAGtBe,EAAKP,SAAS,CAAEoT,QAAShS,EAAMoD,SAAS,MAEzClD,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,EAAM+E,SAAS,iDAKzEvG,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,qCAIH,IAAAI,EAAA7D,KACP,OACEsE,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAE7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,UAAwB,SAAnBxE,KAAKa,MAAMoT,IAAiB,QAAU,GAA3C,yCAEF3P,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGF,KAArBvG,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,IACfT,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,QAIM,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,IACfT,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,YAMrBpB,KAAKa,MAAMsU,SAAWnV,KAAKa,MAAMsU,QAAQ/R,OAAS,GACjDkB,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,eAAe1B,MAAO,CAAE2Q,SAAU,SAC/C/Q,EAAAC,EAAAC,cAAC8Q,EAAA/Q,EAAD,CACE6B,UAAU,wBACVmP,QAAS,EACT7I,QAAS,CACP,CACE8I,MAAO,WACPtJ,MAAO,eACPuJ,OAAQ,SAAAC,GAAO,OAAIpR,EAAAC,EAAAC,cAAA,QACjB4B,UAAU,eACVO,QAAS,kBACP9C,EAAKpD,aAAaiV,MAGS,IAA5BA,EAAQ9O,gBAA2B8O,EAAQC,aAAeD,EAAQC,aAAapT,OAAO,kBAG3F,CAAEiT,MAAO,OAAQtJ,MAAO,QACxB,CAAEsJ,MAAO,OAAQtJ,MAAO,QACxB,CAAEsJ,MAAO,SAAUtJ,MAAO,WAE5BpL,KAAMd,KAAKa,MAAMsU,QACjBK,MAAM,0BACNI,QACE5V,KAAKa,MAAMsU,QAAQ/R,OAAS,GAC1B,CACEyS,QAAQ,EACRzW,QAAQ,GAEV,CACE0W,SAAU,EACVC,gBAAiB/V,KAAKa,MAAMsU,QAAQ/R,OAAS,GAAK,CAAC,GAAIpD,KAAKa,MAAMsU,QAAQ/R,QAAUpD,KAAKa,MAAMsU,QAAQ/R,OAAS,GAAK,CAAC,EAAG,GAAIpD,KAAKa,MAAMsU,QAAQ/R,QAAU,CAAC,EAAG,GAAI,GAAIpD,KAAKa,MAAMsU,QAAQ/R,aAMvMkB,EAAAC,EAAAC,cAACoN,GAAD9R,OAAAkW,OAAA,GAAqBhW,KAAKJ,MAA1B,CAAiC0U,KAAMtU,KAAKa,MAAMuU,YAAahB,OAAQpU,KAAKgV,kBAAmB3T,OAAQrB,KAAKa,MAAMQ,OAAQ4S,IAAKjU,KAAKa,MAAMoT,eAtNvHpN,4CCmkBZoP,eA3kBb,SAAAA,EAAYrW,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAiW,IACjBpW,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAmW,GAAA9V,KAAAH,KAAMJ,KA6BRsW,cAAgB,SAAAtB,GACdA,EAAE9Q,iBAC6B,MAA3BjE,EAAKgB,MAAMsV,aAIfC,KAAKtU,MAAMjC,EAAKgB,MAAMsV,aAAc,CAClCE,SAAUxW,EAAKyW,WACfC,QAAQ,IALR1W,EAAKkC,SAAS,CAAEX,QAAS,mBAAoBG,kBAAkB,KAjChD1B,EAyInB2W,eAAiB,SAAA5B,GAWf,IAAIxS,GAVJwS,EAAE9Q,sBACgC2S,IAA9B5W,EAAKgB,MAAMsG,QAAQ/D,SAOvBvD,EAAKkC,SAAS,CAAEX,QAAS,GAAIG,kBAAkB,IAK7Ca,GADmD,IAAjDvC,EAAKD,MAAMX,SAASgD,SAAS7C,OAAO,QACnC,GAAAmD,OAAM1D,WAAN,oCAEA,GAAA0D,OAAM1D,WAAN,gCAGLgB,EAAKkC,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAK1B,OAJAA,EAAQwP,QAAQ,SAAA3K,GACdA,EAAOC,OAAS,QAChBD,EAAOjJ,SAAW,KAEb,CACLoE,aAIUtH,EAAKgB,MAAMsG,QAEjBxB,IAAI,SAACqG,EAAQ4K,GAEnB/W,EAAKkC,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAE1B,OADAA,EAAQyP,GAAO3K,OAAS,UACjB,CACL9E,aAIJrH,OAAA+W,EAAA,EAAA/W,CAAAgX,EAAAvS,EAAAwS,KAAC,SAAAC,IAAA,OAAAF,EAAAvS,EAAA0S,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACO5U,MAAMJ,EAAK,CACfK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBmJ,SACArN,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,MAAa,YAATA,OACFtD,EAAKkC,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAG1B,OAFAA,EAAQyP,GAAO3K,OAAS,QACxB9E,EAAQyP,GAAO7T,SAAWI,EACnB,CACLgE,kBAKJtH,EAAKkC,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAG1B,OAFAA,EAAQyP,GAAO3K,OAAS,UACxB9E,EAAQyP,GAAO7T,SAAWI,EACnB,CACLgE,eAMP9D,MAAM,SAAArC,GACLnB,EAAKkC,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,MA3C3D,wBAAA0V,EAAAG,SAAAL,EAAAhX,QAADF,MAvCAD,EAAKkC,SAAS,CACZX,QAAS,wBACTG,kBAAkB,KA3ItB1B,EAAKqW,cAAgBrW,EAAKqW,cAAc7V,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACrBA,EAAKyX,aAAezX,EAAKyX,aAAajX,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAK0X,mBAAqB1X,EAAK0X,mBAAmBlX,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKyW,WAAazW,EAAKyW,WAAWjW,KAAhBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAClBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAK2X,aAAe3X,EAAK2X,aAAanX,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEpBA,EAAKgB,MAAQ,CACXsV,aAAc,KACdnV,MAAO,GACPI,QAAS,GACT+F,QAAS,GACT5F,kBAAkB,EAClBC,gBAAgB,GAjBD3B,kFAqBA0D,GACjBA,EAAMO,iBACN,IAAI2T,EAAOlU,EAAMC,OAAOkU,MAAM,GAE9B1X,KAAK+B,SAAS,CACZoU,aAAcsB,iFAgBC7C,yFACjBA,EAAE9Q,sBAEgC2S,IAA9BzW,KAAKa,MAAMsG,QAAQ/D,8BACrBpD,KAAK+B,SAAS,CACZX,QAAS,wBACTG,kBAAkB,8BAItBvB,KAAK+B,SAAS,CAAEX,QAAS,GAAIG,kBAAkB,IAM7Ca,GADmD,IAAjDpC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACnC,GAAAmD,OAAM1D,WAAN,4BAEA,GAAA0D,OAAM1D,WAAN,wBAKLmB,KAAK+B,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAK1B,OAJAA,EAAQwP,QAAQ,SAAA3K,GACdA,EAAOC,OAAS,QAChBD,EAAOjJ,SAAW,KAEb,CACLoE,aAIAA,EAAUnH,KAAKa,MAAMsG,QAGpByP,EAAQ,cAAGA,EAAQzP,EAAQ/D,gCAC1B4I,EAAS7E,EAAQyP,GACrB5W,KAAK+B,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAE1B,OADAA,EAAQyP,GAAO3K,OAAS,UACjB,CACL9E,uBAIE3E,MAAMJ,EAAK,CACfK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBmJ,SACArN,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,MAAa,YAATA,OACFb,EAAKP,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAG1B,OAFAA,EAAQyP,GAAO3K,OAAS,QACxB9E,EAAQyP,GAAO7T,SAAWI,EACnB,CACLgE,kBAKJ7E,EAAKP,SAAS,SAAA2U,GACZ,IAAMvP,EAAUuP,EAAUvP,QAG1B,OAFAA,EAAQyP,GAAO3K,OAAS,UACxB9E,EAAQyP,GAAO7T,SAAWI,EACnB,CACLgE,eAMP9D,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,cApDpBoV,0JAsJ/BzP,GAETA,EAAQrG,KAAOqG,EAAQrG,KAAKkK,OAC1B,SAAAgB,GAAM,OAAIA,EAAO6B,QAA4B,KAAlB7B,EAAO6B,SAIpC1G,EAAQrG,KAAK6V,QAAQ,SAAC3K,EAAQ2L,GAC5B3L,EAAOiF,GAAK0G,EAAI,EAChB3L,EAAOC,OAAS,GAChBD,EAAOjJ,SAAW,GACM,kBAApBiJ,EAAO4L,UAAgC5L,EAAO+C,gBAChD/C,EAAOvF,YAAcuF,EAAO+C,iBAIhC,IAAM8I,EAAO/X,OAAAgY,GAAA,EAAAhY,CACRqH,EAAQrG,KACRsJ,OAAO,SAAC2N,EAAGC,GACV,IAAMnS,EAAMmS,EAAEnK,OACRoK,EACJF,EAAEG,IAAIrS,IACN/F,OAAOkW,OAAO,GAAIgC,EAAG,CACnBG,aAAcH,EAAEG,aAChBC,cAAeJ,EAAEI,cACjBC,KAAM,IAcV,OAVEJ,EAAKI,KAAO,GACZJ,EAAKG,eACkB,KAAvBH,EAAKG,gBAELH,EAAKE,aAAeF,EAAKE,aAAe,KAAOH,EAAEG,aACjDF,EAAKG,cAAgBH,EAAKG,cAAgB,KAAOJ,EAAEI,eAGrDH,EAAKI,MAAQ,EAENN,EAAEO,IAAIzS,EAAKoS,IACjB,IAAIM,KACNC,UAuBLxY,KAAK+B,SAAS,CACZoF,QAAS0Q,IAEuB,IAA9B7X,KAAKa,MAAMsG,QAAQ/D,QACrBpD,KAAK+B,SAAS,CACZX,QAAS,iCACTG,kBAAkB,+CAOtBvB,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,0CAIA6K,GACX,OAAQA,GACN,IAAK,QACH,OACE3H,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,yBAAyB1B,MAAO,CAAEyK,SAAU,UAE7D,IAAK,UACH,OACE7K,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,qBAAqB1B,MAAO,CAAEyK,SAAU,UAEzD,IAAK,UACH,OACE7K,EAAAC,EAAAC,cAAA,KACE4B,UAAU,sBACV1B,MAAO,CAAEqB,MAAO,UAAWoJ,SAAU,UAG3C,IAAK,QACH,OACE7K,EAAAC,EAAAC,cAAA,KACE4B,UAAU,sBACV1B,MAAO,CAAEqB,MAAO,UAAWoJ,SAAU,UAG3C,QACE,OAAO7K,EAAAC,EAAAC,cAAA,+CAIJ,IAAAX,EAAA7D,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAKrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IACtDlK,EAAAC,EAAAC,cAAA,WACoD,IAAjDxE,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QACjC,mBACA,eAENkF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,OACL8U,OAAO,OACPjT,GAAG,YACHkT,aAAW,aACXC,IAAK,SAAAC,GACH/U,EAAKgV,WAAaD,GAEpBnT,SAAUzF,KAAKuX,uBAIrBjT,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEH,MAAO,CAAEsB,QAAS,WAClBlB,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GACvBrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IAEvBlK,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAEE3E,KAAK,SACL4E,MAAM,UACNY,QAAS3G,KAAKkW,cACdwC,aAAW,WALb,WALF,OAeEpU,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAEE3E,KAAK,SACL4E,MAAM,UACNY,QAAS3G,KAAKwW,eACdkC,aAAW,YALb,YAfF,OAyBEpU,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAEE3E,KAAK,SACL4E,MAAM,UACNY,QAAS3G,KAAKsX,aACdoB,aAAW,UALb,YAWJpU,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAKrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IAChC,KAArBxO,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,WAMnBpB,KAAKa,MAAMsG,QAAQ/D,OAAS,GAC3BpD,KAAKa,MAAMsG,QAAQ6D,OAAO,SAAAgB,GAAM,MAAsB,UAAlBA,EAAOC,SACxC7I,OAAS,GACVkB,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,iBACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,6BACAF,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,wBAGJF,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMsG,QACT6D,OAAO,SAAAgB,GAAM,MAAsB,UAAlBA,EAAOC,SACxBtG,IACC,SAACqG,EAAQ4K,GAAT,OACE5K,EAAO6B,QACW,KAAlB7B,EAAO6B,QACLvJ,EAAAC,EAAAC,cAAA,MAAIqB,IAAK+Q,GACPtS,EAAAC,EAAAC,cAAA,MAAI4B,UAAU,iBACXvC,EAAK2T,aAAaxL,EAAOC,SAE5B3H,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,QACE4B,UAAU,cACVO,QAAS,kBAAMrD,QAAQ4G,QAEtB8B,EAAO6B,SAGZvJ,EAAAC,EAAAC,cAAA,UAAKwH,EAAO8M,QACZxU,EAAAC,EAAAC,cAAA,UAAKwH,EAAO+M,eACZzU,EAAAC,EAAAC,cAAA,UAAKwH,EAAOvF,aACZnC,EAAAC,EAAAC,cAAA,UAAKwH,EAAOsB,aACZhJ,EAAAC,EAAAC,cAAA,UAAKwH,EAAOgN,YAAYzW,OAAO,KAAMyJ,EAAOiN,kBAC5C3U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOkN,kBACZ5U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOmN,cACZ7U,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO+B,QACL/B,EAAO+B,QAAUnP,cACf,UACA,YAGU,QAAjBoN,EAAO+B,OACJ/B,EAAO+B,OAAS,IAAM/B,EAAOoN,MAC7B,eAEN9U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOoM,eACZ9T,EAAAC,EAAAC,cAAA,UAAKwH,EAAOjJ,kBAUnC/C,KAAKa,MAAMsG,QAAQ/D,OAAS,GAC3BkB,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,iBACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,6BACAF,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,2BACAF,EAAAC,EAAAC,cAAA,wBAGJF,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMsG,QAAQxB,IAClB,SAACqG,EAAQ4K,GAAT,OACE5K,EAAO6B,QACW,KAAlB7B,EAAO6B,QACLvJ,EAAAC,EAAAC,cAAA,MAAIqB,IAAK+Q,GACPtS,EAAAC,EAAAC,cAAA,MAAI4B,UAAU,iBACXvC,EAAK2T,aAAaxL,EAAOC,SAE5B3H,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,QACE4B,UAAU,cACVO,QAAS,kBAAMrD,QAAQ4G,QAEtB8B,EAAO6B,SAGZvJ,EAAAC,EAAAC,cAAA,UAAKwH,EAAO8M,QACZxU,EAAAC,EAAAC,cAAA,UAAKwH,EAAO+M,eACZzU,EAAAC,EAAAC,cAAA,UAAKwH,EAAOvF,aACZnC,EAAAC,EAAAC,cAAA,UAAKwH,EAAOsB,aACZhJ,EAAAC,EAAAC,cAAA,UAAKwH,EAAOgN,YAAYzW,OAAO,KAAMyJ,EAAOiN,kBAC5C3U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOkN,kBACZ5U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOmN,cACZ7U,EAAAC,EAAAC,cAAA,MACEE,MAAO,CACLqB,MACEiG,EAAO+B,QACL/B,EAAO+B,QAAUnP,cACf,UACA,YAGU,QAAjBoN,EAAO+B,OACJ/B,EAAO+B,OAAS,IAAM/B,EAAOoN,MAC7B,eAEN9U,EAAAC,EAAAC,cAAA,UAAKwH,EAAOoM,eACZ9T,EAAAC,EAAAC,cAAA,UAAKwH,EAAOjJ,2BA5jBrB8D,aCwHNwS,oLAzHX,OACE/U,EAAAC,EAAAC,cAACC,EAAA,EAAD,KACEH,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,KACEtF,KAAK,kGACLsE,OAAO,SACP8V,IAAI,uBAHN,mEAQFhV,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,+CACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,0EAGAF,EAAAC,EAAAC,cAAA,6NAIuB,IACrBF,EAAAC,EAAAC,cAAA,KACEtF,KAAK,8GACLsE,OAAO,SACP8V,IAAI,uBAHN,QALF,wEAaQ,IACNhV,EAAAC,EAAAC,cAAA,KACEtF,KAAK,0GACLsE,OAAO,SACP8V,IAAI,uBAHN,QAdF,KAuBAhV,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,mFAGAF,EAAAC,EAAAC,cAAA,gHACoGF,EAAAC,EAAAC,cAAA,WADpG,yFAEyF,IACvFF,EAAAC,EAAAC,cAAA,KACEtF,KAAK,4CACLsE,OAAO,SACP8V,IAAI,uBAHN,gDAMK,IATP,OASgB,IACdhV,EAAAC,EAAAC,cAAA,KACEtF,KAAK,qFACLsE,OAAO,SACP8V,IAAI,uBAHN,gCAVF,KAmBAhV,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,mFACAF,EAAAC,EAAAC,cAAA,qQAMAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,sGAIAF,EAAAC,EAAAC,cAAA,yfAUAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,2GAIAF,EAAAC,EAAAC,cAAA,2lBAWAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,uDACAF,EAAAC,EAAAC,cAAA,+RA9GMqC,2HCyMH0S,eAzLb,SAAAA,EAAY3Z,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAuZ,IACjB1Z,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAyZ,GAAApZ,KAAAH,KAAMJ,KAEDuG,OAAStG,EAAKsG,OAAO9F,KAAZP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACdA,EAAK2Z,qBAAuB3Z,EAAK2Z,qBAAqBnZ,KAA1BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC5BA,EAAK4Z,oBAAsB5Z,EAAK4Z,oBAAoBpZ,KAAzBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC3BA,EAAK6Z,kBAAoB7Z,EAAK6Z,kBAAkBrZ,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAK8Z,uBAAyB9Z,EAAK8Z,uBAAuBtZ,KAA5BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC9BA,EAAK+Z,wBAA0B/Z,EAAK+Z,wBAAwBvZ,KAA7BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC/BA,EAAKgB,MAAQ,CACXqF,QAAQ,GAVOrG,wEAejBG,KAAK+B,SAAS,CACZmE,QAASlG,KAAKa,MAAMqF,sDAIH0O,GACnBA,EAAE9Q,iBACFnC,aAAakY,WAAW,UACxB7Z,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,kDAGlB2S,GAClBA,EAAE9Q,iBACF9D,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,0DAGf2S,GACrBA,EAAE9Q,iBACF9D,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,wDAGpB2S,GAChBA,EAAE9Q,iBACF9D,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,2DAKpCjC,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,8CAG7B,IAAAK,EAAAtC,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,2BACnB9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,2BACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,2CACb9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,2BACJ/P,KAAK,6BACLsE,OAAO,SACP4C,UAAU,oBALZ,mCAUF9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,wBACJ/P,KAAK,6BACLsE,OAAO,SACP4C,UAAU,eACVsS,aAAW,gBAEV,SAMXpU,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,wCACnB9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,6BACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,oCACb9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,aAAf,oBACA9B,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,oBACJ/P,KAAMJ,WACNsH,UAAU,gBAJZ,2DAWN9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,kCACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,yCACb9B,EAAAC,EAAAC,cAACsV,GAAA,EAAD,CACE1T,UAAU,qBACVL,MAAM,UACNgU,OAAK,EACLC,OAAO,MAEP1V,EAAAC,EAAAC,cAACyV,GAAA,EAAD,CAAetT,QAAS3G,KAAKmG,SAC7B7B,EAAAC,EAAAC,cAAC0V,GAAA,EAAD,CAAUhU,OAAQlG,KAAKa,MAAMqF,OAAQiU,QAAM,GACzC7V,EAAAC,EAAAC,cAAC4V,GAAA,EAAD,CAAKhU,UAAU,UAAU+T,QAAM,GAC7B7V,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,CAME1T,QAAS3G,KAAKwZ,sBAEdlV,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CAASlU,UAAU,uBAAnB,YAIgD,IAFjDpH,OAAOC,SAASC,KACdC,cACAC,OAAO,qCAGoD,IAF5DJ,OAAOC,SAASC,KACfC,cACAC,OAAO,iDAGuB,IAFjCJ,OAAOC,SAASC,KACbC,cACAC,OAAO,kBACRkF,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,CAME1T,QAAS3G,KAAKyZ,qBAEdnV,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CAASlU,UAAU,uBAAnB,yBAKF9B,EAAAC,EAAAC,cAAA,aAEFF,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,KACE/V,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CACElU,UAAU,sBACVO,QAAS3G,KAAK0Z,mBAFhB,QAOFpV,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,KACE/V,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CACElU,UAAU,sBACVO,QAAS3G,KAAK2Z,wBAFhB,aAOFrV,EAAAC,EAAAC,cAAC+V,GAAA,EAAD,CACEC,KAAG,EACHC,UAAQ,EACRrU,UAAU,2BAEV9B,EAAAC,EAAAC,cAACkW,GAAA,EAAD,CAAgBF,KAAG,EAACG,OAAK,GAAzB,WAGArW,EAAAC,EAAAC,cAACoW,GAAA,EAAD,CAAcxU,UAAU,gCACtB9B,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKsX,2BACpBxT,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,iCAUlBhW,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,mBApLmBqC,aC+ZZiU,eA9Zb,SAAAA,EAAYlb,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA8a,IACjBjb,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAgb,GAAA3a,KAAAH,KAAMJ,KAEDuG,OAAStG,EAAKsG,OAAO9F,KAAZP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACdA,EAAK2Z,qBAAuB3Z,EAAK2Z,qBAAqBnZ,KAA1BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC5BA,EAAKkb,6BAA+Blb,EAAKkb,6BAA6B1a,KAAlCP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAGpCA,EAAKmb,qBAAuBnb,EAAKmb,qBAAqB3a,KAA1BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC5BA,EAAKob,yBAA2Bpb,EAAKob,yBAAyB5a,KAA9BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAChCA,EAAKqb,yBAA2Brb,EAAKqb,yBAAyB7a,KAA9BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAChCA,EAAKsb,uBAAyBtb,EAAKsb,uBAAuB9a,KAA5BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC9BA,EAAKub,sBAAwBvb,EAAKub,sBAAsB/a,KAA3BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC7BA,EAAK+Z,wBAA0B/Z,EAAK+Z,wBAAwBvZ,KAA7BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC/BA,EAAKwb,0BAA4Bxb,EAAKwb,0BAA0Bhb,KAA/BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjCA,EAAKyb,2BAA6Bzb,EAAKyb,2BAA2Bjb,KAAhCP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAElCA,EAAK0b,qBAAuB1b,EAAK0b,qBAAqBlb,KAA1BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAG5BA,EAAKgB,MAAQ,CACXqF,QAAQ,GArBOrG,wEA0BjBG,KAAK+B,SAAS,CACZmE,QAASlG,KAAKa,MAAMqF,sDAIH0O,GACnBjT,aAAakY,WAAW,UACxB7Z,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,2DAGT2S,GAC3B5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,iEAGjB2S,GACnB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,yDAGjB2S,GACnBA,EAAE9Q,iBACF9D,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,6DAIb2S,GACvB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,2DAGb2S,GACvB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,+DAIf2S,GACrB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,mEAGT2S,GAC3B5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,uEAGX2S,GACzB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,yEAGP2S,GAC7B5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,uEAEb2S,GACvB5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,4EAGT2S,GAC3B5U,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,qEAGhBuZ,GACpBxb,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,YAAcuZ,sDAIlDxb,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,yEAIpCjC,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,8DAGpCjC,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,mDAG7B2S,GACP5U,KAAKJ,MAAM6b,qDAIX,OAAqD,IAAjDzb,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,QAC/B,6DACuD,IAArDY,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,YACtC,gEAEA,wFAIF,IAAAkD,EAAAtC,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,2BACnB9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,2BACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,2CACb9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,2BACJ/P,KAAK,6BACLsE,OAAO,SACP4C,UAAU,oBALZ,mCAUF9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,wBACJ/P,KAAK,6BACLsE,OAAO,SACP4C,UAAU,eACVsS,aAAW,gBAEV,SAMXpU,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,wCACnB9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,6BACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,oCACb9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,aAAf,oBACA9B,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,oBACJ/P,KAAMJ,WACNsH,UAAU,gBAETpG,KAAK0b,kBAKdpX,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,kCACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,yCACb9B,EAAAC,EAAAC,cAACsV,GAAA,EAAD,CACE1T,UAAU,qBACVL,MAAM,UACNgU,OAAK,EACLC,OAAO,MAEP1V,EAAAC,EAAAC,cAACyV,GAAA,EAAD,CAAetT,QAAS3G,KAAKmG,SAC7B7B,EAAAC,EAAAC,cAAC0V,GAAA,EAAD,CAAUhU,OAAQlG,KAAKa,MAAMqF,OAAQiU,QAAM,GACzC7V,EAAAC,EAAAC,cAAC4V,GAAA,EAAD,CAAKhU,UAAU,UAAU+T,QAAM,GAC7B7V,EAAAC,EAAAC,cAAC+V,GAAA,EAAD,CACEC,KAAG,EACHC,UAAQ,EACRrU,UAAU,2BAEV9B,EAAAC,EAAAC,cAACkW,GAAA,EAAD,CAAgBF,KAAG,EAACG,OAAK,GAAzB,UAGArW,EAAAC,EAAAC,cAACoW,GAAA,EAAD,CAAcxU,UAAU,gCACtB9B,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS3G,KAAK+a,6BACd3U,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,kBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS3G,KAAKwZ,qBACdpT,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,gBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS3G,KAAKib,yBACd7U,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,gBAINhW,EAAAC,EAAAC,cAAC+V,GAAA,EAAD,CACEC,KAAG,EACHC,UAAQ,EACRrU,UAAU,2BAEV9B,EAAAC,EAAAC,cAACkW,GAAA,EAAD,CAAgBF,KAAG,EAACG,OAAK,GAAzB,UAGArW,EAAAC,EAAAC,cAACoW,GAAA,EAAD,CAAcxU,UAAU,gCACtB9B,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS3G,KAAKgb,qBACd5U,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,gBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS3G,KAAKkb,yBACd9U,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,uBAMNhW,EAAAC,EAAAC,cAAC+V,GAAA,EAAD,CACEC,KAAG,EACHC,UAAQ,EACRrU,UAAU,2BAEV9B,EAAAC,EAAAC,cAACkW,GAAA,EAAD,CAAgBF,KAAG,EAACG,OAAK,GAAzB,WAGArW,EAAAC,EAAAC,cAACoW,GAAA,EAAD,CAAcxU,UAAU,gCAOtB9B,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,IAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,0BAQFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,IAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,qBAQFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,IAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,mBAQFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,IAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,4BAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,IAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,oBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,uCAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,wCAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,gDAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,4CAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,kCAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK8Y,sBAAsB,KAC1ChV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,0CAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKsX,2BACpBxT,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,wBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK+Y,6BACpBjV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,sBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKgZ,8BACpBlV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,+BAINhW,EAAAC,EAAAC,cAAC+V,GAAA,EAAD,CACEC,KAAG,EACHC,UAAQ,EACRrU,UAAU,2BAEV9B,EAAAC,EAAAC,cAACkW,GAAA,EAAD,CAAgBF,KAAG,EAACG,OAAK,GAAzB,SAGArW,EAAAC,EAAAC,cAACoW,GAAA,EAAD,CAAcxU,UAAU,gCACtB9B,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKqZ,gCACpBvV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,yBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAK6Y,0BACpB/U,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,wBAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKsZ,8BACpBxV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,4BAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKuZ,kCACpBzV,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,iCAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKwZ,4BACpB1V,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,gCAEFhW,EAAAC,EAAAC,cAACqW,GAAA,EAAD,CACElU,QAAS,kBAAMrE,EAAKyZ,gCACpB3V,UAAU,gCAEV9B,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,uCAINhW,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,KACE/V,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CACElU,UAAU,sBACVO,QAAS3G,KAAKub,sBAFhB,gBAOFjX,EAAAC,EAAAC,cAAC6V,GAAA,EAAD,CAAS1T,QAAS3G,KAAKJ,MAAMoc,UAC3B1X,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CAASlU,UAAU,uBAAnB,kBAQd9B,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,mBAzZqBqC,aCfvB4D,IAAO,IAAI6B,MAAO2P,cA4DTC,oLAxDX,OACE5X,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,UACd9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,8BACnB9B,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAW2B,UAAU,8BACnB9B,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKwB,UAAU,iCACb9B,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,oBACd9B,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,uBACJ/P,KAAK,6BACLsE,OAAO,SACP4C,UAAU,mCALZ,kBAOeqE,IARjB,KAWEnG,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,mBAAhB,yCACyC,KAZ3C,MAgBA9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,mBAAhB,KAEE9B,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,uBACJ/P,KAAK,2DACLsE,OAAO,SACP4C,UAAU,mCALZ,wBAFF,KAYE9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,mBAAhB,KAZF,IAcE9B,EAAAC,EAAAC,cAAA,KACE8U,IAAI,sBACJrK,IAAI,iBACJ/P,KAAK,qDACLsE,OAAO,SACP4C,UAAU,mCALZ,kBAdF,iBAxBKS,aC6JNsV,eA3Jb,SAAAA,EAAYvc,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAmc,IACjBtc,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAqc,GAAAhc,KAAAH,KAAMJ,KAEDW,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKuc,YAAcvc,EAAKuc,YAAY/b,KAAjBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEnBA,EAAKgB,MAAQ,CACXwb,SAAU,GACVC,SAAU,GACVtb,MAAO,GACPI,QAAS,GACTmF,SAAS,EACThF,kBAAkB,EAClBC,gBAAgB,GAGlB3B,EAAKU,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKuc,YAAcvc,EAAKuc,YAAY/b,KAAjBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACnBA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAnBTA,iFAsBD0D,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,wCAIAF,GAAO,IAAAjB,EAAAtC,KACjBuD,EAAMO,iBAEN,IAAI1B,EAAG,GAAAG,OAAM1D,WAAN,UAEPmB,KAAK+B,SAAS,CAAEwE,SAAS,IAEzB/D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,qCAElBC,KACE,gCACA5C,KAAKa,MAAMwb,SACX,aACArc,KAAKa,MAAMyb,WAEZxZ,KAAK,SAAAC,GAEJ,GADAT,EAAKP,SAAS,CAAEwE,SAAS,KACpBxD,EAASC,GACZ,MAAMC,MAAM,iBAEd,OAAOF,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GAEJb,EAAK1C,MAAM2c,YAEZlZ,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChB+E,SAAS,iDAMfvG,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,sCAKX,OACEkD,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,GAAIyJ,OAAQ,GAAKrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IACvDlK,EAAAC,EAAAC,cAAA,0CACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAUjF,KAAKoc,aACnB9X,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACtDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,WACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMwb,SAClB5W,SAAUzF,KAAKO,kBACfmF,YAAY,cAGhBpB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACrD,IACDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,WACLwC,KAAK,WACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMyb,SAClB7W,SAAUzF,KAAKO,kBACfmF,YAAY,cAGhBpB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,KACfT,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,WACzB/F,KAAKa,MAAM0F,QACVjC,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CAActB,KAAM,GAAIuB,SAAU,KAAMP,MAAO,OAAQQ,QAASvG,KAAKa,MAAM0F,WAG7E,WAKRjC,EAAAC,EAAAC,cAAA,WACsB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKwB,eACb2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKuB,iBACb4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,mBAlJRyF,aCyBL2V,oLAzBX,OACElY,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,4BACAF,EAAAC,EAAAC,cAAA,UACEgR,MAAM,sCACN9D,MAAM,MACND,OAAO,MACPgL,IAAI,2DACJC,YAAY,IACZC,MAAM,0EACNC,iBAAiB,cAfR/V,yLCsBvB,IAAMrH,GAAWC,cAAHod,MAycCC,eAlcb,SAAAA,EAAYld,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA8c,IACjBjd,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAgd,GAAA3c,KAAAH,KAAMJ,KAEDmd,UAAYld,EAAKkd,UAAU1c,KAAfP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKY,aAAeZ,EAAKY,aAAaJ,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAKmd,gBAAkBnd,EAAKmd,gBAAgB3c,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACvBA,EAAKod,gBAAkBpd,EAAKod,gBAAgB5c,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEvBA,EAAKgB,MAAQ,CACXC,KAAM,GACNoc,OAAQ,GACRlc,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,EACZ6E,SAAS,GAnBM1G,mFAwBjBG,KAAK+c,uDAGY/a,GACbA,EAAUzC,MAAMyK,OAAOkT,SAAWld,KAAKJ,MAAML,MAAMyK,OAAOkT,SAC5Dld,KAAK+B,SAAS,CACZjB,KAAM,GACNoc,OAAQ,GACRlc,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,IAEd1B,KAAK+c,kDAII/Y,GAIXhE,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,mBAAqB+B,+CAKzDhE,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,sCAIFF,GAAO,IACXnB,EADWE,EAAAtC,KAGfA,KAAK+B,SAAS,CAAEwE,SAAS,IACzBnE,EAAG,GAAAG,OAAM1D,WAAN,yBAGH,IAAMqe,EAASld,KAAKJ,MAAML,MAAMyK,OAAOkT,OAGvC1a,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAPe,UAQf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBqa,OAAQA,EACRve,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,IAAKA,GAAwB,IAAhBA,EAAKC,OAUhB,MARU,qBACVd,EAAKP,SAAS,CACZX,QAFQ,gBAGRG,kBAAkB,EAClBT,KAAM,GACNyF,SAAS,IAKb,IAAI4W,EAAMtb,KAAKgB,UAAUM,GAAMia,WAAW,YAAa,IACnDC,EAAWxb,KAAKC,MAAMqb,GAE1B7a,EAAKP,SAAS,CAAEjB,KAAMuc,EAAU9W,SAAS,MAE1ClD,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBV,KAAM,GACNyF,SAAS,2CAKJ,IAAA1C,EAAA7D,KACX,MACqC,MAAnCA,KAAKJ,MAAML,MAAMyK,OAAOkT,QACW,MAAnCld,KAAKJ,MAAML,MAAMyK,OAAOkT,OAER,CACd,CACEI,OAAQ,SACRC,SAAU,cACVC,SAAU,SAAC3c,EAAO4c,EAASC,GACzB,MAAO,CACL/W,QAAS,kBAAM9C,EAAKpD,aAAagd,EAAQE,SAAS3Z,YAClDoC,UAAW,wBAIjB,CACEkX,OAAQ,mBACRC,SAAU,oBAEZ,CACED,OAAQ,mBACRC,SAAU,0BAKTzd,OAAO8d,KAAK5d,KAAKa,MAAMC,KAAK,IAAI6E,IAAI,SAAAE,GACzC,MAAO,CACLyX,OAAQzX,EACR0X,SAAU1X,wCAMd,OAAQ7F,KAAKJ,MAAML,MAAMyK,OAAOkT,QAG9B,IAAK,IACH,OAAO5Y,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,oBAGT,IAAK,IACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,eAGT,IAAK,IACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,aAGT,IAAK,IACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,sBACT,IAAK,IACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,mBACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,iCACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,kCACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,sCACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,oCACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,4BACT,IAAK,KACH,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,mDACT,QACE,OAAO9B,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,qDAKX,IAAKpG,KAAKa,MAAM0F,QAAS,CACvB,IAEIsX,EAFS7d,KAAKa,MAAMC,KAENsJ,OAAO,SAAC0T,EAAGC,GAC3B,IAAIpa,EAAOoa,EAAElR,gBAKb,OAJKiR,EAAEE,eAAera,KACpBma,EAAEna,GAAQ,GAEZma,EAAEna,KACKma,GACN,IAECG,EAAiBne,OAAO8d,KAAKC,GAAQlY,IAAI,SAAAuY,GAC3C,MAAO,CAAEtY,KAAMsY,EAAGC,QAASN,EAAOK,MAKpC,OAFAD,EAAetT,KAAK,SAACC,EAAGrG,GAAJ,OAAUA,EAAC,QAAcqG,EAAC,UAI5CtG,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CACE1M,MAAO,KACPD,OAAQ,IAA8B,GAAxBwM,EAAe7a,OAC7BtC,KAAMmd,EACNI,OAAO,WACPC,OAAQ,CACNC,IAAK,EACLC,MAAO,GACPC,KAAM,IACNC,OAAQ,IAGVpa,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CAAeO,gBAAgB,QAC/Bra,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CAAOjd,KAAK,WACZmD,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CAAOjd,KAAK,WAAWyd,QAAQ,SAC/Bta,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,MACA9Z,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,MACA9Z,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CAAKQ,QAAQ,UAAUC,KAAK,wDAQlC,IAAK7e,KAAKa,MAAM0F,QAAS,CACvB,IAEIsX,EAFS7d,KAAKa,MAAMC,KAENsJ,OAAO,SAAC0T,EAAGC,GAC3B,IAAIpa,EAAOoa,EAAEe,aAKb,OAJKhB,EAAEE,eAAera,KACpBma,EAAEna,GAAQ,GAEZma,EAAEna,KACKma,GACN,IAECG,EAAiBne,OAAO8d,KAAKC,GAAQlY,IAAI,SAAAuY,GAC3C,MAAO,CACL5R,KAAM4R,EACNa,WAAY,IAAIzS,KAAK4R,GAAGc,UACxBb,QAASN,EAAOK,MAIpBD,EAAetT,KAAK,SAACpG,EAAGqG,GAAJ,OAAUrG,EAAC,WAAiBqG,EAAC,aAEjD,IAAMqU,EAASC,aAASjB,EAAgB,SAAAkB,GAAC,OAAI,IAAI7S,KAAK6S,EAAE7S,QAClD8S,EAASC,eACZJ,OAAOA,GACPK,MAAM,CAAC,EAAG,OAEPC,EAAaH,EAAOG,aACpBC,EAAQJ,EAAOI,QAErB,OACElb,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CACE1M,MAAO,KACPD,OAAQ,IACR3Q,KAAMmd,EACNK,OAAQ,CACNC,IAAK,EACLC,MAAO,GACPC,KAAM,GACNC,OAAQ,IAGVpa,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CAAeO,gBAAgB,QAC/Bra,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CACEQ,QAAQ,aACRa,MAAM,OACNte,KAAK,SACL8d,OAAQA,EACRO,MAAOA,EACPE,cAAeH,IAEjBjb,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,MACA9Z,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CACEuB,eAAgB,SAAAC,GAMd,OALa,IAAItT,KAAKsT,GACCC,eAAe,QAAS,CAC7CC,MAAO,OACPrV,KAAM,eAKZnG,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,MACA9Z,EAAAC,EAAAC,cAAC4Z,GAAA,EAAD,CACEjd,KAAK,WACLyd,QAAQ,UACRmB,OAAO,UACPC,UAAW,CAAEjI,EAAG,wCAQxB,OACEzT,EAAAC,EAAAC,cAAA,YACGxE,KAAKa,MAAMC,MACVwD,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACG7E,KAAKigB,WAAY,IACjBjgB,KAAKa,MAAMC,KAAKsC,OAAS,GACxBkB,EAAAC,EAAAC,cAACqK,EAAA,QAAD,CACE/N,KAAMd,KAAKa,MAAMC,KACjBgO,SAAU,kBACVtL,OAAO,UAEPc,EAAAC,EAAAC,cAAA,KAAG4B,UAAU,kBACX6I,IAAI,kBACJvK,MAAO,CAAEwK,OAAQ,UAAWC,SAAU,UAAWpJ,MAAO,aAAkB,KAGhFzB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGW,KAAlCvG,KAAKJ,MAAML,MAAMyK,OAAOkT,QAAiBld,KAAKa,MAAM0F,SACnDjC,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAA,gDACAF,EAAAC,EAAAC,cAAA,oEAGkB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,UAGqB,MAAnCpB,KAAKJ,MAAML,MAAMyK,OAAOkT,QACW,MAAnCld,KAAKJ,MAAML,MAAMyK,OAAOkT,SACxBld,KAAKa,MAAMC,MACXd,KAAKa,MAAMC,KAAKsC,OAAS,GACzBpD,KAAKa,MAAMC,KAAK,GAAG+L,iBACjBvI,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,kDACAF,EAAAC,EAAAC,cAAA,WACCxE,KAAKid,kBACN3Y,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,6BACAF,EAAAC,EAAAC,cAAA,WACCxE,KAAKgd,mBAGXhd,KAAKa,MAAMC,KAAKsC,OAAS,GACY,MAAnCpD,KAAKJ,MAAML,MAAMyK,OAAOkT,QACY,MAAnCld,KAAKJ,MAAML,MAAMyK,OAAOkT,QACxB5Y,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,YACsC,OAAnCxE,KAAKJ,MAAML,MAAMyK,OAAOkT,QACvB5Y,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAAA,kQACAF,EAAAC,EAAAC,cAAA,YAGJF,EAAAC,EAAAC,cAAC0b,GAAA,EAAD,CACEpf,KAAMd,KAAKa,MAAMC,KACjB4L,QAAS1M,KAAKmgB,aAEd5K,QAAS,EACTnP,UAAU,qCAzZdS,kJCpBtB,IAAMrH,GAAWC,cAAH2gB,MAMRxK,GAAU,CACdnL,KAAM,UACNqV,MAAO,OACPO,IAAK,WAwPQC,eApPb,SAAAA,EAAY1gB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAsgB,IACjBzgB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAwgB,GAAAngB,KAAAH,KAAMJ,KAEDmd,UAAYld,EAAKkd,UAAU1c,KAAfP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKY,aAAeZ,EAAKY,aAAaJ,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEpBA,EAAKgB,MAAQ,CACXC,KAAM,GACNoc,OAAQ,GACRlc,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,GAhBG7B,mFAqBjBG,KAAK+c,iDAGM/Y,GACXhE,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,mBAAqB+B,+CAIzDhE,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,sCAIFF,GAAO,IACXnB,EADWE,EAAAtC,KAGfoC,EAAG,GAAAG,OAAM1D,WAAN,6BAIH2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YALe,UAMf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,IAAKA,GAAwB,IAAhBA,EAAKC,OAUhB,MARU,qBACVd,EAAKP,SAAS,CACZX,QAFQ,gBAGRG,kBAAkB,EAClBT,KAAM,GACNyF,SAAS,IAKbjE,EAAKP,SAAS,CAAEjB,KAAMqC,EAAMoD,SAAS,MAEtClD,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBV,KAAM,GACNyF,SAAS,uCAMf,OACEjC,EAAAC,EAAAC,cAAA,YACGxE,KAAKa,MAAMC,MACVwD,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACGP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,qCAAuD,IAAIkG,MAAOiU,mBAAmB,QAAS3K,KAmB/FtR,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGF,KAArBvG,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,SAGfpB,KAAKa,MAAMC,KAAKsC,OAAS,GACxBkB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAK2b,GAAI,CAACzb,KAAK,KAAMyJ,OAAO,MAC1BlK,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOqK,UAAQ,EAACzK,UAAU,aACxB9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,YACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAvB,UACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,sBAGJL,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAKkK,OAAO,SAAAyV,GAAK,MAAuB,YAAnBA,EAAMC,WAAwB/a,IAC7D,SAAA8a,GAAK,OACHA,EAAME,WACJrc,EAAAC,EAAAC,cAAA,MAAIqB,IAAK4a,EAAME,WACbrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAU8b,EAAMG,SAAW,KAAOH,EAAME,WAC/Drc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAWkc,OAAOJ,EAAMK,OAAOjB,eAAe,UACrEvb,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAW8b,EAAMM,YAAYC,SAAS,OAAwEP,EAAMM,YAArEE,WAAsB,IAAXR,EAAMS,MAAUC,QAAQ,GAAG,KAAKV,EAAMM,mBAOnIzc,EAAAC,EAAAC,cAAA,WACFF,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,2DACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOqK,UAAQ,EAACzK,UAAU,aACxB9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,YACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAvB,UACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,sBAGJL,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAKkK,OAAO,SAAAyV,GAAK,MAAuB,wBAAnBA,EAAMC,WAAoC/a,IACzE,SAAA8a,GAAK,OACHA,EAAME,WACJrc,EAAAC,EAAAC,cAAA,MAAIqB,IAAK4a,EAAME,WACbrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAU8b,EAAMG,SAAW,KAAOH,EAAME,WAC/Drc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAWkc,OAAOJ,EAAMK,OAAOjB,eAAe,UACrEvb,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAW8b,EAAMM,YAAYC,SAAS,OAAwEP,EAAMM,YAArEE,WAAsB,IAAXR,EAAMS,MAAUC,QAAQ,GAAG,KAAKV,EAAMM,mBAOnIzc,EAAAC,EAAAC,cAAA,WACFF,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,+BACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOqK,UAAQ,EAACzK,UAAU,aACxB9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,YACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAvB,UACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,sBAGJL,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAKkK,OAAO,SAAAyV,GAAK,MAAuB,aAAnBA,EAAMC,WAAyB/a,IAC9D,SAAA8a,GAAK,OACHA,EAAME,WACJrc,EAAAC,EAAAC,cAAA,MAAIqB,IAAK4a,EAAME,WACbrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAU8b,EAAMG,SAAW,KAAOH,EAAME,WAC/Drc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAWkc,OAAOJ,EAAMK,OAAOjB,eAAe,UACrEvb,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAW8b,EAAMM,YAAYC,SAAS,OAAwEP,EAAMM,YAArEE,WAAsB,IAAXR,EAAMS,MAAUC,QAAQ,GAAG,KAAKV,EAAMM,+BAnOvIla,kMCVlB,IAAMrH,GAAWC,cAAH2hB,MA6RCC,eAhRb,SAAAA,EAAYzhB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAqhB,IACjBxhB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAuhB,GAAAlhB,KAAAH,KAAMJ,KAEDmd,UAAYld,EAAKkd,UAAU1c,KAAfP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKyhB,gBAAkBzhB,EAAKyhB,gBAAgBjhB,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEvBA,EAAKgB,MAAQ,CACXC,KAAM,GACNygB,WAAYC,KAAO,cACnBC,SAAUD,OACVE,mBAAmB,EACnBC,iBAAiB,EACjBpb,SAAS,EACT2W,OAAQ,GACRlc,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,GArBG7B,+HA4BjBG,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,4CAIIF,GACdA,EAAMO,iBAEN9D,KAAK+c,8CAGGxZ,GAAO,IAEXnB,EAFWE,EAAAtC,KACfA,KAAK+B,SAAS,CAAEwE,SAAS,IAGzBnE,EAAG,GAAAG,OAAM1D,WAAN,8BAIH2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YALe,UAMf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,SACR4iB,WAAYvhB,KAAKa,MAAM0gB,WACvBE,SAAUzhB,KAAKa,MAAM4gB,aAGtB3e,KAAK,SAACC,GACL,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAACC,GAAD,OAAcA,EAASI,SAC5BL,KAAK,SAACK,GACL,IAAKA,GAAwB,IAAhBA,EAAKC,OAUhB,MARU,qBACVd,EAAKP,SAAS,CACZX,QAFQ,gBAGRG,kBAAkB,EAClBT,KAAM,GACNyF,SAAS,IAKbjD,QAAQ4G,IAAI/G,GACZb,EAAKP,SAAS,CAAEjB,KAAMqC,EAAMoD,SAAS,MAEtClD,MAAM,SAACrC,GACNsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBV,KAAM,GACNyF,SAAS,uCAKR,IAAA1C,EAAA7D,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,KACEH,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAUjF,KAAKshB,iBACnBhd,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACPZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZI,GAAI,CAAEJ,KAAM,GACZyb,GAAI,CAAEzb,KAAM,GACZL,MAAO,CAAEU,aAAc,SAEvBd,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACEpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,kBAAX,uBACAhB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACod,GAAA,iBAAD,CACEC,KAAM7hB,KAAKa,MAAM0gB,WACjBO,aAAc,SAACP,GAAD,OACZ1d,EAAK9B,SAAS,CAAEwf,WAAYA,KAE9BQ,QAAS/hB,KAAKa,MAAM6gB,kBACpBM,cAAe,SAAAC,GAAA,IAAGF,EAAHE,EAAGF,QAAH,OACble,EAAK9B,SAAS,CAAE2f,kBAAmBK,KAErCG,eAAgB,SAAC7B,GAAD,OAAS,GACzB8B,mBAAoBA,GACpBC,eAAgB,EAChB5c,GAAG,iBACH6c,OAAO,MAIb/d,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZI,GAAI,CAAEJ,KAAM,GACZyb,GAAI,CAAEzb,KAAM,GACZL,MAAO,CAAEU,aAAc,SAEvBd,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACEpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,gBAAX,qBACAhB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACod,GAAA,iBAAD,CACEC,KAAM7hB,KAAKa,MAAM4gB,SACjBK,aAAc,SAACL,GAAD,OACZ5d,EAAK9B,SAAS,CAAE0f,SAAUA,KAE5BM,QAAS/hB,KAAKa,MAAM8gB,gBACpBK,cAAe,SAAAM,GAAA,IAAGP,EAAHO,EAAGP,QAAH,OACble,EAAK9B,SAAS,CAAE4f,gBAAiBI,KAEnCG,eAAgB,SAAC7B,GAAD,OAAS,GACzB8B,mBAAoBA,GACpBC,eAAgB,EAChB5c,GAAG,eACH6c,OAAO,MAIb/d,EAAAC,EAAAC,cAACK,EAAA,EAAD,CACEC,GAAI,CAAEC,KAAM,GACZL,MAAO,CAAEsB,QAAS,OAAQuc,WAAY,WAEtCje,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,WAA5B,eAKJzB,EAAAC,EAAAC,cAAA,YAEFF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGF,KAArBvG,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,WAKpBkD,EAAAC,EAAAC,cAACI,EAAA,EAAD,MACI5E,KAAKa,MAAM0F,SAAWvG,KAAKa,MAAMC,MAAQd,KAAKa,MAAMC,KAAKsC,OAAS,GAClEkB,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAK2b,GAAI,CAAEzb,KAAM,KAAMyJ,OAAQ,MAC7BlK,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,kDACkD,IAC/Cob,KAAOxhB,KAAKa,MAAM0gB,YAAYiB,OAAO,KAFxC,OAEkD,IAC/ChB,KAAOxhB,KAAKa,MAAM4gB,UAAUe,OAAO,MAEtCle,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOqK,UAAQ,EAACzK,UAAU,aACxB9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,SAAxB,YACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,UAAxB,UACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,SAAxB,sBAKJL,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAK6E,IACf,SAAC8a,GAAD,OACEA,EAAMG,UACJtc,EAAAC,EAAAC,cAAA,MAAIqB,IAAK4a,EAAMG,UACbtc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,SACrB8b,EAAMG,SAAW,KAAOH,EAAME,WAEjCrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,UACrBkc,OAAOJ,EAAMK,OAAOjB,eACnB,UAGJvb,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAAEC,UAAW,SACpB8b,EAAMM,YAAYC,SAAS,OAMzBP,EAAMM,YALNE,WAAwB,IAAbR,EAAMS,MAAYC,QAC3B,GAEF,KACAV,EAAMM,gCA7PnBla,aA+RrBsb,GAAqB,SAAAM,GAAA,IAAG3C,EAAH2C,EAAG3C,MAAO4C,EAAVD,EAAUC,cAAeC,EAAzBF,EAAyBE,aAAzB,OACzBre,EAAAC,EAAAC,cAAA,OAAKE,MAAO,CAAEsB,QAAS,OAAQ4c,eAAgB,WAC7Cte,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEsd,OAAO,KACP1hB,KAAK,SACLsC,MAAOqc,EAAMA,QACbra,SAAU,SAACmP,GAAD,OAAO8N,EAAc5C,EAAOlL,EAAEpR,OAAOC,SAE9C+d,KAAOsB,SAASnd,IAAI,SAACia,EAAOnc,GAAR,OACnBa,EAAAC,EAAAC,cAAA,UAAQqB,IAAKpC,EAAOA,MAAOA,GACxBmc,OAKTtb,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEsd,OAAO,KACP1hB,KAAK,SACLsC,MAAOqc,EAAMrV,OACbhF,SAAU,SAACmP,GAAD,OAAO+N,EAAa7C,EAAOlL,EAAEpR,OAAOC,SAjClC,WAElB,IADA,IAAIiE,EAAQ,GACHiQ,EAAI6J,OAAS/W,OAAS,GAAIkN,GAAK6J,OAAS/W,OAAS,EAAGkN,IAC3DjQ,EAAMvD,KACJG,EAAAC,EAAAC,cAAA,UAAQqB,IAAK8R,EAAGlU,MAAOkU,GACpBA,IAIP,OAAOjQ,EA0BAqb,iKClUT,IAAMvjB,GAAWC,cAAHujB,MAyNCC,eAlNb,SAAAA,EAAYrjB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAijB,IACjBpjB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAmjB,GAAA9iB,KAAAH,KAAMJ,KAEDc,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAExBA,EAAKqjB,oBAAsBrjB,EAAKqjB,oBAAoB7iB,KAAzBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAE3BA,EAAKgB,MAAQ,CACXC,KAAM,GACNE,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChB+E,SAAS,EACT4c,QAAS,GACTlX,OAAQ,IAhBOpM,mFAqBCsjB,GAAS,IACvB/gB,EADuBE,EAAAtC,KAE3BA,KAAK+B,SAAS,CAAEwE,SAAS,EAAM0F,OAAM,eAAA1J,OAAiB4gB,EAAjB,SACrC/gB,EAAG,GAAAG,OAAM1D,WAAN,2BAAA0D,OAAwC4gB,GAI3C3gB,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YALe,UAMf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAGJ,OAFAT,EAAKP,SAAS,CAAEkK,OAAM,2BAAA1J,OAA6B4gB,EAA7B,SAEfpgB,EAASI,SAEjBL,KAAK,SAAAK,GACJ,IAAKA,GAAwB,IAAhBA,EAAKC,OAUhB,MARU,qBACVd,EAAKP,SAAS,CACZX,QAFQ,gBAGRG,kBAAkB,EAClBT,KAAM,GACNyF,SAAS,IAKb,IAAI4W,EAAMtb,KAAKgB,UAAUM,GAAMia,WAAW,YAAa,IACnDC,EAAWxb,KAAKC,MAAMqb,GAEpBiG,GAAQ,IAAI9W,MAAOiU,mBAAmB,QAAS,CAAE9V,KAAM,UAAWqV,MAAO,UAAWO,IAAK,YAAagD,MAAM,KAAKC,KAAK,KAEtHC,EAAYC,KAAKC,MAAMC,cAAcrG,GACrCsG,EAAWH,KAAKC,MAAMG,WAC5BJ,KAAKC,MAAMI,kBAAkBF,EAAUJ,EAAvC,GAAAhhB,OAAqD4gB,IACrDK,KAAKM,UAAUH,EAAf,QAAAphB,OAAiC4gB,EAAjC,UAAA5gB,OAAiD6gB,EAAjD,SAA+D,CAACW,aAAY,IAE5EzhB,EAAKP,SAAS,CAAEwE,SAAS,EAAO0F,OAAM,2BAAA1J,OAA6B4gB,EAA7B,WAEvC9f,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBV,KAAM,GACNyF,SAAS,iDAMfvG,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,sCAIJ,IAAAyC,EAAA7D,KACP,OACEsE,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACGP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,eACD9B,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACsB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,WAKpBkD,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KAEEP,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEC,MAAM,OACNY,QAAS,WACP9C,EAAK9B,SAAS,CAAEohB,QAAS,eACzBtf,EAAKqf,oBAAoB,eAE3B7U,OAA+B,eAAvBrO,KAAKa,MAAMsiB,QACnBa,SAAUhkB,KAAKa,MAAM0F,SAAkC,eAAvBvG,KAAKa,MAAMsiB,SAP7C,cAFF,IAeE7e,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEC,MAAM,OACNY,QAAS,WACP9C,EAAK9B,SAAS,CAAEohB,QAAS,YACzBtf,EAAKqf,oBAAoB,YAE3B7U,OAA+B,YAAvBrO,KAAKa,MAAMsiB,QACnBa,SAAUhkB,KAAKa,MAAM0F,SAAkC,YAAvBvG,KAAKa,MAAMsiB,SAP7C,WAfF,IA2BE7e,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEC,MAAM,OACNY,QAAS,WACP9C,EAAK9B,SAAS,CAAEohB,QAAS,iBACzBtf,EAAKqf,oBAAoB,iBAE3B7U,OAA+B,iBAAvBrO,KAAKa,MAAMsiB,QACnBa,SAAUhkB,KAAKa,MAAM0F,SAAkC,iBAAvBvG,KAAKa,MAAMsiB,SAP7C,gBA3BF,IAuCE7e,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CACEC,MAAM,OACNY,QAAS,WACP9C,EAAK9B,SAAS,CAAEohB,QAAS,kBACzBtf,EAAKqf,oBAAoB,kBAE3B7U,OAA+B,kBAAvBrO,KAAKa,MAAMsiB,QACnBa,SAAUhkB,KAAKa,MAAM0F,SAAkC,kBAAvBvG,KAAKa,MAAMsiB,SAP7C,oBAaJ7e,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,aAK5BjC,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACuB,KAAtBxE,KAAKa,MAAMoL,QACV3H,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,YAAOxE,KAAKa,MAAMoL,mBAzMbpF,kJCRrB,IAAMrH,GAAWC,cAAHwkB,MAMRrO,GAAU,CACdnL,KAAM,UACNqV,MAAO,OACPO,IAAK,WAqMQ6D,eAjMb,SAAAA,EAAYtkB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAkkB,IACjBrkB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAokB,GAAA/jB,KAAAH,KAAMJ,KAEDmd,UAAYld,EAAKkd,UAAU1c,KAAfP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACjBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKY,aAAeZ,EAAKY,aAAaJ,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEpBA,EAAKgB,MAAQ,CACXC,KAAM,GACNoc,OAAQ,GACRlc,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,GAhBG7B,mFAqBjBG,KAAK+c,iDAGM/Y,GACXhE,KAAKJ,MAAMsE,QAAQC,KAAK,CAAElC,SAAU,WAAa+B,+CAIjDhE,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,sCAIFF,GAAO,IACXnB,EAAKC,EADMC,EAAAtC,KAGfoC,EAAG,GAAAG,OAAM1D,WAAN,mBAEHwD,EAAiBtD,cAGjByD,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAasD,EACbK,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJ,IAAKA,GAAwB,IAAhBA,EAAKC,OAUhB,MARU,qBACVd,EAAKP,SAAS,CACZX,QAFQ,gBAGRG,kBAAkB,EAClBT,KAAM,GACNyF,SAAS,IAKbjE,EAAKP,SAAS,CAAEjB,KAAMqC,EAAMoD,SAAS,MAEtClD,MAAM,SAAArC,GACLsB,EAAKP,SAAS,CACZf,MAAOA,EAAMI,QACbI,gBAAgB,EAChBV,KAAM,GACNyF,SAAS,uCAMf,OACEjC,EAAAC,EAAAC,cAAA,YACGxE,KAAKa,MAAMC,MACVwD,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACGP,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,MAAhB,0BAA4C,IAAIkG,MAAOiU,mBAAmB,QAAS3K,KAmBpFtR,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGF,KAArBvG,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,SAGfpB,KAAKa,MAAMC,KAAKsC,OAAS,GACxBkB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAK2b,GAAI,CAACzb,KAAK,KAAMyJ,OAAO,MAC1BlK,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOqK,UAAQ,EAACzK,UAAU,aACxB9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,YACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAvB,UACAL,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAvB,sBAGJL,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMC,KAAK6E,IACf,SAAA8a,GAAK,OACHA,EAAME,WACJrc,EAAAC,EAAAC,cAAA,MAAIqB,IAAK4a,EAAME,WACbrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAU8b,EAAME,WACvCrc,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,UAAWkc,OAAOJ,EAAMK,OAAOjB,eAAe,UACrEvb,EAAAC,EAAAC,cAAA,MAAIE,MAAO,CAACC,UAAW,SAAU8b,EAAMS,KAAOD,WAAsB,IAAXR,EAAMS,MAAUC,QAAQ,GAAG,KAAKV,EAAMM,YAAc,yBAhLzHla,aCjBf,SAASsd,GAAUvkB,GAAO,IAAAiS,EACCC,oBAAS,GADVC,EAAAjS,OAAAkS,EAAA,EAAAlS,CAAA+R,EAAA,GACtBtL,EADsBwL,EAAA,GACbE,EADaF,EAAA,GAAAG,EAEGJ,mBAAS,IAFZK,EAAArS,OAAAkS,EAAA,EAAAlS,CAAAoS,EAAA,GAEtBmK,EAFsBlK,EAAA,GAEZiS,EAFYjS,EAAA,GAAAG,EAGLR,mBAAS,GAHJS,EAAAzS,OAAAkS,EAAA,EAAAlS,CAAAwS,EAAA,GAGtB+R,EAHsB9R,EAAA,GAGhB+R,EAHgB/R,EAAA,GAAAG,EAIHZ,mBAAS,IAJNa,EAAA7S,OAAAkS,EAAA,EAAAlS,CAAA4S,EAAA,GAItB1R,EAJsB2R,EAAA,GAIfW,EAJeX,EAAA,GAAAE,EAKef,oBAAS,GALxBgB,EAAAhT,OAAAkS,EAAA,EAAAlS,CAAA+S,EAAA,GAKtBrR,EALsBsR,EAAA,GAKNW,EALMX,EAAA,GAQ7BY,oBAAU,aACP,IAEHA,oBAAU,WACF9T,EAAM2kB,MAAMC,QACZlhB,QAAQ4G,IAAI,kBAAmBtK,EAAM2kB,MAAMC,OAC3CC,MAEL,CAAC7kB,EAAM2kB,MAAMC,QAGhB,IAmBM5Q,EAAa,SAACrQ,GAChBA,EAAMO,iBACN4gB,KAGED,EAAY,WACdL,EAAYxkB,EAAM2kB,MAAMC,OACxBF,EAAQ1kB,EAAM2kB,MAAMI,QAAU,IAI5BD,EAAY,WACd,IAAItiB,EAEJA,EAAG,GAAAG,OAAM1D,WAAN,6BAGHoT,GAAW,GAEX3O,QAAQ4G,IAAI9H,GACZI,MAAMJ,EAAK,CACPK,OAAQ,OACR1D,YAPa,UAQb2D,QAAS,CACLC,eAAgB,oBAEpBC,KAAMf,KAAKgB,UAAU,CACjBoO,GAAIrR,EAAM2kB,MAAMK,GAChBC,KAAMR,EACN1lB,OAAQA,aAEbmE,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACV,MAAMC,MAAMF,EAASG,YAEzB,OAAOH,EAASoR,SACjBrR,KAAK,SAAAqR,GAEJ,GADA7Q,QAAQ4G,IAAI,QAASiK,GACR,cAATA,EAIA,MAAMlR,MAAMkR,GAHZlC,GAAW,GACXrS,EAAMwU,WAIX/Q,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACTA,EAAMI,UACPJ,EAAMI,QAAU,sBAEpBkS,EAAStS,EAAMI,SACfqS,GAAkB,GAClBxB,GAAW,MAKb6S,EAAc,WAChB,IAAI1iB,EAEJA,EAAG,GAAAG,OAAM1D,WAAN,6BAGHoT,GAAW,GAEX3O,QAAQ4G,IAAI9H,GACZI,MAAMJ,EAAK,CACPK,OAAQ,OACR1D,YAPa,UAQb2D,QAAS,CACLC,eAAgB,oBAEpBC,KAAMf,KAAKgB,UAAU,CACjBoO,GAAIrR,EAAM2kB,MAAMK,GAChBjmB,OAAQA,aAEbmE,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACV,MAAMC,MAAMF,EAASG,YAEzB,OAAOH,EAASoR,SACjBrR,KAAK,SAAAqR,GAEJ,GADA7Q,QAAQ4G,IAAI,QAASiK,GACR,cAATA,EAIA,MAAMlR,MAAMkR,GAHZlC,GAAW,GACXrS,EAAMwU,WAIX/Q,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACTA,EAAMI,UACPJ,EAAMI,QAAU,wBAEpBkS,EAAStS,EAAMI,SACfqS,GAAkB,GAClBxB,GAAW,MAMnB,OACI3N,EAAAC,EAAAC,cAAC6P,EAAA,EAAD,CAAOnO,OAAQtG,EAAM0U,KAAMnO,OAAQvG,EAAMwU,QACrC9P,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAU2O,GACZtP,EAAAC,EAAAC,cAAC+P,EAAA,EAAD,wBACAjQ,EAAAC,EAAAC,cAACgQ,EAAA,EAAD,KACKjO,GACGjC,EAAAC,EAAAC,cAACC,EAAA,EAAD,KACIH,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACIN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKwK,GAAI,CAAEtK,KAAM,EAAGyJ,OAAQ,IACxBlK,EAAAC,EAAAC,cAACiQ,GAAD,CAAgBlO,QAASA,EAASgL,MAAO,SAKxD3R,EAAM2kB,MAAMK,IACTtgB,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACI3J,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,cAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACIpE,KAAK,OACLwC,KAAK,QACL6B,GAAG,aACH/B,MAAO4Y,EACP1H,UAAW,IACXlP,SAAU,SAAAmP,GAAC,OAAIwP,EAAYxP,EAAEpR,OAAOC,QACpCiC,YAAY,gBAK5BpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,CAAKM,MAAI,GACLZ,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACkQ,GAAA,EAAD,KACIpQ,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,QACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CAAOpE,KAAK,SACRwC,KAAK,OAAO6B,GAAG,YACf/B,MAAO4gB,EACP5e,SAAU,SAAAmP,GAAC,OAAI0P,EAAQ1P,EAAEpR,OAAOC,SAChCa,EAAAC,EAAAC,cAAA,UAAQqB,IAAK,EAAGpC,MAAO,GAClB,YACLa,EAAAC,EAAAC,cAAA,UAAQqB,IAAK,EAAGpC,MAAO,GAClB,UACLa,EAAAC,EAAAC,cAAA,UAAQqB,IAAK,EAAGpC,MAAO,GAClB,sBAQlB,KAAVzC,GACGsD,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACIN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACIP,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACIF,MAAM,UACNG,OAAQ1E,EACR2E,OArLP,WACrBsN,GAAmBjS,GACnB8R,EAAS,MAqLoBtS,MAMrBsD,EAAAC,EAAAC,cAACqQ,GAAA,EAAD,KACIvQ,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,UAAUY,QAASiN,GAA/C,QADJ,IAIItP,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQC,MAAM,UAAUY,QAlLnB,SAACpD,GAClBA,EAAMO,iBACNghB,MAgLY,UAJJ,IAOIxgB,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQC,MAAM,UAAUY,QA/LnB,SAACpD,GAClBA,EAAMO,iBACNwP,EAAS,IACTG,GAAkB,GAClB2Q,EAAY,IACZE,EAAQ,GACR1kB,EAAMwU,WAyLM,iBC0DL2Q,eA/Qb,SAAAA,EAAYnlB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA+kB,IACjBllB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAilB,GAAA5kB,KAAAH,KAAMJ,KAEDW,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKuc,YAAcvc,EAAKuc,YAAY/b,KAAjBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACnBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKmlB,iBAAmBnlB,EAAKmlB,iBAAiB3kB,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKolB,cAAgBplB,EAAKolB,cAAc5kB,KAAnBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAErBA,EAAKgB,MAAQ,CACXqU,iBAAiB,EACjBgQ,MAAO,GACPX,MAAO,GACPY,YAAY,EACZnkB,MAAO,GACPI,QAAS,GACTib,SAAU,GACVC,SAAU,GACV/a,kBAAkB,EAClBC,gBAAgB,GApBD3B,mFAyBjBG,KAAKilB,2DAILjlB,KAAK+B,SAAS,CACZojB,YAAanlB,KAAKa,MAAMskB,WACxBZ,MAAO,KAETvkB,KAAKilB,qDAIMG,GACXplB,KAAK+B,SAAS,CACZojB,YAAanlB,KAAKa,MAAMskB,WACxBZ,MAAOa,4CAKK,IACVhjB,EADUE,EAAAtC,KAGdoC,EAAG,GAAAG,OAAM1D,WAAN,uBAEH2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACgB,IAAhBA,EAAKC,QACPd,EAAKP,SAAS,CACZX,QAAS,iBACTG,kBAAkB,IAGtB+B,QAAQ4G,IAAI/G,GACZb,EAAKP,SAAS,CAAEmjB,MAAO/hB,MAExBE,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,0CAKhD+B,GAAO,IAAAM,EAAA7D,KAEjB,GADAuD,EAAMO,iBACD9D,KAAKa,MAAMwb,SAAS2E,SAAS,eAAlC,CAIA,IAAI5e,EAAG,GAAAG,OAAM1D,WAAN,yBAGP2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,mCAElBC,KAAMf,KAAKgB,UAAU,CACnB2hB,MAAOxkB,KAAKa,MAAMwb,SAClBgJ,SAAUrlB,KAAKa,MAAMyb,SACrBgJ,gBAAiBtlB,KAAKa,MAAMyb,aAG7BxZ,KAAK,SAAAC,GACJ,IAAKA,EAASC,GAaZ,OAZAM,QAAQ4G,IAAInH,GAEa,gBAAtBA,EAASG,WACKH,EAASoR,OACvBrR,KAAK,SAAAqR,GACJ7Q,QAAQ4G,IAAI,YACZ,IAAIqb,EAAW1jB,KAAKC,MAAMqS,GAC1B,OAAOoR,EAAUC,WAAW1lB,OAAO8d,KAAK2H,EAAUC,YAAY,IAAI,KAGvDziB,EAASG,WAI1BW,EAAK9B,SAAS,CACZX,QAAS,0BACTG,kBAAkB,EAClBP,MAAM,GAAGQ,gBAAe,IAE1BqC,EAAKohB,kBACJniB,KAAK,SAAA2iB,GACN,GAAGA,EACD,MAAMxiB,MAAMwiB,KAGfpiB,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACd6C,EAAK9B,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,WA/CxDxB,KAAK+B,SAAS,CAAEf,MAAO,+CAAgDQ,gBAAgB,+CAqDzFxB,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,qCAIH,IAAAY,EAAArE,KACP,OACEsE,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,GAAIyJ,OAAQ,GAAKrJ,GAAI,CAAEJ,KAAM,EAAGyJ,OAAQ,IACvDlK,EAAAC,EAAAC,cAAA,kCACAF,EAAAC,EAAAC,cAAA,iaAEAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAACQ,EAAA,EAAD,CAAMC,SAAUjF,KAAKoc,aACnB9X,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACtDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,WACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMwb,SAClB5W,SAAUzF,KAAKO,kBACfmF,YAAY,cAGhBpB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACrD,IACDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,aAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,WACLwC,KAAK,WACL6B,GAAG,YACH/B,MAAOzD,KAAKa,MAAMyb,SAClB7W,SAAUzF,KAAKO,kBACfmF,YAAY,cAGhBpB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,KACfT,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ3E,KAAK,SAAS4E,MAAM,WAA5B,iBAKJzB,EAAAC,EAAAC,cAAA,WACsB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,OAGQ,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,SAGfpB,KAAKa,MAAMqkB,MAAM9hB,OAAS,GACzBkB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAK2b,GAAI,CAAEzb,KAAM,GAAIyJ,OAAQ,IAC3BlK,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,4BACAF,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,eACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAA,oBAGJF,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMqkB,MAAMvf,IAChB,SAAA+f,GAAI,OACFA,EAAKd,IACHtgB,EAAAC,EAAAC,cAAA,MAAIqB,IAAK6f,EAAKd,IAIZtgB,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,QACE4B,UAAU,cACVO,QACE,kBAAMtC,EAAK5D,aAAailB,KAGzBA,EAAKlB,QAGVlgB,EAAAC,EAAAC,cAAA,UAAKkhB,EAAKC,aAS5BrhB,EAAAC,EAAAC,cAAA,cAINF,EAAAC,EAAAC,cAAC2f,GAADrkB,OAAAkW,OAAA,GAAehW,KAAKJ,MAApB,CAA2B0U,KAAMtU,KAAKa,MAAMskB,WAAY/Q,OAAQpU,KAAKglB,iBAAkBT,MAAOvkB,KAAKa,MAAM0jB,iBA1Q1F1d,kJCCvB,IAAMrH,GAAWC,cAAHmmB,MA2XCC,eApXb,SAAAA,EAAYjmB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA6lB,IACjBhmB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA+lB,GAAA1lB,KAAAH,KAAMJ,KAEDW,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKimB,mBAAqBjmB,EAAKimB,mBAAmBzlB,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKoV,gBAAkBpV,EAAKoV,gBAAgB5U,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACvBA,EAAKkmB,aAAelmB,EAAKkmB,aAAa1lB,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACpBA,EAAKmmB,gBAAkBnmB,EAAKmmB,gBAAgB3lB,KAArBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAEvBA,EAAKgB,MAAQ,CACXqU,iBAAiB,EACjB+Q,WAAY,GACZ9Q,QAAS,GACTnR,UAAW,GACXkiB,YAAa,GACb3f,SAAS,EACTvF,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,GArBD3B,mFA0BjBG,KAAK8lB,qBACL9lB,KAAKiV,+DAGc,IACf7S,EADeE,EAAAtC,KAEnBoC,EAAG,GAAAG,OAAM1D,WAAN,4BAEH2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBlE,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACgB,IAAhBA,EAAKC,QACPd,EAAKP,SAAS,CACZX,QAAS,uBACTG,kBAAkB,IAGtBe,EAAKP,SAAS,CAAEkkB,WAAY9iB,EAAMoD,SAAS,MAE5ClD,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,EAAM+E,SAAS,6CAI5D,IACTnE,EADSyB,EAAA7D,KAEboC,EAAG,GAAAG,OAAM1D,WAAN,8BAEHyE,QAAQ4G,IAAI9H,GAEZI,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBmB,UAAWhE,KAAKa,MAAMmD,UACtBkiB,YAAalmB,KAAKa,MAAMqlB,YACxBvnB,OAAQA,aAGTmE,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI/G,GACZU,EAAK9B,SAAS,CACZX,QAAS+B,EACT5B,kBAAkB,IAEpBsC,EAAKiiB,uBAENziB,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACd6C,EAAK9B,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,8CAK5CwC,EAAWkiB,EAAatR,GAAG,IAErCxS,EAFqCiC,EAAArE,KACzC4U,EAAE9Q,iBAEF1B,EAAG,GAAAG,OAAM1D,WAAN,iCAEHyE,QAAQ4G,IAAI9H,GAEZI,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBmB,UAAWA,EACXkiB,YAAaA,EACbvnB,OAAQA,aAGTmE,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI/G,GACZkB,EAAKtC,SAAS,CACZX,QAAS+B,EACT5B,kBAAkB,IAEpB8C,EAAKyhB,uBAENziB,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdqD,EAAKtC,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,gDAI1C,IACZY,EADYkJ,EAAAtL,KAGhBoC,EAAG,GAAAG,OAAM1D,WAAN,yBAGH2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAJe,UAKf2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBzD,OAAQ,GACR8B,KAAM,YACNC,KAAM,OACNxC,OAAQA,aAGTmE,KAAK,SAAAC,GACJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACgB,IAAhBA,EAAKC,QACPkI,EAAKvJ,SAAS,CACZX,QAAS,mBACTG,kBAAkB,IAGtB+J,EAAKvJ,SAAS,CAAEoT,QAAShS,MAE1BE,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsK,EAAKvJ,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,iDAK1DxB,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,qCAIH,IAAA+I,EAAAxM,KACP,OACEsE,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,6BACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,QAAM4B,UAAU,iBACd9B,EAAAC,EAAAC,cAAC6B,EAAA,aAAD,CACEtB,KAAM,GACNuB,SAAU,KACVP,MAAO,UACPtG,IAAKD,GACL+G,QAASvG,KAAKa,MAAM0F,WAGF,KAArBvG,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,IACfT,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,QAIM,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,IACfT,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,YAMrBpB,KAAKa,MAAMolB,YAAcjmB,KAAKa,MAAMolB,WAAW7iB,OAAS,GACvDkB,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,GAAKL,MAAO,CAAEU,aAAc,SAC1C,IACDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,eAAX,YACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,SACLwC,KAAK,YACL6B,GAAG,cACH/B,MAAOzD,KAAKa,MAAMmD,UAClByB,SAAUzF,KAAKO,mBAEf+D,EAAAC,EAAAC,cAAA,UAAQf,MAAO,IAAf,qBACCzD,KAAKa,MAAMsU,QAAQ/R,OAAS,GAC3BpD,KAAKa,MAAMsU,QAAQxP,IACjB,SAAAtE,GAAM,OACJA,EAAO2C,WACLM,EAAAC,EAAAC,cAAA,UACEqB,IAAKxE,EAAO2C,UACZP,MAAOpC,EAAO2C,WAEb3C,EAAOoF,YAAc,KAAOpF,EAAOuE,UAMlDtB,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,GAAKL,MAAO,CAAEU,aAAc,SAC3Cd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,kBAAX,iBACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,cACL6B,GAAG,iBACHC,SAAUzF,KAAKO,kBACfmF,YAAY,oBAIlBpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQa,QAAS3G,KAAK+lB,aAAchgB,MAAM,WAA1C,SAKJzB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WAUCxE,KAAKa,MAAMolB,WAAW7iB,OAAS,GAC9BkB,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAACgC,EAAA,EAAD,CAAOJ,UAAU,eACf9B,EAAAC,EAAAC,cAAA,aACEF,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,uBACAF,EAAAC,EAAAC,cAAA,aAGJF,EAAAC,EAAAC,cAAA,aACGxE,KAAKa,MAAMolB,WAAWtgB,IACrB,SAAA+f,GAAI,OACFA,EAAK1hB,WACHM,EAAAC,EAAAC,cAAA,MAAIqB,IAAK6f,EAAK1hB,UAAY,IAAM0hB,EAAKQ,aAInC5hB,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,YAOGkhB,EAAK1hB,YAGVM,EAAAC,EAAAC,cAAA,UAAKkhB,EAAKjf,aACVnC,EAAAC,EAAAC,cAAA,UAAKkhB,EAAKQ,aACV5hB,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAAA,KACE4B,UAAU,mBACV1B,MAAO,CAAEqB,MAAO,OAAQmJ,OAAQ,WAChCvI,QAAS,SAAAiO,GAAC,OACRpI,EAAKwZ,gBACHN,EAAK1hB,UACL0hB,EAAKQ,YACLtR,uBAjWT/N,kJCNZpH,cAAH0mB,MAAd,IA2MeC,eApMb,SAAAA,EAAYxmB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAomB,IACjBvmB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAsmB,GAAAjmB,KAAAH,KAAMJ,KAEDW,kBAAoBV,EAAKU,kBAAkBF,KAAvBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACzBA,EAAKa,mBAAqBb,EAAKa,mBAAmBL,KAAxBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC1BA,EAAKc,iBAAmBd,EAAKc,iBAAiBN,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACxBA,EAAKwmB,sBAAwBxmB,EAAKwmB,sBAAsBhmB,KAA3BP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAC7BA,EAAKymB,iBAAmBzmB,EAAKymB,iBAAiBjmB,KAAtBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAExBA,EAAKgB,MAAQ,CACXqU,iBAAiB,EACjBrH,OAAQ,GACRpM,QAAQ,EACR8E,SAAQ,EACRggB,MAAK,EACLvlB,MAAO,GACPI,QAAS,GACTG,kBAAkB,EAClBC,gBAAgB,GAlBD3B,oFAuBkC,IAAhDG,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACrCY,KAAK+B,SAAS,CAAEN,QAAQ,+CAITO,IACoC,IAAjDhC,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SAAkBY,KAAKa,MAAMY,OACnEzB,KAAK+B,SAAS,CAACN,QAAQ,KACmC,IAAjDzB,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SAAmBY,KAAKa,MAAMY,QAC3EzB,KAAK+B,SAAS,CAACN,QAAQ,+CAKzBzB,KAAK+B,SAAS,CACZP,gBAAiBxB,KAAKa,MAAMW,eAC5BR,MAAO,kDAKThB,KAAK+B,SAAS,CACZR,kBAAmBvB,KAAKa,MAAMU,iBAC9BH,QAAS,+CAIKmC,GAChB,IAAMC,EAASD,EAAMC,OACfC,EAAwB,aAAhBD,EAAOrC,KAAsBqC,EAAOE,QAAUF,EAAOC,MAC7DE,EAAOH,EAAOG,KAEpB3D,KAAK+B,SAALjC,OAAA8D,EAAA,EAAA9D,CAAA,GACG6D,EAAOF,oDAKVzD,KAAK+B,SAAS,CAACwkB,MAAM,+CAGJ,IACbnkB,EADaE,EAAAtC,MAGoC,IAAjDA,KAAKJ,MAAMX,SAASgD,SAAS7C,OAAO,SACtCY,KAAK+B,SAAS,CAAEN,QAAQ,IACxBW,EAAG,GAAAG,OAAM1D,WAAN,wCAEHmB,KAAK+B,SAAS,CAAEN,QAAQ,IACxBW,EAAG,GAAAG,OAAM1D,WAAN,mCAGLyE,QAAQ4G,IAAI9H,GAEZI,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,UACb2D,QAAS,CACPC,eAAgB,oBAElBC,KAAMf,KAAKgB,UAAU,CACnBgL,OAAQ7N,KAAKa,MAAMgN,OACnB2Y,SAAUxmB,KAAKa,MAAM2lB,SACrB7nB,OAAQA,aAGTmE,KAAK,SAAAC,GAEJ,GADAO,QAAQ4G,IAAInH,IACPA,EAASC,GACZ,MAAMC,MAAMF,EAASG,YAEvB,OAAOH,IAERD,KAAK,SAAAC,GAAQ,OAAIA,EAASI,SAC1BL,KAAK,SAAAK,GACJG,QAAQ4G,IAAI/G,GACZb,EAAKP,SAAS,CACZX,QAAS+B,EACT5B,kBAAkB,EAClBglB,MAAM,MAGTljB,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,GACdsB,EAAKP,SAAS,CAAEf,MAAOA,EAAMI,QAASI,gBAAgB,EAAM+kB,MAAM,uCAKtE,OACEjiB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAWC,MAAO,CAAEC,UAAW,WAC7BL,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,gCACAF,EAAAC,EAAAC,cAAA,WAUsB,KAArBxE,KAAKa,MAAMG,OACVsD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,IAC1BlK,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,UACNG,OAAQlG,KAAKa,MAAMW,eACnB2E,OAAQnG,KAAKW,kBAEZX,KAAKa,MAAMG,QAIM,KAAvBhB,KAAKa,MAAMO,SACVkD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,IAC1BlK,EAAAC,EAAAC,cAACyB,EAAA,EAAD,CACEF,MAAM,OACNG,OAAQlG,KAAKa,MAAMU,iBACnB4E,OAAQnG,KAAKU,oBAEZV,KAAKa,MAAMO,YAMtBkD,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACtDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,cAAX,wBACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,OACLwC,KAAK,SACL6B,GAAG,aACHC,SAAUzF,KAAKO,kBACfmF,YAAY,aAIlBpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAKC,GAAI,CAAEC,KAAM,EAAGyJ,OAAQ,GAAK9J,MAAO,CAAEU,aAAc,SACtDd,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAOC,IAAI,iBAAX,yBACAhB,EAAAC,EAAAC,cAACe,EAAA,EAAD,CACEpE,KAAK,WACLwC,KAAK,WACL6B,GAAG,gBACHC,SAAUzF,KAAKO,kBACfmF,YAAY,eAIlBpB,EAAAC,EAAAC,cAACI,EAAA,EAAD,KACEN,EAAAC,EAAAC,cAACK,EAAA,EAAD,KACEP,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQa,QAAS3G,KAAKqmB,sBAAuBtgB,MAAM,WAAnD,cAGC/F,KAAKa,MAAM0lB,MACVjiB,EAAAC,EAAAC,cAAA,YACG,KACDF,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQa,QAAS3G,KAAKsmB,iBAAkBvgB,MAAM,UAA9C,sBAzLWc,8CCuJZ4f,eA5Ib,SAAAA,EAAY7mB,GAAO,IAAAC,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAymB,IACjB5mB,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA2mB,GAAAtmB,KAAAH,KAAMJ,KAEDiB,MAAQ,CACXqU,iBAAiB,GAEnBrV,EAAKuc,YAAcvc,EAAKuc,YAAY/b,KAAjBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KACnBA,EAAK4b,aAAe5b,EAAK4b,aAAapb,KAAlBP,OAAAQ,EAAA,EAAAR,QAAAQ,EAAA,EAAAR,CAAAD,KAPHA,mFAWsB,OAAnC8B,aAAaC,QAAQ,WACvBD,aAAakY,WAAW,UAE1B7a,OAAO0nB,iBAAiB,eAAgB,SAAAC,GACtCA,EAAG7iB,iBACoC,OAAnCnC,aAAaC,QAAQ,WACvBD,aAAakY,WAAW,2DAO5B7a,OAAO4nB,oBAAoB,eAAgB,SAAAD,GACzCA,EAAG7iB,iBACoC,OAAnCnC,aAAaC,QAAQ,WACvBD,aAAakY,WAAW,YAGW,OAAnClY,aAAaC,QAAQ,WACvBD,aAAakY,WAAW,gDAKrB7Z,KAAKa,MAAMqU,iBACdlV,KAAK+B,SAAS,CACZmT,iBAAiB,2CAMrB,GAAIlV,KAAKa,MAAMqU,gBAAiB,CAC9B,IAAI9S,EAAG,GAAAG,OAAM1D,WAAN,uBAEP2D,MAAMJ,EAAK,CACTK,OAAQ,OACR1D,YAAa,YAEZ+D,KAAK,SAAAC,GAEJ,IAAKA,EAASC,GACZ,MAAMC,MAAMF,EAASG,cAGxBG,MAAM,SAAArC,GACLsC,QAAQtC,MAAMA,KAElBhB,KAAK+B,SAAS,CAAEmT,iBAAiB,sCAI5B,IAAA5S,EAAAtC,KACP,OACEsE,EAAAC,EAAAC,cAACqiB,GAAA,EAAD,CAAQ/nB,SAAUA,YAChBwF,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,eACb9B,EAAAC,EAAAC,cAAA,OAAK4B,UAAU,iBAEXpG,KAAKa,MAAMqU,iBACX5Q,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,IAAIC,UAAWzN,KAC3BjV,EAAAC,EAAAC,cAACyiB,GAAA,EAAD,KACE3iB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOI,OAAK,EAACH,KAAK,IAAIC,UAAWrnB,IACjC2E,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,kBAAkBC,UAAW9f,IACzC5C,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,OAAOC,UAAW3N,KAC9B/U,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,YAAYC,UAAWxK,KACnClY,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,WAAWC,UAAW9C,KAClC5f,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CACEC,KAAK,IACLtR,OAAQ,SAAA7V,GAAK,OACX0E,EAAAC,EAAAC,cAAC2iB,GAADrnB,OAAAkW,OAAA,GACMpW,EADN,CAEE2c,QAAS,SAACF,EAAUC,GAAX,OACPha,EAAK8Z,YAAYC,EAAUC,YAUxCtc,KAAKa,MAAMqU,iBACV5Q,EAAAC,EAAAC,cAAAF,EAAAC,EAAA0J,SAAA,KACE3J,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CACEC,KAAK,IACLtR,OAAQ,SAAA7V,GAAK,OACX0E,EAAAC,EAAAC,cAAC4iB,GAADtnB,OAAAkW,OAAA,GACMpW,EADN,CAEEoc,SAAU,kBAAM1Z,EAAKmZ,sBAI3BnX,EAAAC,EAAAC,cAACyiB,GAAA,EAAD,KACE3iB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOI,OAAK,EAACH,KAAK,IAAIC,UAAWrnB,IACjC2E,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOI,OAAK,EAACH,KAAK,kBAAkBC,UAAWrnB,IAC/C2E,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOI,OAAK,EAACH,KAAK,QAAQC,UAAWrnB,IACrC2E,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOI,OAAK,EAACH,KAAK,SAASC,UAAWrnB,IACtC2E,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,kBAAkBC,UAAW9f,IACzC5C,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,0BAA0BC,UAAW9f,IACjD5C,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,sBAAsBC,UAAW9f,IAC7C5C,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,UAAUC,UAAW/Q,KACjC3R,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,cAAcC,UAAW/Q,KACrC3R,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,mBAAmBC,UAAWlK,KAC1CxY,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,mBAAmBC,UAAW9C,KAC1C5f,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,OAAOC,UAAW1G,KAC9Bhc,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,gBAAgBC,UAAW3F,KACvC/c,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,YAAYC,UAAWjC,KACnCzgB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,kBAAkBC,UAAWnB,KACzCvhB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,gBAAgBC,UAAWZ,KACvC9hB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,oBAAoBC,UAAWZ,KAC3C9hB,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,OAAOC,UAAW3N,KAC9B/U,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,qBAAqBC,UAAWjS,KAC5CzQ,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,UAAUC,UAAW/D,QAOzC3e,EAAAC,EAAAC,cAACsiB,GAAA,EAAD,CAAOC,KAAK,IAAIC,UAAW9K,cAtInBrV,aCXlBwgB,IAAS5R,OACPnR,EAAAC,EAAAC,cAAC8iB,GAAD,MACAC,SAASC,eAAe,SvBkHpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAM7kB,KAAK,SAAA8kB,GACjCA,EAAaC","file":"static/js/main.06929c0a.chunk.js","sourcesContent":["//API Key should move to environment variable, even though it's not primary authentication\r\n\r\nconst apiKey = \"4e6c6a8a-e1da-446b-8e8f-e6bd6b87a707\";\r\nconst actionLevel = 0.004;\r\n\r\nmodule.exports = { apiKey, actionLevel };","let base_URL;\r\nif (process.env.NODE_ENV !== \"production\") {\r\n base_URL = \"http://localhost:61932\";\r\n} else {\r\n if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"dotnetv4.vtanr.state.vt.us/leadinschools\") !== -1\r\n ) {\r\n //testweb\r\n base_URL = \"http://dotnetv4.vtanr.state.vt.us/leadinschools\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"anrweb.vt.gov/dec/leadinschoolsreports\") !== -1\r\n ) {\r\n //report\r\n base_URL = \"https://anrweb.vt.gov/DEC/LeadInSchoolsReports\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"anrweb.vt.gov/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://anrweb.vt.gov/DEC/leadinschools\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"www.leadresults.vermont.gov\") !==\r\n -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://www.leadresults.vermont.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"http://leadresults.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://leadresults.vermont.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"http://www.leadresults.vt.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://www.leadresults.vt.gov\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"http://leadresults.vt.gov\") !==\r\n -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://leadresults.vt.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"https://leadresults.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://leadresults.vermont.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"https://leadresultstest.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://leadresultstest.vermont.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"http://leadresultstest.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://leadresultstest.vermont.gov\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"https://www.leadresults.vt.gov\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://www.leadresults.vt.gov\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"https://leadresults.vt.gov\") !==\r\n -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://leadresults.vt.gov\";\r\n }\r\n else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"http://pubapps.vtanr.state.vt.us/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://pubapps.vtanr.state.vt.us/DEC/leadinschools\";\r\n }\r\n else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"http://anrwebtest.vt.gov/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"http://anrwebtest.vt.gov/DEC/leadinschools\";\r\n }\r\n else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"https://anrwebtest.vt.gov/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://anrwebtest.vt.gov/DEC/leadinschools\";\r\n }\r\n else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"https://pubapps.vtanr.state.vt.us/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n base_URL = \"https://pubapps.vtanr.state.vt.us/DEC/leadinschools\";\r\n } else {\r\n //anrweb\r\n base_URL = \"\";\r\n }\r\n}\r\n\r\n\r\nlet basename;\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n basename = \"/\";\r\n} else {\r\n if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"dotnetv4.vtanr.state.vt.us/leadinschools\") !== -1\r\n ) {\r\n //testweb\r\n basename = \"/leadinschools\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"anrweb.vt.gov/dec/leadinschoolsreports\") !== -1\r\n ) {\r\n //report\r\n basename = \"/DEC/LeadInSchoolsReports\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"anrweb.vt.gov/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n basename = \"/DEC/leadinschools\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"anrwebtest.vt.gov/dec/leadinschools\") !== -1\r\n ) {\r\n //anrweb\r\n basename = \"/DEC/leadinschools\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"leadresults.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n basename = \"/\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"leadresultstest.vermont.gov\") !== -1\r\n ) {\r\n //anrweb\r\n basename = \"/\";\r\n } else if (\r\n window.location.href.toLowerCase().search(\"leadresults.vt.gov\") !== -1\r\n ) {\r\n //anrweb\r\n basename = \"/\";\r\n } else if (\r\n window.location.href\r\n .toLowerCase()\r\n .search(\"pubapps.vtanr.state.vt.us/dec/leadinschools\") !== -1\r\n ) {\r\n //report\r\n basename = \"/DEC/leadinschools\";\r\n } else {\r\n //anrweb\r\n basename = \"/\";\r\n }\r\n}\r\n\r\nlet credentials;\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n credentials = \"omit\";\r\n} else {\r\n credentials = \"same-origin\";\r\n}\r\n\r\nmodule.exports = { base_URL, credentials, basename };\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Table } from \"reactstrap\";\r\nimport {\r\n Button,\r\n Form,\r\n Input,\r\n Alert,\r\n // InputGroup,\r\n // InputGroupAddon,\r\n Label\r\n} from \"reactstrap\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\n// import Select from \"react-select\";\r\nimport { base_URL, credentials } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass Search extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.fetchTownList = this.fetchTownList.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.renderHeading = this.renderHeading.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n searchLoading: false,\r\n error: \"\",\r\n search: \"\",\r\n towns: [],\r\n town: \"All Towns\",\r\n type: \"Both\",\r\n message: \"\",\r\n school: \"\",\r\n schoolHeading: \"School or Child Care\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchTownList();\r\n if (localStorage.getItem(\"search\")) {\r\n let search = JSON.parse(localStorage.getItem(\"search\"));\r\n this.setState({ data: search });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n (this.props.location.pathname.search(\"test\") !== -1 &&\r\n !this.state.isTest) ||\r\n (this.props.location.pathname.search(\"test\") === -1 &&\r\n this.state.isTest) ||\r\n (this.props.location.pathname.search(\"internal\") !== -1 &&\r\n !this.state.isInternal) ||\r\n (this.props.location.pathname.search(\"internal\") === -1 &&\r\n this.state.isInternal)\r\n ) {\r\n this.fetchTownList();\r\n this.setState({\r\n data: {},\r\n error: \"\",\r\n search: \"\",\r\n town: \"All Towns\",\r\n type: \"Both\",\r\n message: \"\",\r\n school: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n }\r\n\r\n fetchTownList() {\r\n let url, useCredentials;\r\n //console.log(base_URL);\r\n // Use credentials if test\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n this.setState({ isTest: true, isInternal: false });\r\n url = `${base_URL}/api/internal/townstest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n this.setState({ isTest: false, isInternal: true });\r\n url = `${base_URL}/api/internal/towns`;\r\n useCredentials = \"include\";\r\n } else {\r\n this.setState({ isTest: false, isInternal: false });\r\n url = `${base_URL}/api/public/towns`;\r\n useCredentials = credentials;\r\n }\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No Towns Found\",\r\n showMessageAlert: true\r\n });\r\n }\r\n this.setState({ towns: json });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n handleSearch(event) {\r\n event.preventDefault();\r\n this.setState({\r\n message: \"\",\r\n showMessageAlert: false\r\n });\r\n\r\n this.timer = setTimeout(() => {\r\n this.setState({ searchLoading: true });\r\n this.timer = 0;\r\n }, 250);\r\n\r\n let url, useCredentials;\r\n\r\n // Use credentials if test\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/schoolstest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n url = `${base_URL}/api/internal/schools`;\r\n useCredentials = \"include\";\r\n } else {\r\n url = `${base_URL}/api/public/schools`;\r\n useCredentials = credentials;\r\n }\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n search: this.state.search,\r\n town: this.state.town,\r\n type: this.state.type,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n switch (this.state.type) {\r\n case \"Both\":\r\n message = \"No Schools or Child Cares With Results Found\";\r\n break;\r\n case \"School\":\r\n message = \"No Schools With Results Found\";\r\n break;\r\n case \"Child Care\":\r\n message = \"No Child Cares With Results Found\";\r\n break;\r\n default:\r\n message = \"No Schools or Child Cares With Results Found\";\r\n break;\r\n }\r\n\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = 0;\r\n }\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n searchLoading: false,\r\n data: {}\r\n });\r\n return;\r\n }\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = 0;\r\n }\r\n this.renderHeading();\r\n this.setState({ data: json, searchLoading: false });\r\n })\r\n .catch(error => {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = 0;\r\n }\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n searchLoading: false,\r\n data: {}\r\n });\r\n });\r\n }\r\n\r\n handleSelect(School_ID) {\r\n localStorage.setItem(\"search\", JSON.stringify(this.state.data));\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n this.props.history.push({ pathname: \"/testschool/\" + School_ID });\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n this.props.history.push({ pathname: \"/internalschool/\" + School_ID });\r\n } else {\r\n this.props.history.push({ pathname: \"/school/\" + School_ID });\r\n }\r\n }\r\n\r\n renderHeading() {\r\n let heading = \"School or Child Care\";\r\n switch (this.state.type) {\r\n case \"Both\":\r\n heading = \"School or Child Care\";\r\n break;\r\n case \"School\":\r\n heading = \"School\";\r\n break;\r\n case \"Child Care\":\r\n heading = \"Child Care\";\r\n break;\r\n default:\r\n heading = \"School or Child Care\";\r\n break;\r\n }\r\n\r\n this.setState({\r\n schoolHeading: heading\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.school === \"\" && (\r\n \r\n \r\n \r\n

\r\n {this.props.location.pathname.search(\"test\") !== -1\r\n ? \"Test Search for School or Child Care\"\r\n : \"Search for School or Child Care\"}\r\n

\r\n
\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n Name\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 Town\r\n \r\n {/*
*/}\r\n \r\n {this.state.towns.length > 0 &&\r\n this.state.towns.map(\r\n town =>\r\n town.Town && (\r\n \r\n )\r\n )}\r\n {!this.state.towns.length > 0 && (\r\n \r\n )}\r\n \r\n {/*
*/}\r\n {/*
*/}\r\n \r\n \r\n {\" \"}\r\n {/* */}\r\n \r\n Type\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.state.towns.length > 0 && (\r\n this.setState({ town })}\r\n labelKey=\"Town\"\r\n valueKey=\"Town\"\r\n />\r\n )} */}\r\n \r\n \r\n \r\n \r\n
\r\n {!this.state.data.length && (\r\n \r\n Note: Results are posted one week after a school or child care receives them. If no results are found for your\r\n school or child care, most likely they have not yet\r\n collected samples or received their results. Results for\r\n school-based child care programs (such as preschool or\r\n afterschool) are listed under the school where the program\r\n is located.\r\n {/* {new Date() < new Date('2023-10-11') && (\r\n <>
\r\n
\r\n The Agency of Natural Resources will be performing system maintenance on October 10th from 2pm-midnight EST. This website will be unavailable during that time.\r\n
\r\n \r\n )} */}\r\n
\r\n )}\r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n {this.state.data.length > 0 && (\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.state.data.map(\r\n school =>\r\n school.School_Name && (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n {this.state.schoolHeading}TownType
console.log()}>\r\n \r\n \r\n \r\n this.handleSelect(school.School_ID)\r\n }\r\n >\r\n {school.Active_Facility === true ? school.School_Name : school.School_Name.concat(\" (Inactive)\")}\r\n \r\n {school.Town}{school.Type}
\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\nexport default Search;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n Card,\r\n CardHeader,\r\n CardDeck,\r\n Alert,\r\n ListGroup,\r\n ListGroupItem,\r\n Input\r\n} from \"reactstrap\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport ReactExport from \"react-export-excel\";\r\nimport { base_URL, credentials } from \"../config/buildSettings.js\";\r\nimport { apiKey, actionLevel } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass School extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n results: {},\r\n resultsSummary: {},\r\n resultsRaw: {},\r\n resultsSummaryRaw: {},\r\n resultsRawDownload: {},\r\n remediation: {},\r\n school: \"\",\r\n school_data: {},\r\n years: [],\r\n message: \"\",\r\n error: \"\",\r\n Sort: \"Tap\",\r\n SortCard: \"Highest Tap Result, desc\",\r\n Lab_ID_Sort: \"\",\r\n Collection_Date_Sort: \"\",\r\n Analysis_Date_Sort: \"\",\r\n Collection_Type_Sort: \"\",\r\n View: \"Tap Summary Table\",\r\n Broken_Only: false,\r\n Tap_Sort: \"asc\",\r\n Result_Sort: \"\",\r\n Summary_Sort: \"Highest Tap Result\",\r\n Summary_Tap_Sort: \"\",\r\n Summary_First_Sort: \"\",\r\n Summary_Flush_Sort: \"\",\r\n Summary_Date_Sampled_Sort: \"\",\r\n Summary_Date_Analyzed_Sort: \"\",\r\n Summary_Action_Taken_Sort: \"\",\r\n Summary_Date_Action_Taken_Sort: \"\",\r\n Summary_Highest_Tap_Result_Sort: \"desc\",\r\n summaryLoading: true,\r\n resultsLoading: true,\r\n schoolLoading: true,\r\n resultsRawDownloadLoading: true,\r\n stats: false\r\n };\r\n\r\n this.renderSort = this.renderSort.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.onSortSummary = this.onSortSummary.bind(this);\r\n this.onSortSummaryCards = this.onSortSummaryCards.bind(this);\r\n this.getDownloadData = this.getDownloadData.bind(this);\r\n this.getSchool = this.getSchool.bind(this);\r\n this.getSummary = this.getSummary.bind(this);\r\n this.getResults = this.getResults.bind(this);\r\n this.getResultsRawDownload = this.getResultsRawDownload.bind(this);\r\n this.getDownloadDataResults = this.getDownloadDataResults.bind(this);\r\n this.filterData = this.filterData.bind(this);\r\n this.filterSummary = this.filterSummary.bind(this);\r\n this.filterResults = this.filterResults.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n const school = this.props.match.params.school;\r\n this.setState({ school: school });\r\n if (window.innerWidth < 600) {\r\n this.setState({ View: \"Tap Summary Cards\" });\r\n }\r\n this.getSchool();\r\n this.getResults();\r\n this.getSummary();\r\n this.getResultsRawDownload();\r\n }\r\n\r\n getSchool() {\r\n\r\n const school = this.props.match.params.school;\r\n\r\n let url, useCredentials;\r\n\r\n // Use credentials if test or internal\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/schooltest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n url = `${base_URL}/api/internal/school`;\r\n useCredentials = \"include\";\r\n } else {\r\n url = `${base_URL}/api/public/school`;\r\n useCredentials = credentials;\r\n }\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n school: school,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No School Found\",\r\n showMessageAlert: true,\r\n schoolLoading: false\r\n });\r\n }\r\n\r\n console.log('school ', json);\r\n\r\n this.setState({ school_data: json, schoolLoading: false });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n schoolLoading: false\r\n });\r\n });\r\n }\r\n\r\n getResults() {\r\n\r\n let url, useCredentials;\r\n\r\n // Use credentials if test or internal\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/individualtest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n url = `${base_URL}/api/internal/individual`;\r\n useCredentials = \"include\";\r\n } else {\r\n url = `${base_URL}/api/public/individual`;\r\n useCredentials = credentials;\r\n }\r\n\r\n const school = this.props.match.params.school;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n school: school,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log('results ', json);\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No Results Found\",\r\n showMessageAlert: true,\r\n resultsLoading: false\r\n });\r\n } else {\r\n this.setState({\r\n resultsRaw: json, resultsLoading: false\r\n }, () => {\r\n\r\n const resultsYearSummary = json.reduce((res, obj) => {\r\n if (!(obj.Initial_Sampling_Year in res)) {\r\n res.__array.push(res[obj.Initial_Sampling_Year] = { year: obj.Initial_Sampling_Year, count: 0 });\r\n }\r\n res[obj.Initial_Sampling_Year].count++;\r\n return res;\r\n }, { __array: [] }).__array.sort((a, b) => { return b.year - a.year });\r\n\r\n if (resultsYearSummary.length > 1) {\r\n this.filterData(resultsYearSummary[0].year);\r\n } else {\r\n this.filterData(0);\r\n }\r\n });\r\n };\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n resultsLoading: false\r\n });\r\n });\r\n }\r\n\r\n getSummary() {\r\n\r\n let url, useCredentials;\r\n\r\n // Use credentials if test\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/summarytest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n url = `${base_URL}/api/internal/summary`;\r\n useCredentials = \"include\";\r\n } else {\r\n url = `${base_URL}/api/public/summary`;\r\n useCredentials = credentials;\r\n }\r\n\r\n const school = this.props.match.params.school;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n school: school,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log('summary ', json);\r\n if (json.length === 0) {\r\n this.setState({\r\n summaryLoading: false,\r\n View: \"All Results\"\r\n }, () => {\r\n this.filterData(0);\r\n });\r\n } else {\r\n const yearSummary = json.reduce((res, obj) => {\r\n if (!(obj.Initial_Sampling_Year in res)) {\r\n res.__array.push(res[obj.Initial_Sampling_Year] = { year: obj.Initial_Sampling_Year, count: 0 });\r\n }\r\n res[obj.Initial_Sampling_Year].count++;\r\n return res;\r\n }, { __array: [] }).__array.sort((a, b) => { return b.year - a.year });\r\n\r\n this.setState({ yearSummary: yearSummary, resultsSummaryRaw: json, summaryLoading: false, round: yearSummary[0].year }, () => {\r\n if (yearSummary.length > 1) {\r\n this.filterData(this.state.round);\r\n } else {\r\n this.filterData(0);\r\n }\r\n });\r\n\r\n let all_rounds_need_remediation = json.filter(summary => {\r\n if (summary.Exceeded === 1 && (summary.Remediated === 0 || (summary.No_Follow_Up_Remediation === 0 && summary.Needs_Follow === 1))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).length;\r\n\r\n this.setState({ all_rounds_need_remediation: all_rounds_need_remediation });\r\n\r\n }\r\n\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n summaryLoading: false\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n getResultsRawDownload() {\r\n\r\n let url, useCredentials;\r\n\r\n // Use credentials if test or internal\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/rawdownloadtest`;\r\n useCredentials = \"include\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n url = `${base_URL}/api/internal/rawdownload`;\r\n useCredentials = \"include\";\r\n } else {\r\n return;\r\n }\r\n\r\n const school = this.props.match.params.school;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n school: school,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log('results raw ', json);\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"Failed to download raw results\",\r\n showMessageAlert: true,\r\n resultsRawDownloadLoading: false\r\n });\r\n } else {\r\n this.setState({\r\n resultsRawDownload: json, resultsRawDownloadLoading: false\r\n });\r\n };\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n resultsRawDownloadLoading: false\r\n });\r\n });\r\n }\r\n\r\n filterSummary(year) {\r\n if (this.state.resultsSummaryRaw && this.state.resultsSummaryRaw.length > 0) {\r\n let summaryData = this.state.resultsSummaryRaw.filter(summary => {\r\n if (year === 0) {\r\n return true;\r\n } else {\r\n if (summary.Initial_Sampling_Year === year) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n\r\n let taps_tested = summaryData.length;\r\n\r\n let taps_exceeding = summaryData.filter(summary => {\r\n if (summary.Exceeded === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).length;\r\n\r\n\r\n let taps_remediated = summaryData.filter(summary => {\r\n if (summary.Exceeded === 1 && ((summary.Remediated === 1 && ((summary.No_Follow_Up_Remediation === 1 && summary.Needs_DEC_Resampling === 0) || summary.Needs_Follow === 0)) || (summary.Permanent_Remediation_Details && summary.No_Follow_Up_Remediation === 1 && summary.Permanent_Remediation_Details !== 'DEC Sanctioned Resampling'))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).length;\r\n\r\n let taps_remaining = summaryData.filter(summary => {\r\n if (summary.Exceeded === 1 && (summary.Remediated === 0 || (summary.No_Follow_Up_Remediation === 0 && summary.Needs_Follow === 1)) && !(summary.Permanent_Remediation_Details && summary.No_Follow_Up_Remediation === 1 && summary.Permanent_Remediation_Details !== 'DEC Sanctioned Resampling')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).length;\r\n\r\n\r\n let taps_DEC_resampling = summaryData.filter(summary => {\r\n if (summary.Exceeded === 1 && summary.Needs_DEC_Resampling === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).length;\r\n\r\n this.setState({ taps_tested: taps_tested, taps_exceeding: taps_exceeding, taps_remediated: taps_remediated, taps_remaining: taps_remaining, taps_DEC_resampling: taps_DEC_resampling });\r\n\r\n this.setState({ resultsSummary: summaryData, round: year });\r\n }\r\n }\r\n\r\n\r\n filterResults(year) {\r\n if (this.state.resultsRaw && this.state.resultsRaw.length > 0) {\r\n let resultsData = this.state.resultsRaw.filter(result => {\r\n if (year === 0) {\r\n return true;\r\n } else {\r\n if (result.Initial_Sampling_Year === year) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n this.setState({ results: resultsData, round: year });\r\n }\r\n }\r\n\r\n filterData(year) {\r\n this.filterSummary(year);\r\n this.filterResults(year);\r\n }\r\n\r\n renderSort(status, field, current) {\r\n if (field !== current) {\r\n return ;\r\n }\r\n\r\n switch (status) {\r\n case \"\":\r\n return ;\r\n case \"asc\":\r\n return ;\r\n case \"desc\":\r\n return ;\r\n default:\r\n return ;\r\n }\r\n }\r\n\r\n onSort(sortKey) {\r\n const results = this.state.results;\r\n let sort;\r\n switch (sortKey) {\r\n case \"Lab_ID\":\r\n sort = this.state.Lab_ID_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n results.sort((b, a) => a[\"Lab_ID\"].localeCompare(b[\"Lab_ID\"]));\r\n } else {\r\n sort = \"asc\";\r\n results.sort((a, b) => a[\"Lab_ID\"].localeCompare(b[\"Lab_ID\"]));\r\n }\r\n this.setState({ Lab_ID_Sort: sort, Sort: \"Lab_ID\" });\r\n break;\r\n case \"Collection_Date\":\r\n sort = this.state.Collection_Date_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n results.sort(\r\n (b, a) => new Date(a[\"Sample_Date\"]) - new Date(b[\"Sample_Date\"])\r\n );\r\n } else {\r\n sort = \"asc\";\r\n results.sort(\r\n (a, b) => new Date(a[\"Sample_Date\"]) - new Date(b[\"Sample_Date\"])\r\n );\r\n }\r\n this.setState({ Collection_Date_Sort: sort, Sort: \"Collection_Date\" });\r\n break;\r\n case \"Analysis_Date\":\r\n sort = this.state.Analysis_Date_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n results.sort(\r\n (b, a) =>\r\n new Date(a[\"Analysis_Date\"]) - new Date(b[\"Analysis_Date\"])\r\n );\r\n } else {\r\n sort = \"asc\";\r\n results.sort(\r\n (a, b) =>\r\n new Date(a[\"Analysis_Date\"]) - new Date(b[\"Analysis_Date\"])\r\n );\r\n }\r\n this.setState({ Analysis_Date_Sort: sort, Sort: \"Analysis_Date\" });\r\n break;\r\n case \"Collection_Type\":\r\n sort = this.state.Collection_Type_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n results.sort((b, a) =>\r\n a[\"Sample_Collection_Type\"].localeCompare(\r\n b[\"Sample_Collection_Type\"]\r\n )\r\n );\r\n } else {\r\n sort = \"asc\";\r\n results.sort((a, b) =>\r\n a[\"Sample_Collection_Type\"].localeCompare(\r\n b[\"Sample_Collection_Type\"]\r\n )\r\n );\r\n }\r\n this.setState({ Collection_Type_Sort: sort, Sort: \"Collection_Type\" });\r\n break;\r\n case \"Tap\":\r\n sort = this.state.Tap_Sort;\r\n if (sort === \"\" || sort === \"desc\") {\r\n sort = \"asc\";\r\n results.sort((a, b) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n } else {\r\n sort = \"desc\";\r\n results.sort((b, a) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n }\r\n this.setState({ Tap_Sort: sort, Sort: \"Tap\" });\r\n break;\r\n case \"Result\":\r\n sort = this.state.Result_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n results.sort((b, a) =>\r\n a[\"Raw_Result\"] ? a[\"Raw_Result\"] - b[\"Raw_Result\"] : -1\r\n );\r\n } else {\r\n sort = \"asc\";\r\n results.sort((a, b) =>\r\n a[\"Raw_Result\"] ? a[\"Raw_Result\"] - b[\"Raw_Result\"] : -1\r\n );\r\n }\r\n this.setState({ Result_Sort: sort, Sort: \"Result\" });\r\n break;\r\n default:\r\n break;\r\n }\r\n this.setState({ results });\r\n }\r\n\r\n onSortSummary(sortKey) {\r\n const resultsSummary = this.state.resultsSummary;\r\n let sort;\r\n switch (sortKey) {\r\n case \"Tap\":\r\n sort = this.state.Summary_Tap_Sort;\r\n if (sort === \"\" || sort === \"desc\") {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n } else {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n }\r\n this.setState({ Summary_Tap_Sort: sort, Summary_Sort: \"Tap\" });\r\n break;\r\n case \"First Draw\":\r\n sort = this.state.Summary_First_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) =>\r\n a[\"Raw_First_Draw\"] ? a[\"Raw_First_Draw\"] - b[\"Raw_First_Draw\"] : -1\r\n );\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) =>\r\n a[\"Raw_First_Draw\"] ? a[\"Raw_First_Draw\"] - b[\"Raw_First_Draw\"] : -1\r\n );\r\n }\r\n this.setState({ Summary_First_Sort: sort, Summary_Sort: \"First Draw\" });\r\n break;\r\n case \"Flush Sample\":\r\n sort = this.state.Summary_Flush_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Flush\"]) {\r\n if (b[\"Flush\"]) {\r\n return a[\"Raw_Flush\"] ? a[\"Raw_Flush\"] - b[\"Raw_Flush\"] : -1;\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Flush\"]) {\r\n if (b[\"Flush\"]) {\r\n return a[\"Raw_Flush\"] ? a[\"Raw_Flush\"] - b[\"Raw_Flush\"] : -1;\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n }\r\n this.setState({\r\n Summary_Flush_Sort: sort,\r\n Summary_Sort: \"Flush Sample\"\r\n });\r\n break;\r\n case \"Date Sampled\":\r\n sort = this.state.Summary_Date_Sampled_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort(\r\n (b, a) =>\r\n new Date(a[\"Earliest_Sample_Date\"]) -\r\n new Date(b[\"Earliest_Sample_Date\"])\r\n );\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort(\r\n (a, b) =>\r\n new Date(a[\"Earliest_Sample_Date\"]) -\r\n new Date(b[\"Earliest_Sample_Date\"])\r\n );\r\n }\r\n this.setState({\r\n Summary_Date_Sampled_Sort: sort,\r\n Summary_Sort: \"Date Sampled\"\r\n });\r\n break;\r\n case \"Date Analyzed\":\r\n sort = this.state.Summary_Date_Analyzed_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort(\r\n (b, a) =>\r\n new Date(a[\"Earliest_Analysis_Date\"]) -\r\n new Date(b[\"Earliest_Analysis_Date\"])\r\n );\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort(\r\n (a, b) =>\r\n new Date(a[\"Earliest_Analysis_Date\"]) -\r\n new Date(b[\"Earliest_Analysis_Date\"])\r\n );\r\n }\r\n this.setState({\r\n Summary_Date_Analyzed_Sort: sort,\r\n Summary_Sort: \"Date Analyzed\"\r\n });\r\n break;\r\n case \"Action Taken\":\r\n sort = this.state.Summary_Action_Taken_Sort;\r\n if (sort === \"\" || sort === \"desc\") {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Remediation_Details\"]) {\r\n if (b[\"Remediation_Details\"]) {\r\n return a[\"Remediation_Details\"].localeCompare(\r\n b[\"Remediation_Details\"]\r\n );\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n } else {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Remediation_Details\"]) {\r\n if (b[\"Remediation_Details\"]) {\r\n return a[\"Remediation_Details\"].localeCompare(\r\n b[\"Remediation_Details\"]\r\n );\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n }\r\n this.setState({\r\n Summary_Action_Taken_Sort: sort,\r\n Summary_Sort: \"Action Taken\"\r\n });\r\n break;\r\n case \"Date Action Taken\":\r\n sort = this.state.Summary_Date_Action_Taken_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Remediation_Date\"]) {\r\n if (b[\"Remediation_Date\"]) {\r\n return (\r\n new Date(a[\"Remediation_Date\"]) -\r\n new Date(b[\"Remediation_Date\"])\r\n );\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Remediation_Date\"]) {\r\n if (b[\"Remediation_Date\"]) {\r\n return (\r\n new Date(a[\"Remediation_Date\"]) -\r\n new Date(b[\"Remediation_Date\"])\r\n );\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n }\r\n this.setState({\r\n Summary_Date_Action_Taken_Sort: sort,\r\n Summary_Sort: \"Date Action Taken\"\r\n });\r\n break;\r\n case \"Highest Tap Result\":\r\n sort = this.state.Highest_Tap_Result_Sort;\r\n if (sort === \"\" || sort === \"asc\") {\r\n sort = \"desc\";\r\n resultsSummary.sort((b, a) =>\r\n a[\"Highest_Result\"] ? a[\"Highest_Result\"] - b[\"Highest_Result\"] : -1\r\n );\r\n } else {\r\n sort = \"asc\";\r\n resultsSummary.sort((a, b) =>\r\n a[\"Highest_Result\"] ? a[\"Highest_Result\"] - b[\"Highest_Result\"] : -1\r\n );\r\n }\r\n this.setState({\r\n Highest_Tap_Result_Sort: sort,\r\n Summary_Sort: \"Highest Tap Result\"\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n this.setState({ resultsSummary });\r\n }\r\n\r\n onSortSummaryCards(event) {\r\n const resultsSummary = this.state.resultsSummary;\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n const sortCard = value;\r\n //console.log(value);\r\n switch (sortCard) {\r\n case \"Tap, asc\":\r\n resultsSummary.sort((a, b) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n this.setState({ Summary_Tap_Sort: \"asc\", Summary_Sort: \"Tap\" });\r\n break;\r\n case \"Tap, desc\":\r\n resultsSummary.sort((b, a) => a[\"Tap\"].localeCompare(b[\"Tap\"]));\r\n this.setState({ Summary_Tap_Sort: \"desc\", Summary_Sort: \"Tap\" });\r\n break;\r\n case \"First Draw, desc\":\r\n resultsSummary.sort((b, a) =>\r\n a[\"Raw_First_Draw\"] ? a[\"Raw_First_Draw\"] - b[\"Raw_First_Draw\"] : -1\r\n );\r\n this.setState({\r\n Summary_First_Sort: \"desc\",\r\n Summary_Sort: \"First Draw\"\r\n });\r\n break;\r\n case \"First Draw, asc\":\r\n resultsSummary.sort((a, b) =>\r\n a[\"Raw_First_Draw\"] ? a[\"Raw_First_Draw\"] - b[\"Raw_First_Draw\"] : -1\r\n );\r\n this.setState({\r\n Summary_First_Sort: \"asc\",\r\n Summary_Sort: \"First Draw\"\r\n });\r\n break;\r\n case \"Flush Sample, desc\":\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Flush\"]) {\r\n if (b[\"Flush\"]) {\r\n return a[\"Raw_Flush\"] ? a[\"Raw_Flush\"] - b[\"Raw_Flush\"] : -1;\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Flush_Sort: \"desc\",\r\n Summary_Sort: \"Flush Sample\"\r\n });\r\n break;\r\n case \"Flush Sample, asc\":\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Flush\"]) {\r\n if (b[\"Flush\"]) {\r\n return a[\"Raw_Flush\"] ? a[\"Raw_Flush\"] - b[\"Raw_Flush\"] : -1;\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Flush_Sort: \"asc\",\r\n Summary_Sort: \"Flush Sample\"\r\n });\r\n break;\r\n case \"Date Sampled, desc\":\r\n resultsSummary.sort(\r\n (b, a) =>\r\n new Date(a[\"Earliest_Sample_Date\"]) -\r\n new Date(b[\"Earliest_Sample_Date\"])\r\n );\r\n this.setState({\r\n Summary_Date_Sampled_Sort: \"desc\",\r\n Summary_Sort: \"Date Sampled\"\r\n });\r\n break;\r\n case \"Date Sampled, asc\":\r\n resultsSummary.sort(\r\n (a, b) =>\r\n new Date(a[\"Earliest_Sample_Date\"]) -\r\n new Date(b[\"Earliest_Sample_Date\"])\r\n );\r\n this.setState({\r\n Summary_Date_Sampled_Sort: \"asc\",\r\n Summary_Sort: \"Date Sampled\"\r\n });\r\n break;\r\n case \"Date Analyzed, desc\":\r\n resultsSummary.sort(\r\n (b, a) =>\r\n new Date(a[\"Earliest_Analysis_Date\"]) -\r\n new Date(b[\"Earliest_Analysis_Date\"])\r\n );\r\n this.setState({\r\n Summary_Date_Analyzed_Sort: \"desc\",\r\n Summary_Sort: \"Date Analyzed\"\r\n });\r\n break;\r\n case \"Date Analyzed, asc\":\r\n resultsSummary.sort(\r\n (a, b) =>\r\n new Date(a[\"Earliest_Analysis_Date\"]) -\r\n new Date(b[\"Earliest_Analysis_Date\"])\r\n );\r\n this.setState({\r\n Summary_Date_Analyzed_Sort: \"asc\",\r\n Summary_Sort: \"Date Analyzed\"\r\n });\r\n break;\r\n case \"Action Taken, asc\":\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Remediation_Details\"]) {\r\n if (b[\"Remediation_Details\"]) {\r\n return a[\"Remediation_Details\"].localeCompare(\r\n b[\"Remediation_Details\"]\r\n );\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Action_Taken_Sort: \"asc\",\r\n Summary_Sort: \"Action Taken\"\r\n });\r\n break;\r\n case \"Action Taken, desc\":\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Remediation_Details\"]) {\r\n if (b[\"Remediation_Details\"]) {\r\n return a[\"Remediation_Details\"].localeCompare(\r\n b[\"Remediation_Details\"]\r\n );\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Action_Taken_Sort: \"desc\",\r\n Summary_Sort: \"Action Taken\"\r\n });\r\n break;\r\n case \"Date Action Taken, desc\":\r\n resultsSummary.sort((b, a) => {\r\n if (a[\"Remediation_Date\"]) {\r\n if (b[\"Remediation_Date\"]) {\r\n return (\r\n new Date(a[\"Remediation_Date\"]) -\r\n new Date(b[\"Remediation_Date\"])\r\n );\r\n } else {\r\n return 1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Date_Action_Taken_Sort: \"desc\",\r\n Summary_Sort: \"Date Action Taken\"\r\n });\r\n break;\r\n\r\n case \"Date Action Taken, asc\":\r\n resultsSummary.sort((a, b) => {\r\n if (a[\"Remediation_Date\"]) {\r\n if (b[\"Remediation_Date\"]) {\r\n return (\r\n new Date(a[\"Remediation_Date\"]) -\r\n new Date(b[\"Remediation_Date\"])\r\n );\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return 1;\r\n }\r\n });\r\n this.setState({\r\n Summary_Date_Action_Taken_Sort: \"asc\",\r\n Summary_Sort: \"Date Action Taken\"\r\n });\r\n break;\r\n case \"Highest Tap Result, desc\":\r\n resultsSummary.sort((b, a) =>\r\n a[\"Highest_Result\"] ? a[\"Highest_Result\"] - b[\"Highest_Result\"] : -1\r\n );\r\n this.setState({\r\n Summary_First_Sort: \"desc\",\r\n Summary_Sort: \"Highest Tap Result\"\r\n });\r\n break;\r\n case \"Highest Tap Result, asc\":\r\n resultsSummary.sort((a, b) =>\r\n a[\"Highest_Result\"] ? a[\"Highest_Result\"] - b[\"Highest_Result\"] : -1\r\n );\r\n this.setState({\r\n Summary_First_Sort: \"asc\",\r\n Summary_Sort: \"Highest Tap Result\"\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n this.setState({ resultsSummary });\r\n }\r\n\r\n getDownloadData() {\r\n if (!this.state.summaryLoading) {\r\n const dataSet = [\r\n {\r\n columns: [\r\n \"School or Childcare Name\",\r\n \"Town\",\r\n \"First Draw Initial Lab ID\",\r\n \"Tap\",\r\n \"First Draw\",\r\n \"Flush\",\r\n \"Date Sampled\",\r\n \"Date Analyzed\",\r\n \"Permanent Action Taken\",\r\n \"Permanent Action Date\",\r\n \"Immediate Action Taken\",\r\n \"Immediate Action Date\",\r\n \"Planned Action\"\r\n ],\r\n data: []\r\n }\r\n ];\r\n\r\n this.state.resultsSummary.filter(summary => {\r\n if (!this.state.Broken_Only) {\r\n return true;\r\n } else {\r\n if (summary.Need_Fix === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }).map(tap => {\r\n var obj = [\r\n { value: tap.School_Name === null ? \"\" : tap.School_Name },\r\n { value: tap.Town_For_Sample === null ? \"\" : tap.Town_For_Sample },\r\n {\r\n value:\r\n tap.Initial_First_Lab_ID === null ? \"\" : tap.Initial_First_Lab_ID\r\n },\r\n { value: tap.Tap === null ? \"\" : tap.Tap },\r\n {\r\n value: tap.First_Draw === null ? \"\" : tap.First_Draw,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_First_Draw >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Flush === null ? \"\" : tap.Flush,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Flush >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n { value: tap.Sample_Date === null ? \"\" : tap.Sample_Date },\r\n { value: tap.Analysis_Date === null ? \"\" : tap.Analysis_Date },\r\n {\r\n value:\r\n tap.Permanent_Remediation_Details === null\r\n ? \"\"\r\n : tap.Permanent_Remediation_Details\r\n },\r\n {\r\n value:\r\n tap.Permanent_Remediation_Date === null\r\n ? \"\"\r\n : tap.Permanent_Remediation_Date\r\n },\r\n {\r\n value:\r\n tap.Immediate_Remediation_Details === null\r\n ? \"\"\r\n : tap.Immediate_Remediation_Details\r\n },\r\n {\r\n value:\r\n tap.Immediate_Remediation_Date === null\r\n ? \"\"\r\n : tap.Immediate_Remediation_Date\r\n },\r\n {\r\n value:\r\n tap.Planned_Remediation_Details === null\r\n ? \"\"\r\n : tap.Planned_Remediation_Details\r\n }\r\n ];\r\n dataSet[0].data.push(obj);\r\n });\r\n\r\n // console.log(dataSet);\r\n return dataSet;\r\n }\r\n }\r\n\r\n getDownloadDataResults() {\r\n if (!this.state.resultsLoading) {\r\n const dataSet = [\r\n {\r\n columns: [\r\n \"School or Childcare Name\",\r\n \"Town\",\r\n \"Lab ID\",\r\n \"Date Sampled\",\r\n \"Date Analyzed\",\r\n \"Collection Type\",\r\n \"Tap\",\r\n \"Result\",\r\n \"Initial_Lab_ID\",\r\n \"First_Draw_Lab_ID\"\r\n ],\r\n data: []\r\n }\r\n ];\r\n\r\n this.state.results.map(tap => {\r\n var obj = [\r\n {\r\n value: tap.School_Name === null ? \"\" : tap.School_Name,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Town_For_Sample === null ? \"\" : tap.Town_For_Sample,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Lab_ID === null ? \"\" : tap.Lab_ID,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Sample_Date === null ? \"\" : tap.Sample_Date,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Analysis_Date === null ? \"\" : tap.Analysis_Date,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value:\r\n tap.Sample_Collection_Type === null\r\n ? \"\"\r\n : tap.Sample_Collection_Type,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Tap === null ? \"\" : tap.Tap,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n },\r\n {\r\n value: tap.Result === null ? \"\" : tap.Result,\r\n style: {\r\n font: {\r\n color: {\r\n rgb: tap.Raw_Result >= actionLevel ? \"C64A37\" : \"212528\"\r\n }\r\n }\r\n }\r\n }\r\n ];\r\n dataSet[0].data.push(obj);\r\n });\r\n\r\n // console.log(dataSet);\r\n return dataSet;\r\n }\r\n }\r\n\r\n render() {\r\n // const columns = [\r\n // {\r\n // Header: \"Lab ID\",\r\n // accessor: \"Lab_ID\"\r\n // },\r\n // {\r\n // Header: \"Collection Date\",\r\n // accessor: \"Sample_Date\"\r\n // },\r\n // {\r\n // id: \"collectionType\",\r\n // Header: \"Collection Type\",\r\n // accessor: d => d.Sample_Type + \" \" + d.Collection_Type\r\n // },\r\n // {\r\n // Header: \"Tap\",\r\n // accessor: \"Tap\",\r\n // style: { 'white-space' : 'unset' }\r\n // },\r\n // {\r\n // Header: \"Result\",\r\n // accessor: \"Result\",\r\n // getProps: (state, rowInfo, column) => {\r\n // return {\r\n // style: {\r\n // color:\r\n // rowInfo && rowInfo.original.Raw_Result >= actionLevel\r\n // ? \"#c64a37\"\r\n // : \"#212528\"\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 {this.state.school_data.length > 0 &&\r\n this.state.school_data[0].School_Name && (\r\n <>\r\n

\r\n {this.state.school_data[0].Active_Facility === true ? this.state.school_data[0].School_Name : this.state.school_data[0].School_Name.concat(\" (Inactive)\")}\r\n \r\n , {this.state.school_data[0].Town}\r\n {this.props.location.pathname.search(\"test\") !== -1\r\n ? \", Test Site\"\r\n : \"\"}\r\n {this.props.location.pathname.search(\"internal\") !== -1\r\n ? \", Internal Site\"\r\n : \"\"}\r\n \r\n

\r\n \r\n Results at or above{\" \"}\r\n \r\n 4 ppb\r\n {\" \"}\r\n are shown in{\" \"}\r\n \r\n bold dark red with an asterisk *\r\n \r\n . 4 ppb is Vermont’s action level for schools and child\r\n cares under Act 66 (2019), the law requiring lead testing\r\n in water at all Vermont schools and child care facilities.\r\n Any tap with a level at or above 4 ppb is required to be\r\n immediately removed from service for drinking and cooking,\r\n and then be permanently remediated, or fixed, until levels\r\n are below 4 ppb.\r\n \r\n
\r\n \r\n )}\r\n {this.state.results.length > 0 &&\r\n this.state.results[0].School_Name &&\r\n !this.state.schoolLoading &&\r\n this.state.school_data.length > 0 &&\r\n this.state.school_data[0].School_Name &&\r\n this.state.yearSummary &&\r\n this.state.yearSummary.length > 0 && (\r\n <>\r\n \r\n {\r\n if (this.state.yearSummary.length > 1) {\r\n this.filterData(this.state.yearSummary[0].year)\r\n } else {\r\n this.filterData(0)\r\n }\r\n }}\r\n active={this.state.yearSummary.length === 1 || this.state.round === this.state.yearSummary[0].year}\r\n >\r\n {`Latest Sampling (${this.state.yearSummary[0].year})`}\r\n \r\n {this.state.yearSummary.length > 1 && (\r\n <>\r\n {this.state.yearSummary.slice(1).map(\r\n year =>\r\n year.year && (\r\n this.filterData(year.year)}\r\n active={this.state.round === year.year}\r\n >\r\n {`${year.year} Sampling`}\r\n \r\n )\r\n )}\r\n this.filterData(0)}\r\n active={this.state.round === 0}\r\n >\r\n {`All Sampling`}\r\n \r\n )}\r\n \r\n
\r\n
\r\n {this.state.taps_tested && (\r\n \r\n \r\n \r\n {`Summary Statistics (${this.state.round === 0 ? 'All' : this.state.round} Sampling)`}\r\n \r\n {!this.state.stats && (\r\n <>\r\n
Taps that need to be fixed: {this.state.taps_remaining}
\r\n {this.state.taps_DEC_resampling > 0 && (\r\n
Taps that need to be tested again due to error: {this.state.taps_DEC_resampling}
\r\n )}\r\n
this.setState({ stats: true })} className=\"school-name\" style={{ marginBottom: \"1rem\" }}>More
\r\n \r\n )}\r\n {this.state.stats && (\r\n <>\r\n
Taps tested: {this.state.taps_tested}
\r\n
Taps at or above the action limit: {this.state.taps_exceeding}
\r\n
Taps that have been fixed: {this.state.taps_remediated}
\r\n
Taps that need to be fixed: {this.state.taps_remaining}
\r\n {this.state.taps_DEC_resampling > 0 && (\r\n
Taps that need to be tested again due to error: {this.state.taps_DEC_resampling}
\r\n )}\r\n
this.setState({ stats: false })} className=\"school-name\" style={{ marginBottom: \"1rem\" }}>Less
\r\n \r\n )}\r\n {/* {this.state.stats && this.state.round !== 0 && (\r\n <>\r\n
Taps tested: {this.state.taps_tested}
\r\n
Taps at or above the action limit from this sampling round: {this.state.taps_exceeding}
\r\n
Taps that have been fixed from this sampling round: {this.state.taps_remediated}
\r\n
Taps that need to be fixed from this sampling round: {this.state.taps_remaining}
\r\n
this.setState({ stats: false })} className=\"school-name\" style={{ marginBottom: \"1rem\" }}>Less
\r\n \r\n )} */}\r\n
\r\n )}\r\n \r\n \r\n this.setState({ View: \"Tap Summary Table\" })\r\n }\r\n active={this.state.View === \"Tap Summary Table\"}\r\n >\r\n Tap Summary Table\r\n \r\n \r\n this.setState({ View: \"Tap Summary Cards\" })\r\n }\r\n active={this.state.View === \"Tap Summary Cards\"}\r\n >\r\n Tap Summary Cards\r\n \r\n this.setState({ View: \"All Results\", Broken_Only: false })}\r\n active={this.state.View === \"All Results\"}\r\n >\r\n All Results\r\n \r\n \r\n
\r\n
\r\n {Boolean((this.state.taps_remaining && this.state.taps_remaining > 0) && (this.state.View === \"Tap Summary Table\" || this.state.View === \"Tap Summary Cards\")) && (\r\n <>\r\n \r\n this.setState({ Broken_Only: false })}\r\n active={this.state.Broken_Only === false}\r\n >\r\n All Taps\r\n \r\n this.setState({ Broken_Only: true })}\r\n active={this.state.Broken_Only === true}\r\n >\r\n Only Taps Needing to be Fixed\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n )}\r\n {!this.state.resultsRawDownloadLoading && (\r\n <>\r\n \r\n \r\n {/* {' '} */}\r\n \r\n
\r\n
\r\n \r\n )}\r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n\r\n {/* {this.state.results.length > 0 && (\r\n \r\n
Sample Results
\r\n
\r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n {!this.state.summaryLoading &&\r\n !this.state.resultsLoading &&\r\n !this.state.schoolLoading && (\r\n \r\n {this.state.resultsSummary.length > 0 &&\r\n this.state.results.length > 0 &&\r\n !this.state.schoolLoading &&\r\n this.state.school_data.length > 0 &&\r\n this.state.school_data[0].School_Name &&\r\n this.state.View === \"Tap Summary Cards\" && (\r\n \r\n {/* Tap Summaries */}\r\n \r\n Summary of Lead in Drinking Water Results and\r\n Remediation Actions for{\" \"}\r\n {this.state.school_data[0].Active_Facility === true ? this.state.school_data[0].School_Name : this.state.school_data[0].School_Name.concat(\" (Inactive)\")},{\" \"}\r\n {this.state.school_data[0].Town}\r\n {\" \"}\r\n {\r\n if (!this.state.Broken_Only) {\r\n return true;\r\n } else {\r\n if (summary.Need_Fix === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }).map(result => {\r\n let rObj = {};\r\n rObj[\"School or Childcare Name\"] =\r\n result.School_Name;\r\n rObj[\"Town\"] = result.Town_For_Sample;\r\n rObj[\"First Draw Initial Lab ID\"] =\r\n result.Initial_First_Lab_ID;\r\n rObj[\"Tap\"] = result.Tap;\r\n rObj[\"First Draw\"] = result.First_Draw;\r\n rObj[\"Flush\"] = result.Flush;\r\n rObj[\"Date Sampled\"] = result.Sample_Date;\r\n rObj[\"Date Analyzed\"] = result.Analysis_Date;\r\n rObj[\"Permanent Action Taken\"] =\r\n result.Permanent_Remediation_Details;\r\n rObj[\"Permanent Action Date\"] =\r\n result.Permanent_Remediation_Date;\r\n rObj[\"Immediate Action Taken\"] =\r\n result.Immediate_Remediation_Details;\r\n rObj[\"Immediate Action Date\"] =\r\n result.Immediate_Remediation_Date;\r\n rObj[\"Planned Action\"] =\r\n result.Planned_Remediation_Details;\r\n return rObj;\r\n })}\r\n filename={`${this.state.resultsSummary[0].School_Name} ${this.state.resultsSummary[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Results Summary.csv`}\r\n target=\"_blank\"\r\n >\r\n
{\" \"}\r\n \r\n
\r\n }\r\n filename={`${this.state.resultsSummary[0].School_Name} ${this.state.resultsSummary[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Results Summary`}\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.state.SortCard ===\r\n \"Highest Tap Result, desc\"\r\n ? \"Sort by: Highest Tap Result (Highest to Lowest)\"\r\n : \"Highest Tap Result (Highest to Lowest)\"}\r\n \r\n \r\n {this.state.SortCard ===\r\n \"Highest Tap Result, asc\"\r\n ? \"Sort by: Highest Tap Result (Lowest to Highest)\"\r\n : \"Highest Tap Result (Lowest to Highest)\"}\r\n \r\n \r\n {this.state.SortCard === \"First Draw, desc\"\r\n ? \"Sort by: First Draw (Highest to Lowest)\"\r\n : \"First Draw (Highest to Lowest)\"}\r\n \r\n \r\n {this.state.SortCard === \"First Draw, asc\"\r\n ? \"Sort by: First Draw (Lowest to Highest)\"\r\n : \"First Draw (Lowest to Highest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Flush Sample, desc\"\r\n ? \"Sort by: Flush (Highest to Lowest)\"\r\n : \"Flush (Highest to Lowest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Flush Sample, asc\"\r\n ? \"Sort by: Flush (Lowest to Highest)\"\r\n : \"Flush (Lowest to Highest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Date Sampled, desc\"\r\n ? \"Sort by: Date Sampled (Newest to Oldest)\"\r\n : \"Date Sampled (Newest to Oldest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Date Sampled, asc\"\r\n ? \"Sort by: Date Sampled (Oldest to Newest)\"\r\n : \"Date Sampled (Oldest to Newest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Date Analyzed, desc\"\r\n ? \"Sort by: Date Analyzed (Newest to Oldest)\"\r\n : \"Date Analyzed (Newest to Oldest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Date Analyzed, asc\"\r\n ? \"Sort by: Date Analyzed (Oldest to Newest)\"\r\n : \"Date Analyzed (Oldest to Newest)\"}\r\n \r\n \r\n {this.state.SortCard === \"Action Taken, asc\"\r\n ? \"Sort by: Action Taken (A-Z)\"\r\n : \"Action Taken (A-Z)\"}\r\n \r\n \r\n {this.state.SortCard === \"Action Taken, desc\"\r\n ? \"Sort by: Action Taken (Z-A)\"\r\n : \"Action Taken (Z-A)\"}\r\n \r\n \r\n {this.state.SortCard ===\r\n \"Date Action Taken, desc\"\r\n ? \"Sort by: Date Action Taken (Newest to Oldest)\"\r\n : \"Date Action Taken (Newest to Oldest)\"}\r\n \r\n \r\n {this.state.SortCard ===\r\n \"Date Action Taken, asc\"\r\n ? \"Sort by: Date Action Taken (Oldest to Newest)\"\r\n : \"Date Action Taken (Oldest to Newest)\"}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.state.resultsSummary.filter(summary => {\r\n if (!this.state.Broken_Only) {\r\n return true;\r\n } else {\r\n if (summary.Need_Fix === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }).map(\r\n summary =>\r\n summary.Initial_First_Lab_ID && (\r\n \r\n \r\n \r\n {summary.Tap}\r\n
\r\n Initial First Draw Lab ID#:{\" \"}\r\n {summary.Initial_First_Lab_ID}\r\n \r\n \r\n {!summary.Initial_First_Draw &&\r\n !summary.Initial_Flush &&\r\n // !summary.Initial_Ten &&\r\n !summary.Follow_First_Draw &&\r\n !summary.Follow_Flush &&\r\n // !summary.Follow_Ten &&\r\n !summary.Remediation_Details &&\r\n !summary.Remediation_Date && (\r\n \r\n \r\n Samples Reported, No Valid\r\n Sample/Collection Type\r\n \r\n \r\n )}\r\n {summary.Initial_First_Draw && (\r\n \r\n Initial First Draw:{\" \"}\r\n =\r\n actionLevel\r\n ? 700\r\n : 500,\r\n color:\r\n summary.Initial_Raw_First_Draw &&\r\n summary.Initial_Raw_First_Draw >=\r\n actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Initial_Raw_First_Draw &&\r\n summary.Initial_Raw_First_Draw >=\r\n actionLevel\r\n ? summary.Initial_First_Draw +\r\n \"*\"\r\n : summary.Initial_First_Draw}\r\n \r\n
\r\n Collected: \r\n \r\n {\r\n summary.Initial_First_Sample_Date\r\n }\r\n \r\n
\r\n Analyzed: \r\n \r\n {\r\n summary.Initial_First_Analysis_Date\r\n }\r\n \r\n
\r\n )}\r\n {summary.Initial_Flush && (\r\n \r\n Initial Flush:{\" \"}\r\n =\r\n actionLevel\r\n ? 700\r\n : 500,\r\n color:\r\n summary.Initial_Raw_Flush &&\r\n summary.Initial_Raw_Flush >=\r\n actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Initial_Raw_Flush &&\r\n summary.Initial_Raw_Flush >=\r\n actionLevel\r\n ? summary.Initial_Flush + \"*\"\r\n : summary.Initial_Flush}\r\n \r\n
\r\n Collected: \r\n \r\n {\r\n summary.Initial_Flush_Sample_Date\r\n }\r\n \r\n
\r\n Analyzed: \r\n \r\n {\r\n summary.Initial_Flush_Analysis_Date\r\n }\r\n \r\n
\r\n )}\r\n {/* {summary.Initial_Ten && (\r\n \r\n Initial 10-minute Flush:{\" \"}\r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Initial_Ten}\r\n
\r\n \r\n {summary.Initial_Ten_Sample_Date}\r\n \r\n
\r\n )} */}\r\n {summary.Follow_First_Draw && (\r\n \r\n Follow-up First Draw:{\" \"}\r\n =\r\n actionLevel\r\n ? 700\r\n : 500,\r\n color:\r\n summary.Follow_Raw_First_Draw &&\r\n summary.Follow_Raw_First_Draw >=\r\n actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Follow_Raw_First_Draw &&\r\n summary.Follow_Raw_First_Draw >=\r\n actionLevel\r\n ? summary.Follow_First_Draw +\r\n \"*\"\r\n : summary.Follow_First_Draw}\r\n \r\n
\r\n Collected: \r\n \r\n {summary.Follow_First_Sample_Date}\r\n \r\n
\r\n Analyzed: \r\n \r\n {\r\n summary.Follow_First_Analysis_Date\r\n }\r\n \r\n
\r\n )}\r\n {summary.Follow_Flush && (\r\n \r\n Follow-up Flush:{\" \"}\r\n =\r\n actionLevel\r\n ? 700\r\n : 500,\r\n color:\r\n summary.Follow_Raw_Flush &&\r\n summary.Follow_Raw_Flush >=\r\n actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Follow_Raw_Flush &&\r\n summary.Follow_Raw_Flush >=\r\n actionLevel\r\n ? summary.Follow_Flush + \"*\"\r\n : summary.Follow_Flush}\r\n \r\n
\r\n Collected: \r\n \r\n {summary.Follow_Flush_Sample_Date}\r\n \r\n
\r\n Analyzed: \r\n \r\n {\r\n summary.Follow_Flush_Analysis_Date\r\n }\r\n \r\n
\r\n )}\r\n {/* {summary.Follow_Ten && (\r\n \r\n Follow-up 10-minute Flush:{\" \"}\r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Follow_Ten}\r\n
\r\n \r\n {summary.Follow_Ten_Sample_Date}\r\n \r\n
\r\n )} */}\r\n {summary.Remediation_Details && (\r\n \r\n Action Taken:{\" \"}\r\n \r\n {summary.Remediation_Details}\r\n \r\n \r\n )}\r\n {summary.Remediation_Date && (\r\n \r\n Date Action Taken:{\" \"}\r\n \r\n {summary.Remediation_Date}\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 {/* End Tap Summaries */}\r\n {this.state.resultsSummary.length > 0 &&\r\n this.state.results.length > 0 &&\r\n !this.state.schoolLoading &&\r\n this.state.school_data.length > 0 &&\r\n this.state.school_data[0].School_Name &&\r\n this.state.View === \"Tap Summary Table\" && (\r\n \r\n \r\n Summary of Lead in Drinking Water Results and\r\n Remediation Actions for{\" \"}\r\n {this.state.school_data[0].Active_Facility === true ? this.state.school_data[0].School_Name : this.state.school_data[0].School_Name.concat(\" (Inactive)\")},{\" \"}\r\n {this.state.school_data[0].Town}\r\n {\" \"}\r\n {\r\n if (!this.state.Broken_Only) {\r\n return true;\r\n } else {\r\n if (summary.Need_Fix === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }).map(result => {\r\n let rObj = {};\r\n rObj[\"School or Childcare Name\"] =\r\n result.School_Name;\r\n rObj[\"Town\"] = result.Town_For_Sample;\r\n rObj[\"First Draw Initial Lab ID\"] =\r\n result.Initial_First_Lab_ID;\r\n rObj[\"Tap\"] = result.Tap;\r\n rObj[\"First Draw\"] = result.First_Draw;\r\n rObj[\"Flush\"] = result.Flush;\r\n rObj[\"Date Sampled\"] = result.Sample_Date;\r\n rObj[\"Date Analyzed\"] = result.Analysis_Date;\r\n rObj[\"Permanent Action Taken\"] =\r\n result.Permanent_Remediation_Details;\r\n rObj[\"Permanent Action Date\"] =\r\n result.Permanent_Remediation_Date;\r\n rObj[\"Immediate Action Taken\"] =\r\n result.Immediate_Remediation_Details;\r\n rObj[\"Immediate Action Date\"] =\r\n result.Immediate_Remediation_Date;\r\n rObj[\"Planned Action\"] =\r\n result.Planned_Remediation_Details;\r\n return rObj;\r\n })}\r\n filename={`${this.state.resultsSummary[0].School_Name} ${this.state.resultsSummary[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Results Summary.csv`}\r\n target=\"_blank\"\r\n >\r\n
{\" \"}\r\n \r\n
\r\n }\r\n filename={`${this.state.resultsSummary[0].School_Name} ${this.state.resultsSummary[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Results Summary`}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n this.onSortSummary(\"Tap\")}\r\n >\r\n Tap{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Tap_Sort,\r\n \"Tap\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n {/* \r\n \r\n */}\r\n {/* \r\n \r\n \r\n */}\r\n \r\n this.onSortSummary(\"First Draw\")\r\n }\r\n >\r\n First Draw{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_First_Sort,\r\n \"First Draw\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n this.onSortSummary(\"Flush Sample\")\r\n }\r\n >\r\n Flush{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Flush_Sort,\r\n \"Flush Sample\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n this.onSortSummary(\"Date Sampled\")\r\n }\r\n >\r\n Date Sampled{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Date_Sampled_Sort,\r\n \"Date Sampled\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n this.onSortSummary(\"Date Analyzed\")\r\n }\r\n >\r\n Date Analyzed{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Date_Analyzed_Sort,\r\n \"Date Analyzed\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n this.onSortSummary(\"Action Taken\")\r\n }\r\n >\r\n Action Taken{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Action_Taken_Sort,\r\n \"Action Taken\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n this.onSortSummary(\"Date Action Taken\")\r\n }\r\n >\r\n Date Action Taken{\" \"}\r\n {this.renderSort(\r\n this.state.Summary_Date_Action_Taken_Sort,\r\n \"Date Action Taken\",\r\n this.state.Summary_Sort\r\n )}\r\n \r\n \r\n \r\n \r\n {this.state.resultsSummary.filter(summary => {\r\n if (!this.state.Broken_Only) {\r\n return true;\r\n } else {\r\n if (summary.Need_Fix === 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }).map(\r\n summary =>\r\n summary.Tap && (\r\n \r\n \r\n {/* \r\n \r\n */}\r\n =\r\n actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n summary.Raw_First_Draw &&\r\n summary.Raw_First_Draw >=\r\n actionLevel\r\n ? 700\r\n : 500,\r\n whiteSpace: \"nowrap\"\r\n }}\r\n >\r\n {summary.Raw_First_Draw &&\r\n summary.Raw_First_Draw >= actionLevel\r\n ? summary.First_Draw + \"*\"\r\n : summary.First_Draw}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n summary.Raw_Flush &&\r\n summary.Raw_Flush >= actionLevel\r\n ? 700\r\n : 500,\r\n whiteSpace: \"nowrap\"\r\n }}\r\n >\r\n {summary.Raw_Flush &&\r\n summary.Raw_Flush >= actionLevel\r\n ? summary.Flush + \"*\"\r\n : summary.Flush}\r\n \r\n \r\n \r\n {/* = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Initial_First_Draw}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Initial_Flush}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Follow_First_Draw}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {summary.Follow_Flush}\r\n */}\r\n \r\n \r\n \r\n /* {summary.Remediation_Details && (\r\n \r\n \r\n )} */\r\n )\r\n )}\r\n \r\n
BuildingLocationFixtureInitial First DrawInitial FlushFollow-up First DrawFollow-up Flush
{summary.Tap}{summary.Building}{summary.Fixture_Location}{summary.Fixture_Type}{summary.Sample_Date}{summary.Analysis_Date}{summary.Remediation_Details}{summary.Remediation_Date}
\r\n Action Taken: {summary.Remediation_Details}\r\n \r\n
\r\n
\r\n \r\n )}\r\n {this.state.results.length > 0 &&\r\n this.state.school_data.length > 0 &&\r\n this.state.school_data[0].School_Name &&\r\n this.state.View === \"All Results\" &&\r\n !this.state.schoolLoading && (\r\n \r\n \r\n \r\n All Lead in Drinking Water Results for{\" \"}\r\n {this.state.school_data[0].Active_Facility === true ? this.state.school_data[0].School_Name : this.state.school_data[0].School_Name.concat(\" (Inactive)\")},{\" \"}\r\n {this.state.school_data[0].Town}\r\n \r\n {` `}\r\n {\r\n let rObj = {};\r\n rObj[\"School or Childcare Name\"] =\r\n result.School_Name;\r\n rObj[\"Town\"] = result.Town_For_Sample;\r\n rObj[\"Lab ID\"] = result.Lab_ID;\r\n rObj[\"Collection Date\"] = result.Sample_Date;\r\n rObj[\"Analysis Date\"] = result.Analysis_Date;\r\n rObj[\"Collection Type\"] =\r\n result.Sample_Collection_Type;\r\n rObj[\"Tap\"] = result.Tap;\r\n rObj[\"Result\"] = result.Result;\r\n rObj[\"Initial_Lab_ID\"] = result.Initial_Lab_ID;\r\n rObj[\"First_Draw_Lab_ID\"] =\r\n result.First_Draw_Lab_ID;\r\n rObj[\"Initial First Draw Sampling Year\"] =\r\n result.Initial_Sampling_Year;\r\n return rObj;\r\n })}\r\n filename={\r\n `${this.state.results[0].School_Name} ${this.state.results[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Sample Results.csv`\r\n }\r\n target=\"_blank\"\r\n >\r\n\r\n {' '}\r\n \r\n \r\n }\r\n filename={`${this.state.results[0].School_Name} ${this.state.results[0].Town_For_Sample} ${this.state.round === 0 ? \"All\" : this.state.round + \" Sampling\"} Lead Sample Results`}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n this.onSort(\"Lab_ID\")}\r\n >\r\n Lab ID{\" \"}\r\n {this.renderSort(\r\n this.state.Lab_ID_Sort,\r\n \"Lab_ID\",\r\n this.state.Sort\r\n )}\r\n \r\n \r\n this.onSort(\"Collection_Date\")\r\n }\r\n >\r\n Date Sampled{\" \"}\r\n {this.renderSort(\r\n this.state.Collection_Date_Sort,\r\n \"Collection_Date\",\r\n this.state.Sort\r\n )}\r\n \r\n this.onSort(\"Analysis_Date\")}\r\n >\r\n Date Analyzed{\" \"}\r\n {this.renderSort(\r\n this.state.Analysis_Date_Sort,\r\n \"Analysis_Date\",\r\n this.state.Sort\r\n )}\r\n \r\n \r\n this.onSort(\"Collection_Type\")\r\n }\r\n >\r\n Collection Type{\" \"}\r\n {this.renderSort(\r\n this.state.Collection_Type_Sort,\r\n \"Collection_Type\",\r\n this.state.Sort\r\n )}\r\n \r\n this.onSort(\"Tap\")}\r\n >\r\n Tap{\" \"}\r\n {this.renderSort(\r\n this.state.Tap_Sort,\r\n \"Tap\",\r\n this.state.Sort\r\n )}\r\n \r\n {/* \r\n \r\n */}\r\n this.onSort(\"Result\")}\r\n >\r\n Result{\" \"}\r\n {this.renderSort(\r\n this.state.Result_Sort,\r\n \"Result\",\r\n this.state.Sort\r\n )}\r\n \r\n \r\n \r\n \r\n {this.state.results.map(\r\n result =>\r\n result.Lab_ID && (\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500\r\n }}\r\n >\r\n {/* console.log()}\r\n > */}\r\n {result.Lab_ID}\r\n {/* */}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500\r\n }}\r\n >\r\n {result.Sample_Date}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500\r\n }}\r\n >\r\n {result.Analysis_Date}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500\r\n }}\r\n >\r\n {result.Sample_Collection_Type}\r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500\r\n }}\r\n >\r\n {result.Tap}\r\n \r\n {/* \r\n \r\n */}\r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\",\r\n fontWeight:\r\n result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? 700\r\n : 500,\r\n whiteSpace: \"nowrap\"\r\n }}\r\n >\r\n {result.Raw_Result &&\r\n result.Raw_Result >= actionLevel\r\n ? result.Result + \"*\"\r\n : result.Result}\r\n \r\n \r\n )\r\n )}\r\n \r\n
BuildingLocationFixture
{result.Building}{result.Fixture_Location}{result.Fixture_Type}
\r\n
\r\n
\r\n )}\r\n {/* {this.state.results && this.state.remediation.length > 0 && (\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n All Remediation Actions for{\" \"}\r\n {this.state.results[0].School_Name},{\" \"}\r\n {this.state.results[0].Town_For_Sample}\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.state.remediation.map(\r\n action =>\r\n action.Tap && (\r\n \r\n \r\n \r\n \r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {result.Result}\r\n \r\n \r\n )\r\n )}\r\n \r\n
TapAction TakenDate Action Taken
\r\n {action.Tap}\r\n {result.Sample_Date}\r\n {result.Sample_Collection_Type}\r\n {result.Tap}
\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\nexport default School;\r\n","import React, { Component } from 'react';\r\nimport Loader from 'react-loader-spinner'\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\"\r\n\r\n\r\nexport class LoadingSpinner extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showSpinner: false,\r\n };\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.timer = setTimeout(\r\n () => this.setState({ showSpinner: true }),\r\n this.props.delay\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.showSpinner && \r\n );\r\n }\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Alert, Button, Col, Container, Form, FormGroup, Input, Label, Modal, ModalHeader, ModalBody, ModalFooter, Row, Table } from 'reactstrap';\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { LoadingSpinner } from './LoadingSpinner.js';\r\n\r\nexport function EditSchoolModal(props) {\r\n const [loading, setLoading] = useState(false);\r\n const [schoolName, setSchoolName] = useState(\"\");\r\n const [formerName, setFormerName] = useState(\"\");\r\n const [town, setTown] = useState(\"\");\r\n const [AOEID, setAOEID] = useState(\"\");\r\n const [active, setActive] = useState(true);\r\n const [error, setError] = useState(\"\");\r\n const [showErrorAlert, setShowErrorAlert] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.school.School_ID) {\r\n console.log('school changed: ', props.school.School_ID);\r\n loadSchool();\r\n }\r\n }, [props.school.School_ID]);\r\n\r\n\r\n const toggleErrorAlert = () => {\r\n setShowErrorAlert(!showErrorAlert);\r\n setError(\"\");\r\n }\r\n\r\n const handleCancel = (event) => {\r\n event.preventDefault();\r\n setError(\"\");\r\n setShowErrorAlert(false);\r\n setSchoolName(\"\");\r\n setFormerName(\"\");\r\n setTown(\"\");\r\n setAOEID(\"\");\r\n setActive(1);\r\n props.cancel();\r\n }\r\n\r\n\r\n const handleSave = (event) => {\r\n event.preventDefault();\r\n saveSchool();\r\n }\r\n\r\n const loadSchool = () => {\r\n setSchoolName(props.school.School_Name);\r\n setFormerName(props.school.Former_Name);\r\n setTown(props.school.Town);\r\n setAOEID(props.school.AOE_ID);\r\n setActive(props.school.Active_Facility);\r\n }\r\n\r\n\r\n const saveSchool = () => {\r\n let url, useCredentials;\r\n\r\n let env = props.env;\r\n let suffix;\r\n\r\n if (env === 'prod') {\r\n suffix = 'schoolnamechange';\r\n }\r\n if (env === 'test') {\r\n suffix = 'schoolnamechangetest';\r\n }\r\n\r\n url = `${base_URL}/api/internal/${suffix}`;\r\n useCredentials = 'include';\r\n\r\n setLoading(true);\r\n\r\n console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n ID: parseInt(props.school.School_ID),\r\n School_Name: schoolName,\r\n Town: town,\r\n Former_Name: formerName,\r\n AOE_ID: AOEID,\r\n apiKey: apiKey,\r\n Active_Facility: active\r\n })\r\n }).then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response.text();\r\n }).then(text => {\r\n console.log('text ', text);\r\n if (text === \"\\\"Success\\\"\") {\r\n setLoading(false);\r\n props.cancel()\r\n } else {\r\n throw Error(text);\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n if (!error.message) {\r\n error.message = \"Error saving school\";\r\n }\r\n setError(error.message);\r\n setShowErrorAlert(true);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n\r\n return (\r\n \r\n
\r\n {props.env === 'test' ? `TEST ` : ``}{`Edit ${props.school.Type}`}\r\n \r\n {loading && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {props.school.School_ID && (\r\n <>\r\n \r\n \r\n \r\n \r\n setSchoolName(e.target.value)}\r\n placeholder=\"School Name\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setFormerName(e.target.value)}\r\n placeholder=\"Former Name\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setTown(e.target.value)}\r\n placeholder=\"Town\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAOEID(e.target.value)}\r\n placeholder=\"AOE ID\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setActive(e.target.value)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {error !== \"\" && (\r\n \r\n \r\n \r\n {error}\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","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { css } from \"@emotion/core\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport MaterialTable from \"material-table\";\r\nimport { Button, Form, Input, Alert, Label, Table } from \"reactstrap\";\r\nimport { EditSchoolModal } from \"./EditSchoolModal.js\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass SchoolEditor extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleSchoolModal = this.toggleSchoolModal.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.fetchSchoolList = this.fetchSchoolList.bind(this);\r\n\r\n this.state = {\r\n isAuthenticated: false,\r\n schools: [],\r\n school: {},\r\n schoolModal: false,\r\n loading: true,\r\n env: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const env = this.props.match.params.env;\r\n this.setState({ env: env });\r\n this.fetchSchoolList(env);\r\n }\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n const env = this.props.match.params.env;\r\n console.log(this.state.env, env);\r\n if (this.state.env !== env) {\r\n this.setState({ env: env });\r\n this.fetchSchoolList(env);\r\n }\r\n }\r\n\r\n toggleSchoolModal() {\r\n this.setState({\r\n schoolModal: !this.state.schoolModal,\r\n school: {}\r\n });\r\n const env = this.props.match.params.env;\r\n this.fetchSchoolList(env);\r\n }\r\n\r\n\r\n handleSelect(School) {\r\n this.setState({\r\n schoolModal: !this.state.schoolModal,\r\n school: School\r\n })\r\n }\r\n\r\n\r\n fetchSchoolList() {\r\n let url, useCredentials;\r\n\r\n let env = this.props.match.params.env;\r\n let suffix;\r\n\r\n if (env === 'prod') {\r\n suffix = 'schooleditor';\r\n }\r\n if (env === 'test') {\r\n suffix = 'schooleditortest';\r\n }\r\n\r\n url = `${base_URL}/api/internal/${suffix}`;\r\n useCredentials = 'include';\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log(json);\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No Schools Found\",\r\n showMessageAlert: true\r\n });\r\n }\r\n this.setState({ schools: json, loading: false });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true, loading: false });\r\n });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n
\r\n

{this.state.env === 'test' ? 'TEST ' : ''}School and Child Care Name Management

\r\n\r\n
\r\n \r\n \r\n \r\n {this.state.error !== \"\" && (\r\n \r\n \r\n {this.state.error}\r\n \r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n
\r\n {this.state.schools && this.state.schools.length > 0 && (\r\n
\r\n \r\n this.handleSelect(rowData)\r\n }\r\n >\r\n {rowData.Active_Facility === true ? rowData.Display_Name : rowData.Display_Name.concat(\" (Inactive)\")}\r\n \r\n },\r\n { title: \"Town\", field: \"Town\" },\r\n { title: \"Type\", field: \"Type\" },\r\n { title: \"AOE ID\", field: \"AOE_ID\" }\r\n ]}\r\n data={this.state.schools}\r\n title=\"Schools and Child Cares\"\r\n options={\r\n this.state.schools.length < 10 ?\r\n {\r\n paging: false,\r\n search: false\r\n } :\r\n {\r\n pageSize: 5,\r\n pageSizeOptions: this.state.schools.length < 25 ? [10, this.state.schools.length] : this.state.schools.length < 25 ? [5, 10, this.state.schools.length] : [5, 10, 25, this.state.schools.length]\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\nexport default SchoolEditor;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Table } from \"reactstrap\";\r\nimport { Button, Input, Alert } from \"reactstrap\";\r\nimport Papa from \"papaparse\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey, actionLevel } from \"../config/index.js\";\r\n\r\nclass Upload extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handlePreview = this.handlePreview.bind(this);\r\n this.handleUpload = this.handleUpload.bind(this);\r\n this.handleSelectedFile = this.handleSelectedFile.bind(this);\r\n this.updateData = this.updateData.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.renderStatus = this.renderStatus.bind(this);\r\n\r\n this.state = {\r\n selectedFile: null,\r\n error: \"\",\r\n message: \"\",\r\n results: {},\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n }\r\n\r\n handleSelectedFile(event) {\r\n event.preventDefault();\r\n let file = event.target.files[0];\r\n // console.log(file);\r\n this.setState({\r\n selectedFile: file\r\n });\r\n }\r\n\r\n handlePreview = e => {\r\n e.preventDefault();\r\n if (this.state.selectedFile == null) {\r\n this.setState({ message: \"No File Selected\", showMessageAlert: true });\r\n return;\r\n }\r\n Papa.parse(this.state.selectedFile, {\r\n complete: this.updateData,\r\n header: true\r\n });\r\n };\r\n\r\n async handleUpload(e) {\r\n e.preventDefault();\r\n\r\n if (this.state.results.length === undefined) {\r\n this.setState({\r\n message: \"Preview results first\",\r\n showMessageAlert: true\r\n });\r\n return;\r\n }\r\n this.setState({ message: \"\", showMessageAlert: false });\r\n\r\n let url;\r\n\r\n // Use credentials if test\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/uploadtest`;\r\n } else {\r\n url = `${base_URL}/api/internal/upload`;\r\n }\r\n\r\n // console.log(url);\r\n\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results.forEach(result => {\r\n result.status = \"ready\";\r\n result.response = \"\";\r\n });\r\n return {\r\n results\r\n };\r\n });\r\n\r\n let results = this.state.results;\r\n let index;\r\n\r\n for (index = 0; index < results.length; index++) {\r\n let result = results[index];\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"sending\";\r\n return {\r\n results\r\n };\r\n });\r\n\r\n await fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n result,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json !== \"Success\") {\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"error\";\r\n results[index].response = json;\r\n return {\r\n results\r\n };\r\n });\r\n return;\r\n } else {\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"success\";\r\n results[index].response = json;\r\n return {\r\n results\r\n };\r\n });\r\n return;\r\n }\r\n })\r\n .catch(error => {\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n }\r\n\r\n handleSimulate = e => {\r\n e.preventDefault();\r\n if (this.state.results.length === undefined) {\r\n this.setState({\r\n message: \"Preview results first\",\r\n showMessageAlert: true\r\n });\r\n return;\r\n }\r\n this.setState({ message: \"\", showMessageAlert: false });\r\n\r\n let url;\r\n\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n url = `${base_URL}/api/internal/simulateuploadtest`;\r\n } else {\r\n url = `${base_URL}/api/internal/simulateupload`;\r\n }\r\n\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results.forEach(result => {\r\n result.status = \"ready\";\r\n result.response = \"\";\r\n });\r\n return {\r\n results\r\n };\r\n });\r\n\r\n let results = this.state.results;\r\n //results = results.slice(0, 1);\r\n results.map((result, index) => {\r\n // console.log(result);\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"sending\";\r\n return {\r\n results\r\n };\r\n });\r\n\r\n (async () => {\r\n await fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n result,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json !== \"Success\") {\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"error\";\r\n results[index].response = json;\r\n return {\r\n results\r\n };\r\n });\r\n return;\r\n } else {\r\n this.setState(prevState => {\r\n const results = prevState.results;\r\n results[index].status = \"success\";\r\n results[index].response = json;\r\n return {\r\n results\r\n };\r\n });\r\n return;\r\n }\r\n })\r\n .catch(error => {\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n })();\r\n // console.log(Date.now());\r\n });\r\n };\r\n\r\n updateData(results) {\r\n // console.log(results.data);\r\n results.data = results.data.filter(\r\n result => result.Lab_ID && result.Lab_ID !== \"\"\r\n );\r\n // console.log(results.data);\r\n\r\n results.data.forEach((result, i) => {\r\n result.ID = i + 1;\r\n result.status = \"\";\r\n result.response = \"\";\r\n if (result.Kit_Type === \"KIT DC - Lead\" && result.Provider_Name) {\r\n result.School_Name = result.Provider_Name;\r\n }\r\n });\r\n\r\n const grouped = [\r\n ...results.data\r\n .reduce((r, o) => {\r\n const key = o.Lab_ID;\r\n const item =\r\n r.get(key) ||\r\n Object.assign({}, o, {\r\n Contact_Name: o.Contact_Name,\r\n Contact_Email: o.Contact_Email,\r\n rows: 0\r\n });\r\n\r\n if (\r\n item.rows > 0 &&\r\n item.Contact_Email &&\r\n item.Contact_Email !== \"\"\r\n ) {\r\n item.Contact_Name = item.Contact_Name + \", \" + o.Contact_Name;\r\n item.Contact_Email = item.Contact_Email + \", \" + o.Contact_Email;\r\n }\r\n\r\n item.rows += 1;\r\n\r\n return r.set(key, item);\r\n }, new Map())\r\n .values()\r\n ]\r\n\r\n // .sort((a, b) => {\r\n // const sampleA = a.Sample_Type.toLowerCase();\r\n // const sampleB = b.Sample_Type.toLowerCase();\r\n // const typeA = a.Collection_Type.toLowerCase();\r\n // const typeB = b.Collection_Type.toLowerCase();\r\n\r\n // if (sampleA === 'initial' && sampleB !== 'initial') {\r\n // return -1;\r\n // } else if (sampleB === 'initial' && sampleA !== 'initial') {\r\n // return 1;\r\n // } else if (typeA === 'first draw' && typeB !== 'first draw') {\r\n // return -1;\r\n // } else if (typeB === 'first draw' && typeA !== 'first draw') {\r\n // return 1;\r\n // } else {\r\n // return 0;\r\n // }\r\n // })\r\n\r\n\r\n this.setState({\r\n results: grouped\r\n });\r\n if (this.state.results.length === 0) {\r\n this.setState({\r\n message: \"No valid results found in file\",\r\n showMessageAlert: true\r\n });\r\n return;\r\n }\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n renderStatus(status) {\r\n switch (status) {\r\n case \"ready\":\r\n return (\r\n \r\n );\r\n case \"sending\":\r\n return (\r\n \r\n );\r\n case \"success\":\r\n return (\r\n \r\n );\r\n case \"error\":\r\n return (\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n

\r\n {this.props.location.pathname.search(\"test\") !== -1\r\n ? \"Test File Upload\"\r\n : \"File Upload\"}\r\n

\r\n
\r\n {\r\n this.filesInput = input;\r\n }}\r\n onChange={this.handleSelectedFile}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Preview\r\n \r\n  \r\n \r\n Simulate\r\n \r\n  \r\n \r\n Upload\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n \r\n {/* Error Table */}\r\n {this.state.results.length > 0 &&\r\n this.state.results.filter(result => result.status === \"error\")\r\n .length > 0 && (\r\n \r\n \r\n \r\n
Upload Errors
\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 \r\n \r\n {this.state.results\r\n .filter(result => result.status === \"error\")\r\n .map(\r\n (result, index) =>\r\n result.Lab_ID &&\r\n result.Lab_ID !== \"\" && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {result.Result != \"NULL\"\r\n ? result.Result + \" \" + result.Units\r\n : \"<0.001 mg/L\"}\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
StatusLab IDTap IDReport TypeProviderCollection DateSample TypeLocationFixtureResultContact EmailResponse
\r\n {this.renderStatus(result.status)}\r\n \r\n console.log()}\r\n >\r\n {result.Lab_ID}\r\n \r\n {result.Tap_ID}{result.Report_Status}{result.School_Name}{result.Sample_Date}{result.Sample_Type.concat(', ', result.Collection_Type)}{result.Fixture_Location}{result.Fixture_Type}{result.Contact_Email}{result.response}
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.results.length > 0 && (\r\n \r\n \r\n \r\n
All Samples
\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 \r\n \r\n {this.state.results.map(\r\n (result, index) =>\r\n result.Lab_ID &&\r\n result.Lab_ID !== \"\" && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n = actionLevel\r\n ? \"#c64a37\"\r\n : \"#212528\"\r\n }}\r\n >\r\n {result.Result != \"NULL\"\r\n ? result.Result + \" \" + result.Units\r\n : \"<0.001 mg/L\"}\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
StatusLab IDTap IDReport TypeProviderCollection DateSample TypeLocationFixtureResultContact EmailResponse
\r\n {this.renderStatus(result.status)}\r\n \r\n console.log()}\r\n >\r\n {result.Lab_ID}\r\n \r\n {result.Tap_ID}{result.Report_Status}{result.School_Name}{result.Sample_Date}{result.Sample_Type.concat(', ', result.Collection_Type)}{result.Fixture_Location}{result.Fixture_Type}{result.Contact_Email}{result.response}
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Upload;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\n\r\nclass Faq extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

General FAQs

\r\n
\r\n \r\n FAQs: Testing for Lead in School and Child Care Drinking Water\r\n \r\n
\r\n
\r\n

FAQs for the Lead Results Website

\r\n
\r\n
\r\n 1. Why are no results available for my school or child care?\r\n
\r\n
\r\n If you do not see results for a school or child care program, that\r\n means they have not yet collected samples or received their\r\n results. A list of child cares that have been scheduled for\r\n testing can be found{\" \"}\r\n \r\n here\r\n \r\n . A list of schools that have been scheduled for testing can be\r\n found{\" \"}\r\n \r\n here\r\n \r\n .\r\n
\r\n
\r\n
\r\n 2. If a school or child care program closes, can I still see results?\r\n
\r\n
\r\n Yes, if a school or child care program is no longer in operations, its results can still be found.
\r\n For information on which child cares and schools are currently in operation, visit the{\" \"}\r\n \r\n Bright Futures Child Care Information System\r\n {\" \"}or a{\" \"}\r\n \r\n directory of Vermont schools\r\n \r\n .\r\n
\r\n
\r\n
3. Why are there two “dates analyzed” listed for some taps?
\r\n
\r\n If two dates are listed, it means the first draw and flush samples\r\n for a given tap were not analyzed by the lab on the same day. The\r\n first date is when the first draw sample was analyzed, and the\r\n second date is when the flush sample was analyzed.\r\n
\r\n
\r\n
\r\n 4. Why was there a delay between “date sampled” and “date\r\n analyzed”?\r\n
\r\n
\r\n “Date sampled” is when the water samples were collected by the\r\n school or child care provider. “Date analyzed” is when the lab\r\n tested the sample and recorded the result. Water samples are\r\n analyzed by the lab in the order they are received. The time\r\n between when samples are received and when results are sent to\r\n schools and child cares can vary, but is typically between two to\r\n six weeks. The time between sample collection and sample analysis\r\n does not impact the result.\r\n
\r\n
\r\n
\r\n 5. Why was there a delay between “date analyzed” and “date action\r\n taken”?\r\n
\r\n
\r\n “Date analyzed” is when the lab tested the sample and got a\r\n result. “Date action taken” is when the school or child care\r\n provider completed a remediation action. After the samples were\r\n analyzed, the lab prepares a report and sends it to the school or\r\n child care provider. The time between when samples are received\r\n and when results are sent to schools and child cares can vary, but\r\n is typically between two to six weeks. The school or child care\r\n provider then determines the best remediation action and takes\r\n that action, before the remediation action can be reported.\r\n
\r\n
\r\n
6. Why do some taps have no flush sample?
\r\n
\r\n Combination fixtures, which have multiple taps (e.g. sink with a\r\n faucet and a drinking fountain, or a bottle fill station and\r\n drinking fountain), only require one flush sample. Therefore, only\r\n one tap associated with that fixture will have a flush sample\r\n result.\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Faq;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Navbar,\r\n NavbarToggler,\r\n Collapse,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem\r\n} from \"reactstrap\";\r\nimport { basename } from \"../config/buildSettings.js\";\r\n\r\nclass PublicHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.handleNavigateSearch = this.handleNavigateSearch.bind(this);\r\n this.handleNavigateLogin = this.handleNavigateLogin.bind(this);\r\n this.handleNavigateFaq = this.handleNavigateFaq.bind(this);\r\n this.handleNavigateTutorial = this.handleNavigateTutorial.bind(this);\r\n this.handleNavigatePublicKPI = this.handleNavigatePublicKPI.bind(this);\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n\r\n toggle() {\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n }\r\n\r\n handleNavigateSearch(e) {\r\n e.preventDefault();\r\n localStorage.removeItem(\"search\");\r\n this.props.history.push({ pathname: \"/\" });\r\n }\r\n\r\n handleNavigateLogin(e) {\r\n e.preventDefault();\r\n this.props.history.push({ pathname: \"/login\" });\r\n }\r\n\r\n handleNavigateTutorial(e) {\r\n e.preventDefault();\r\n this.props.history.push({ pathname: \"/tutorial\" });\r\n }\r\n\r\n handleNavigateFaq(e) {\r\n e.preventDefault();\r\n this.props.history.push({ pathname: \"/faq\" });\r\n }\r\n\r\n\r\n handleNavigatePublicKPI() {\r\n this.props.history.push({ pathname: \"/summary\" });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n VERMONT OFFICIAL STATE WEBSITE\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
STATE OF VERMONT
\r\n \r\n Lead in School and Child Care Drinking Water Results\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
\r\n );\r\n }\r\n}\r\n\r\nexport default PublicHeader;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Navbar,\r\n NavbarToggler,\r\n Collapse,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem\r\n} from \"reactstrap\";\r\nimport { basename } from \"../config/buildSettings.js\";\r\n\r\nclass InternalHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.handleNavigateSearch = this.handleNavigateSearch.bind(this);\r\n this.handleNavigateInternalSearch = this.handleNavigateInternalSearch.bind(\r\n this\r\n );\r\n this.handleNavigateUpload = this.handleNavigateUpload.bind(this);\r\n this.handleNavigateTestSearch = this.handleNavigateTestSearch.bind(this);\r\n this.handleNavigateTestUpload = this.handleNavigateTestUpload.bind(this);\r\n this.handleNavigateRegister = this.handleNavigateRegister.bind(this);\r\n this.handleNavigateReports = this.handleNavigateReports.bind(this);\r\n this.handleNavigatePublicKPI = this.handleNavigatePublicKPI.bind(this);\r\n this.handleNavigateInternalKPI = this.handleNavigateInternalKPI.bind(this);\r\n this.handleNavigateDateRangeKPI = this.handleNavigateDateRangeKPI.bind(this);\r\n \r\n this.handleNavigateExport = this.handleNavigateExport.bind(this);\r\n\r\n\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n\r\n toggle() {\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n }\r\n\r\n handleNavigateSearch(e) {\r\n localStorage.removeItem(\"search\");\r\n this.props.history.push({ pathname: \"/\" });\r\n }\r\n\r\n handleNavigateInternalSearch(e) {\r\n this.props.history.push({ pathname: \"/internalsearch\" });\r\n }\r\n\r\n handleNavigateUpload(e) {\r\n this.props.history.push({ pathname: \"/upload\" });\r\n }\r\n \r\n handleNavigateExport(e) {\r\n e.preventDefault();\r\n this.props.history.push({ pathname: \"/export\" });\r\n }\r\n\r\n\r\n handleNavigateTestSearch(e) {\r\n this.props.history.push({ pathname: \"/test\" });\r\n }\r\n\r\n handleNavigateTestUpload(e) {\r\n this.props.history.push({ pathname: \"/testupload\" });\r\n }\r\n\r\n\r\n handleNavigateRegister(e) {\r\n this.props.history.push({ pathname: \"/register\" });\r\n }\r\n\r\n handleNavigateANROnlineUsers(e) {\r\n this.props.history.push({ pathname: \"/anronlineusers\" });\r\n }\r\n\r\n handleNavigateResultsAdmin(e) {\r\n this.props.history.push({ pathname: \"/adminresults\" });\r\n }\r\n\r\n handleNavigateTestResultsAdmin(e) {\r\n this.props.history.push({ pathname: \"/testadminresults\" });\r\n }\r\n handleNavigateSchoolName(e) {\r\n this.props.history.push({ pathname: \"/schooleditor/prod\" });\r\n }\r\n\r\n handleNavigateTestSchoolName(e) {\r\n this.props.history.push({ pathname: \"/schooleditor/test\" });\r\n }\r\n\r\n handleNavigateReports(Report_ID) {\r\n this.props.history.push({ pathname: \"/reports/\" + Report_ID });\r\n }\r\n\r\n handleNavigatePublicKPI() {\r\n this.props.history.push({ pathname: \"/internalsummary\" });\r\n }\r\n\r\n handleNavigateInternalKPI() {\r\n this.props.history.push({ pathname: \"/kpi\" });\r\n }\r\n handleNavigateDateRangeKPI() {\r\n this.props.history.push({ pathname: \"/daterangekpi\" });\r\n }\r\n\r\n onLogout(e) {\r\n this.props.handleLogout();\r\n }\r\n\r\n renderTitle() {\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n return \"Lead in School and Child Care Drinking Water Results TEST\";\r\n } else if (this.props.location.pathname.search(\"internal\") !== -1) {\r\n return \"Lead in School and Child Care Drinking Water Results INTERNAL\";\r\n } else {\r\n return \"Lead in School and Child Care Drinking Water Results\";\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n VERMONT OFFICIAL STATE WEBSITE\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
STATE OF VERMONT
\r\n \r\n {this.renderTitle()}\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
\r\n );\r\n }\r\n}\r\n\r\nexport default InternalHeader;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nclass Footer extends Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Copyright © {year}\r\n \r\n {` `}\r\n \r\n State of Vermont. All rights reserved.{\" \"}\r\n \r\n {` `}\r\n \r\n \r\n {` `}\r\n \r\n Accessibility Policy\r\n \r\n {` `}\r\n +\r\n {` `}\r\n \r\n Privacy Policy\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\nexport default Footer;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { Button, Form, Input, Alert, Label } from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { CircleLoader } from \"react-spinners\";\r\n\r\nclass Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleLogin = this.handleLogin.bind(this);\r\n\r\n this.state = {\r\n username: \"\",\r\n password: \"\",\r\n error: \"\",\r\n message: \"\",\r\n loading: false,\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleLogin = this.handleLogin.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n handleLogin(event) {\r\n event.preventDefault();\r\n\r\n let url = `${base_URL}/Token`;\r\n\r\n this.setState({ loading: true });\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body:\r\n \"grant_type=password&username=\" +\r\n this.state.username +\r\n \"&password=\" +\r\n this.state.password\r\n })\r\n .then(response => {\r\n this.setState({ loading: false });\r\n if (!response.ok) {\r\n throw Error(\"Invalid Login\");\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n // console.log(json);\r\n this.props.onLogin();\r\n })\r\n .catch(error => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

State of Vermont Staff Login

\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 {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Login;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\n\r\nclass Tutorial extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Tutorial Video

\r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Tutorial;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport {\r\n Alert,\r\n} from \"reactstrap\";\r\nimport ReactTable from \"react-table\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\nimport {\r\n LineChart,\r\n Line,\r\n BarChart,\r\n Bar,\r\n CartesianGrid,\r\n XAxis,\r\n YAxis,\r\n Tooltip,\r\n Legend\r\n} from \"recharts\";\r\nimport { extent as d3Extent } from \"d3-array\";\r\nimport { scaleTime as d3ScaleTime } from \"d3-scale\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass Reports extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.fetchData = this.fetchData.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.renderTownChart = this.renderTownChart.bind(this);\r\n this.renderTimeChart = this.renderTimeChart.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n report: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false,\r\n loading: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.match.params.report !== this.props.match.params.report) {\r\n this.setState({\r\n data: {},\r\n report: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false\r\n });\r\n this.fetchData();\r\n }\r\n }\r\n\r\n handleSelect(School_ID) {\r\n // if (this.props.match.params.report === \"1\") {\r\n // this.props.history.push({ pathname: \"/testschool/\" + School_ID });\r\n // } else {\r\n this.props.history.push({ pathname: \"/internalschool/\" + School_ID });\r\n // }\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n fetchData(event) {\r\n let url, useCredentials;\r\n\r\n this.setState({ loading: true });\r\n url = `${base_URL}/api/internal/reports`;\r\n useCredentials = \"include\";\r\n\r\n const report = this.props.match.params.report;\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n report: report,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n message = \"No Data Found\";\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n\r\n return;\r\n }\r\n var old = JSON.stringify(json).replaceAll('T00:00:00', ''); //convert to JSON string\r\n var newArray = JSON.parse(old); //convert back to array\r\n\r\n this.setState({ data: newArray, loading: false });\r\n })\r\n .catch(error => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n getColumns() {\r\n if (\r\n this.props.match.params.report === \"1\" ||\r\n this.props.match.params.report === \"2\"\r\n ) {\r\n const columns = [\r\n {\r\n Header: \"School\",\r\n accessor: \"School_Name\",\r\n getProps: (state, rowInfo, column) => {\r\n return {\r\n onClick: () => this.handleSelect(rowInfo.original.School_ID),\r\n className: \"report-school-name\"\r\n };\r\n }\r\n },\r\n {\r\n Header: \"Taps Unaddressed\",\r\n accessor: \"Taps_Unaddressed\"\r\n },\r\n {\r\n Header: \"First Exceedance\",\r\n accessor: \"First_Exceedance_Date\"\r\n }\r\n ];\r\n return columns;\r\n }\r\n return Object.keys(this.state.data[0]).map(key => {\r\n return {\r\n Header: key,\r\n accessor: key\r\n };\r\n });\r\n }\r\n\r\n getTitle() {\r\n switch (this.props.match.params.report) {\r\n // case \"1\":\r\n // return Unaddressed Taps Test;\r\n case \"2\":\r\n return Unaddressed Taps;\r\n // case \"3\":\r\n // return Data Export Test;\r\n case \"4\":\r\n return Data Export;\r\n // case \"5\":\r\n // return Dashboard Test;\r\n case \"6\":\r\n return Dashboard;\r\n // case \"7\":\r\n // return Remediation Export Test;\r\n case \"8\":\r\n return Remediation Export;\r\n case \"9\":\r\n return Tap Data Export;\r\n case \"10\":\r\n return Places with All Elevated Taps;\r\n case \"11\":\r\n return Results Missing Initial Lab ID;\r\n case \"12\":\r\n return Places with Unresolved Exceedances;\r\n case \"13\":\r\n return Providers with samples over time;\r\n case \"14\":\r\n return Exceedance Status Report;\r\n case \"15\":\r\n return Flush Samples without a Valid First Draw Lab ID;\r\n default:\r\n return Report;\r\n }\r\n }\r\n\r\n renderTownChart() {\r\n if (!this.state.loading) {\r\n const data = this.state.data;\r\n\r\n var counts = data.reduce((p, c) => {\r\n var name = c.Town_For_Sample;\r\n if (!p.hasOwnProperty(name)) {\r\n p[name] = 0;\r\n }\r\n p[name]++;\r\n return p;\r\n }, {});\r\n\r\n var countsExtended = Object.keys(counts).map(k => {\r\n return { Town: k, Samples: counts[k] };\r\n });\r\n\r\n countsExtended.sort((b, a) => a[\"Samples\"] - b[\"Samples\"]);\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 }\r\n\r\n renderTimeChart() {\r\n if (!this.state.loading) {\r\n const data = this.state.data;\r\n\r\n var counts = data.reduce((p, c) => {\r\n var name = c.Sample_Month;\r\n if (!p.hasOwnProperty(name)) {\r\n p[name] = 0;\r\n }\r\n p[name]++;\r\n return p;\r\n }, {});\r\n\r\n var countsExtended = Object.keys(counts).map(k => {\r\n return {\r\n Date: k,\r\n DateNumber: new Date(k).getTime(),\r\n Samples: counts[k]\r\n };\r\n });\r\n\r\n countsExtended.sort((a, b) => a[\"DateNumber\"] - b[\"DateNumber\"]);\r\n\r\n const domain = d3Extent(countsExtended, d => new Date(d.Date));\r\n const tScale = d3ScaleTime()\r\n .domain(domain)\r\n .range([0, 1100]);\r\n\r\n const tickFormat = tScale.tickFormat();\r\n const ticks = tScale.ticks();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n const date = new Date(label);\r\n const formatted = date.toLocaleString(\"en-us\", {\r\n month: \"long\",\r\n year: \"numeric\"\r\n });\r\n return formatted;\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.data && (\r\n \r\n \r\n \r\n {this.getTitle()}{\" \"}\r\n {this.state.data.length > 0 && (\r\n \r\n {' '}\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n {this.props.match.params.report == \"9\" && this.state.loading && (\r\n <>\r\n
This may take a couple minutes...
\r\n
Calculating tap-level details for thousands of taps.
\r\n \r\n )}\r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n {(this.props.match.params.report === \"5\" ||\r\n this.props.match.params.report === \"6\") &&\r\n this.state.data &&\r\n this.state.data.length > 0 &&\r\n this.state.data[0].Town_For_Sample && (\r\n \r\n
Samples by Collection Date over Time
\r\n
\r\n {this.renderTimeChart()}\r\n
\r\n
Samples by Town
\r\n
\r\n {this.renderTownChart()}\r\n
\r\n )}\r\n {this.state.data.length > 0 &&\r\n (this.props.match.params.report !== \"5\" &&\r\n this.props.match.params.report !== \"6\") && (\r\n \r\n \r\n {this.props.match.params.report === \"13\" && (\r\n <>\r\n
Given the delay between samples taken and results entered into CDMS the more recent months may not be accurate for Facilities Sampled or Facilities with Samples Analyzed – as data that haven’t yet been uploaded would not be included.
\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.state.data.map(\r\n school =>\r\n school.School_Name && (\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
SchoolTaps Unaddressed
\r\n \r\n this.handleSelect(school.School_ID)\r\n }\r\n >\r\n {school.School_Name}\r\n \r\n {school.Taps_Unaddressed}
*/}\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\nexport default Reports;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Table } from \"reactstrap\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport {\r\n Alert,\r\n} from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nconst options = {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric'\r\n}\r\n\r\nclass KPI extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.fetchData = this.fetchData.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n report: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n handleSelect(School_ID) {\r\n this.props.history.push({ pathname: \"/internalschool/\" + School_ID });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n fetchData(event) {\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/internal/internalkpi`;\r\n useCredentials = \"include\";\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n message = \"No Data Found\";\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n\r\n return;\r\n }\r\n this.setState({ data: json, loading: false });\r\n })\r\n .catch(error => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.data && (\r\n \r\n \r\n \r\n {Key Performance Indicators as of {new Date().toLocaleDateString('en-US', options)}}\r\n {/* {\" \"} */}\r\n {/* {this.state.data.length > 0 && (\r\n \r\n
{\" \"}\r\n \r\n )} */}\r\n
\r\n
\r\n \r\n \r\n \r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n {this.state.data.length > 0 && (\r\n \r\n \r\n
\r\n
Schools
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.data.filter(datum => datum.Category === \"Schools\").map(\r\n datum =>\r\n datum.Indicator && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
CategoryNumberPercent of Total
{datum.Sequence + '. ' + datum.Indicator}{Number(datum.Count).toLocaleString('EN-us')}{!datum.Denominator.includes(\"N/A\") ? parseFloat(datum.Rate*100).toFixed(0)+\"% \"+datum.Denominator : datum.Denominator}
\r\n
\r\n
\r\n \r\n
Child Care Programs (not located in a school)
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.data.filter(datum => datum.Category === \"Child Care Programs\").map(\r\n datum =>\r\n datum.Indicator && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
CategoryNumberPercent of Total
{datum.Sequence + '. ' + datum.Indicator}{Number(datum.Count).toLocaleString('EN-us')}{!datum.Denominator.includes(\"N/A\") ? parseFloat(datum.Rate*100).toFixed(0)+\"% \"+datum.Denominator : datum.Denominator}
\r\n
\r\n
\r\n \r\n
All Taps Combined
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.data.filter(datum => datum.Category === \"All Taps\").map(\r\n datum =>\r\n datum.Indicator && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
CategoryNumberPercent of Total
{datum.Sequence + '. ' + datum.Indicator}{Number(datum.Count).toLocaleString('EN-us')}{!datum.Denominator.includes(\"N/A\") ? parseFloat(datum.Rate*100).toFixed(0)+\"% \"+datum.Denominator : datum.Denominator}
\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\nexport default KPI;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Table } from \"reactstrap\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport moment from \"moment\";\r\nimport \"react-dates/initialize\";\r\nimport { SingleDatePicker } from \"react-dates\";\r\nimport \"react-dates/lib/css/_datepicker.css\";\r\nimport { Button, Form, Input, Alert, FormGroup, Label } from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nconst options = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n};\r\n\r\nclass DateRangeKPI extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.fetchData = this.fetchData.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.handleCalculate = this.handleCalculate.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n begin_date: moment(\"2017-01-01\"),\r\n end_date: moment(),\r\n begin_dateFocused: false,\r\n end_dateFocused: false,\r\n loading: false,\r\n report: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false,\r\n };\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\",\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\",\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n handleCalculate(event) {\r\n event.preventDefault();\r\n\r\n this.fetchData();\r\n }\r\n\r\n fetchData(event) {\r\n this.setState({ loading: true });\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/internal/daterangekpi`;\r\n useCredentials = \"include\";\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey,\r\n begin_date: this.state.begin_date,\r\n end_date: this.state.end_date,\r\n }),\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then((response) => response.json())\r\n .then((json) => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n message = \"No Data Found\";\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n data: {},\r\n loading: false,\r\n });\r\n\r\n return;\r\n }\r\n console.log(json);\r\n this.setState({ data: json, loading: false });\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n data: {},\r\n loading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n this.setState({ begin_date: begin_date })\r\n }\r\n focused={this.state.begin_dateFocused}\r\n onFocusChange={({ focused }) =>\r\n this.setState({ begin_dateFocused: focused })\r\n }\r\n isOutsideRange={(day) => false}\r\n renderMonthElement={renderMonthElement}\r\n numberOfMonths={1}\r\n id=\"beginDateInput\"\r\n block={true}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n this.setState({ end_date: end_date })\r\n }\r\n focused={this.state.end_dateFocused}\r\n onFocusChange={({ focused }) =>\r\n this.setState({ end_dateFocused: focused })\r\n }\r\n isOutsideRange={(day) => false}\r\n renderMonthElement={renderMonthElement}\r\n numberOfMonths={1}\r\n id=\"endDateInput\"\r\n block={true}\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 {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n \r\n \r\n {!this.state.loading && this.state.data && this.state.data.length > 0 && (\r\n <>\r\n \r\n \r\n \r\n Key Performance Indicators for Sampling between{\" \"}\r\n {moment(this.state.begin_date).format(\"L\")} and{\" \"}\r\n {moment(this.state.end_date).format(\"L\")}\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.state.data.map(\r\n (datum) =>\r\n datum.Sequence && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
CategoryNumber\r\n Percent of Total\r\n
\r\n {datum.Sequence + \". \" + datum.Indicator}\r\n \r\n {Number(datum.Count).toLocaleString(\r\n \"EN-us\"\r\n )}\r\n \r\n {!datum.Denominator.includes(\"N/A\")\r\n ? parseFloat(datum.Rate * 100).toFixed(\r\n 0\r\n ) +\r\n \"% \" +\r\n datum.Denominator\r\n : datum.Denominator}\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\nexport default DateRangeKPI;\r\n\r\nconst returnYears = () => {\r\n let years = [];\r\n for (let i = moment().year() - 15; i <= moment().year() + 1; i++) {\r\n years.push(\r\n \r\n );\r\n }\r\n return years;\r\n};\r\n\r\nconst renderMonthElement = ({ month, onMonthSelect, onYearSelect }) => (\r\n
\r\n
\r\n onMonthSelect(month, e.target.value)}\r\n >\r\n {moment.months().map((label, value) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n onYearSelect(month, e.target.value)}\r\n >\r\n {returnYears()}\r\n \r\n
\r\n
\r\n);\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport {\r\n Alert,\r\n Button\r\n} from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\nimport XLSX from \"xlsx\";\r\n\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass Export extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n\r\n this.handleExportClicked = this.handleExportClicked.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n loading: false,\r\n clicked: \"\",\r\n status: \"\"\r\n };\r\n }\r\n\r\n\r\n handleExportClicked(clicked) {\r\n let url, useCredentials;\r\n this.setState({ loading: true, status: `Downloading ${clicked}...` });\r\n url = `${base_URL}/api/internal/getexport${clicked}`;\r\n useCredentials = \"include\";\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => {\r\n this.setState({ status: `Preparing Excel File of ${clicked}...` });\r\n\r\n return response.json()\r\n })\r\n .then(json => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n message = \"No Data Found\";\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n\r\n return;\r\n }\r\n var old = JSON.stringify(json).replaceAll('T00:00:00', ''); //convert to JSON string\r\n var newArray = JSON.parse(old); //convert back to array\r\n\r\n const today = new Date().toLocaleDateString('en-us', { year: \"numeric\", month: \"numeric\", day: \"2-digit\" }).split(\"/\").join(\"-\");\r\n\r\n const worksheet = XLSX.utils.json_to_sheet(newArray);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, `${clicked}`);\r\n XLSX.writeFile(workbook, `CDMS ${clicked} data ${today}.xlsx`, {compression:true});\r\n\r\n this.setState({ loading: false, status: `Successfully downloaded ${clicked}...` })\r\n })\r\n .catch(error => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {Export Data}\r\n
\r\n
\r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n\r\n {\r\n this.setState({ clicked: \"facilities\" });\r\n this.handleExportClicked(\"facilities\");\r\n }}\r\n active={this.state.clicked === \"facilities\"}\r\n disabled={this.state.loading && this.state.clicked !== \"facilities\"}\r\n >\r\n Facilities\r\n \r\n {` `}\r\n\r\n {\r\n this.setState({ clicked: \"results\" });\r\n this.handleExportClicked(\"results\");\r\n }}\r\n active={this.state.clicked === \"results\"}\r\n disabled={this.state.loading && this.state.clicked !== \"results\"}\r\n >\r\n Results\r\n \r\n {` `}\r\n {\r\n this.setState({ clicked: \"remediations\" });\r\n this.handleExportClicked(\"remediations\");\r\n }}\r\n active={this.state.clicked === \"remediations\"}\r\n disabled={this.state.loading && this.state.clicked !== \"remediations\"}\r\n >\r\n Remediations\r\n \r\n {` `}\r\n {\r\n this.setState({ clicked: \"facilityusers\" });\r\n this.handleExportClicked(\"facilityusers\");\r\n }}\r\n active={this.state.clicked === \"facilityusers\"}\r\n disabled={this.state.loading && this.state.clicked !== \"facilityusers\"}\r\n >\r\n Facility Users\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.state.status !== \"\" && (\r\n \r\n \r\n {this.state.status}\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Export;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Table } from \"reactstrap\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport {\r\n Alert,\r\n} from \"reactstrap\";\r\nimport { base_URL, credentials } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nconst options = {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric'\r\n}\r\n\r\nclass Summary extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.fetchData = this.fetchData.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n\r\n this.state = {\r\n data: {},\r\n report: \"\",\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false,\r\n isTest: false,\r\n isInternal: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n }\r\n\r\n handleSelect(School_ID) {\r\n this.props.history.push({ pathname: \"/school/\" + School_ID });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n fetchData(event) {\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/public/kpi`;\r\n \r\n useCredentials = credentials;\r\n\r\n // console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (!json || json.length === 0) {\r\n let message;\r\n message = \"No Data Found\";\r\n this.setState({\r\n message: message,\r\n showMessageAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n\r\n return;\r\n }\r\n this.setState({ data: json, loading: false });\r\n })\r\n .catch(error => {\r\n this.setState({\r\n error: error.message,\r\n showErrorAlert: true,\r\n data: {},\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.data && (\r\n \r\n \r\n \r\n {Overall Summary as of {new Date().toLocaleDateString('en-US', options)}}\r\n {/* {\" \"} */}\r\n {/* {this.state.data.length > 0 && (\r\n \r\n
{\" \"}\r\n \r\n )} */}\r\n
\r\n
\r\n \r\n \r\n \r\n {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n {this.state.data.length > 0 && (\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.state.data.map(\r\n datum =>\r\n datum.Indicator && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
CategoryNumberPercent of Total
{datum.Indicator}{Number(datum.Count).toLocaleString('EN-us')}{datum.Rate ? parseFloat(datum.Rate*100).toFixed(0)+\"% \"+datum.Denominator : \"N/A\"}
\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\nexport default Summary;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Alert, Button, Col, Container, Form, FormGroup, Input, Label, Modal, ModalHeader, ModalBody, ModalFooter, Row, Table } from 'reactstrap';\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\nimport { LoadingSpinner } from './LoadingSpinner.js';\r\n\r\nexport function EditStaff(props) {\r\n const [loading, setLoading] = useState(false);\r\n const [username, setUsername] = useState(\"\");\r\n const [role, setRole] = useState(3);\r\n const [error, setError] = useState(\"\");\r\n const [showErrorAlert, setShowErrorAlert] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.staff.Email) {\r\n console.log('staff changed: ', props.staff.Email);\r\n loadStaff();\r\n }\r\n }, [props.staff.Email]);\r\n\r\n\r\n const toggleErrorAlert = () => {\r\n setShowErrorAlert(!showErrorAlert);\r\n setError(\"\");\r\n }\r\n\r\n const handleCancel = (event) => {\r\n event.preventDefault();\r\n setError(\"\");\r\n setShowErrorAlert(false);\r\n setUsername(\"\");\r\n setRole(3);\r\n props.cancel();\r\n }\r\n\r\n\r\n const handleDelete = (event) => {\r\n event.preventDefault();\r\n deleteStaff();\r\n }\r\n const handleSave = (event) => {\r\n event.preventDefault();\r\n saveStaff();\r\n }\r\n\r\n const loadStaff = () => {\r\n setUsername(props.staff.Email);\r\n setRole(props.staff.RoleId || 3);\r\n }\r\n\r\n\r\n const saveStaff = () => {\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/internal/changestaff`;\r\n useCredentials = 'include';\r\n\r\n setLoading(true);\r\n\r\n console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n ID: props.staff.Id,\r\n Role: role,\r\n apiKey: apiKey\r\n })\r\n }).then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response.text();\r\n }).then(text => {\r\n console.log('text ', text);\r\n if (text === \"\\\"Success\\\"\") {\r\n setLoading(false);\r\n props.cancel()\r\n } else {\r\n throw Error(text);\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n if (!error.message) {\r\n error.message = \"Error saving staff\";\r\n }\r\n setError(error.message);\r\n setShowErrorAlert(true);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n\r\n const deleteStaff = () => {\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/internal/deletestaff`;\r\n useCredentials = 'include';\r\n\r\n setLoading(true);\r\n\r\n console.log(url);\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n ID: props.staff.Id,\r\n apiKey: apiKey\r\n })\r\n }).then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response.text();\r\n }).then(text => {\r\n console.log('text ', text);\r\n if (text === \"\\\"Success\\\"\") {\r\n setLoading(false);\r\n props.cancel()\r\n } else {\r\n throw Error(text);\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n if (!error.message) {\r\n error.message = \"Error deleting staff\";\r\n }\r\n setError(error.message);\r\n setShowErrorAlert(true);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n
\r\n Edit Staff Role\r\n \r\n {loading && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {props.staff.Id && (\r\n <>\r\n \r\n \r\n \r\n \r\n setUsername(e.target.value)}\r\n placeholder=\"Username\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setRole(e.target.value)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )}\r\n {error !== \"\" && (\r\n \r\n \r\n \r\n {error}\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","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { Button, Form, Input, Alert, Label, Table } from \"reactstrap\";\r\nimport { EditStaff } from \"./EditStaff.js\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\n\r\nclass Register extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleLogin = this.handleLogin.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.toggleStaffModal = this.toggleStaffModal.bind(this);\r\n this.fetchUserList = this.fetchUserList.bind(this);\r\n\r\n this.state = {\r\n isAuthenticated: false,\r\n users: [],\r\n staff: {},\r\n staffModal: false,\r\n error: \"\",\r\n message: \"\",\r\n username: \"\",\r\n password: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchUserList();\r\n }\r\n\r\n toggleStaffModal() {\r\n this.setState({\r\n staffModal: !this.state.staffModal,\r\n staff: {}\r\n });\r\n this.fetchUserList();\r\n }\r\n\r\n\r\n handleSelect(Staff) {\r\n this.setState({\r\n staffModal: !this.state.staffModal,\r\n staff: Staff\r\n })\r\n }\r\n\r\n\r\n fetchUserList() {\r\n let url;\r\n\r\n url = `${base_URL}/api/internal/users`;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No Users Found\",\r\n showMessageAlert: true\r\n });\r\n }\r\n console.log(json);\r\n this.setState({ users: json });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n\r\n handleLogin(event) {\r\n event.preventDefault();\r\n if (!this.state.username.includes(\"vermont.gov\")) {\r\n this.setState({ error: 'Username must be a vermont.gov email address', showErrorAlert: true });\r\n return;\r\n }\r\n let url = `${base_URL}/api/Account/Register`;\r\n // console.log(url);\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n body: JSON.stringify({\r\n Email: this.state.username,\r\n Password: this.state.password,\r\n ConfirmPassword: this.state.password\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n console.log(response);\r\n let errorMessage;\r\n if(response.statusText===\"Bad Request\") {\r\n errorMessage = response.text()\r\n .then(text=>{\r\n console.log('bad body');\r\n let errorjson =JSON.parse(text); \r\n return errorjson.ModelState[Object.keys(errorjson.ModelState)[0]][0];\r\n });\r\n } else {\r\n errorMessage=response.statusText;\r\n }\r\n return errorMessage;\r\n }\r\n this.setState({\r\n message: \"Successfully Registered\",\r\n showMessageAlert: true,\r\n error:'',showErrorAlert:false\r\n });\r\n this.fetchUserList();\r\n }).then(caught => {\r\n if(caught) {\r\n throw Error(caught);\r\n }\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n

New Account Register

\r\n
Put in the new staff person's vermont.gov email address, make up a password, hit create user, send the user their username and password, and set their role.\r\n Role options include Internal - Access to view all pages and upload results to test. Upload - Same as Internal plus permission to upload results to production. Administrator - Same as Upload plus permission to add and modify staff accounts here.
\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 {this.state.error !== \"\" && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n {this.state.users.length > 0 && (\r\n \r\n \r\n
\r\n
Staff Accounts
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.users.map(\r\n user =>\r\n user.Id && (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
AccountRole
console.log()}>\r\n \r\n \r\n this.handleSelect(user)\r\n }\r\n >\r\n {user.Email}\r\n \r\n {user.Name}
\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\nexport default Register;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { css } from \"@emotion/core\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { Button, Form, Input, Alert, Label, Table } from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass ANROnlineUsers extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.fetchNFormUserList = this.fetchNFormUserList.bind(this);\r\n this.fetchSchoolList = this.fetchSchoolList.bind(this);\r\n this.addNFormUser = this.addNFormUser.bind(this);\r\n this.deleteNFormUser = this.deleteNFormUser.bind(this);\r\n\r\n this.state = {\r\n isAuthenticated: false,\r\n nformusers: [],\r\n schools: [],\r\n School_ID: \"\",\r\n nFormUserID: \"\",\r\n loading: true,\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchNFormUserList();\r\n this.fetchSchoolList();\r\n }\r\n\r\n fetchNFormUserList() {\r\n let url;\r\n url = `${base_URL}/api/internal/nformusers`;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No nForm Users Found\",\r\n showMessageAlert: true\r\n });\r\n }\r\n this.setState({ nformusers: json, loading: false });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true, loading: false });\r\n });\r\n }\r\n\r\n addNFormUser() {\r\n let url;\r\n url = `${base_URL}/api/internal/addnformuser`;\r\n\r\n console.log(url);\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n School_ID: this.state.School_ID,\r\n nFormUserID: this.state.nFormUserID,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log(json);\r\n this.setState({\r\n message: json,\r\n showMessageAlert: true\r\n });\r\n this.fetchNFormUserList();\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n\r\n deleteNFormUser(School_ID, nFormUserID, e) {\r\n e.preventDefault();\r\n let url;\r\n url = `${base_URL}/api/internal/deletenformuser`;\r\n\r\n console.log(url);\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n School_ID: School_ID,\r\n nFormUserID: nFormUserID,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log(json);\r\n this.setState({\r\n message: json,\r\n showMessageAlert: true\r\n });\r\n this.fetchNFormUserList();\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n fetchSchoolList() {\r\n let url, useCredentials;\r\n\r\n url = `${base_URL}/api/internal/schools`;\r\n useCredentials = 'include';\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: useCredentials,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n search: \"\",\r\n town: \"All Towns\",\r\n type: \"Both\",\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n if (json.length === 0) {\r\n this.setState({\r\n message: \"No Schools Found\",\r\n showMessageAlert: true\r\n });\r\n }\r\n this.setState({ schools: json });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true });\r\n });\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n

ANROnline Users

\r\n
\r\n \r\n \r\n \r\n {this.state.error !== \"\" && (\r\n \r\n \r\n {this.state.error}\r\n \r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n
\r\n {this.state.nformusers && this.state.nformusers.length > 0 && (\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {this.state.schools.length > 0 &&\r\n this.state.schools.map(\r\n school =>\r\n school.School_ID && (\r\n \r\n {school.School_Name + \", \" + school.Town}\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 {/* console.log}\r\n /> */}\r\n {this.state.nformusers.length > 0 && (\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.state.nformusers.map(\r\n user =>\r\n user.School_ID && (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
Provider IDProviderSubmitter\r\n
console.log()}>\r\n \r\n \r\n console.log()\r\n // // this.handleSelect(user.Email)\r\n // }\r\n >\r\n {user.School_ID}\r\n \r\n {user.School_Name}{user.nFormUserID}\r\n \r\n this.deleteNFormUser(\r\n user.School_ID,\r\n user.nFormUserID,\r\n e\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\nexport default ANROnlineUsers;\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col } from \"reactstrap\";\r\nimport { css } from \"@emotion/core\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { Button, Form, Input, Alert, Label, Table } from \"reactstrap\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport { apiKey } from \"../config/index.js\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n`;\r\n\r\nclass AdminResults extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.toggleMessageAlert = this.toggleMessageAlert.bind(this);\r\n this.toggleErrorAlert = this.toggleErrorAlert.bind(this);\r\n this.handleInactivateClick = this.handleInactivateClick.bind(this);\r\n this.inactivateResult = this.inactivateResult.bind(this);\r\n\r\n this.state = {\r\n isAuthenticated: false,\r\n Lab_ID: '',\r\n isTest: true,\r\n loading:true,\r\n warn:false,\r\n error: \"\",\r\n message: \"\",\r\n showMessageAlert: false,\r\n showErrorAlert: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if(this.props.location.pathname.search(\"test\")=== -1) {\r\n this.setState({ isTest: false});\r\n }\r\n }\r\n \r\n componentDidUpdate(prevProps) {\r\n if (this.props.location.pathname.search(\"test\") !== -1 && this.state.isTest ) {\r\n this.setState({isTest: false}); \r\n } else if (this.props.location.pathname.search(\"test\") === -1 && !this.state.isTest ) {\r\n this.setState({isTest: true}); \r\n }\r\n }\r\n\r\n toggleErrorAlert() {\r\n this.setState({\r\n showErrorAlert: !this.state.showErrorAlert,\r\n error: \"\"\r\n });\r\n }\r\n\r\n toggleMessageAlert() {\r\n this.setState({\r\n showMessageAlert: !this.state.showMessageAlert,\r\n message: \"\"\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === \"checkbox\" ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n handleInactivateClick() {\r\n this.setState({warn: true});\r\n }\r\n \r\n inactivateResult() {\r\n let url;\r\n\r\n if (this.props.location.pathname.search(\"test\") !== -1) {\r\n this.setState({ isTest: true });\r\n url = `${base_URL}/api/internal/inactivateresulttest`;\r\n } else {\r\n this.setState({ isTest: false });\r\n url = `${base_URL}/api/internal/inactivateresult`;\r\n } \r\n\r\n console.log(url);\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n body: JSON.stringify({\r\n Lab_ID: this.state.Lab_ID,\r\n comments: this.state.comments,\r\n apiKey: apiKey\r\n })\r\n })\r\n .then(response => {\r\n console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n return response;\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n console.log(json);\r\n this.setState({\r\n message: json,\r\n showMessageAlert: true,\r\n warn: false\r\n });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n this.setState({ error: error.message, showErrorAlert: true, warn: false });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n

Inactivate Results

\r\n
\r\n {/* \r\n \r\n */}\r\n {this.state.error !== \"\" && (\r\n \r\n \r\n {this.state.error}\r\n \r\n \r\n )}\r\n {this.state.message !== \"\" && (\r\n \r\n \r\n {this.state.message}\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 \r\n \r\n \r\n {this.state.warn && (\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\nexport default AdminResults;\r\n","import Search from \"./Search.js\";\r\nimport School from \"./School.js\";\r\nimport SchoolEditor from \"./SchoolEditor.js\";\r\nimport Upload from \"./Upload.js\";\r\nimport Faq from \"./Faq.js\";\r\nimport PublicHeader from \"./PublicHeader.js\";\r\nimport InternalHeader from \"./InternalHeader.js\";\r\nimport Footer from \"./Footer.js\";\r\nimport Login from \"./Login.js\";\r\nimport Tutorial from \"./Tutorial.js\";\r\nimport Reports from \"./Reports.js\";\r\nimport KPI from \"./KPI.js\";\r\nimport DateRangeKPI from \"./DateRangeKPI.js\";\r\nimport Export from \"./Export.js\";\r\nimport Summary from \"./Summary.js\";\r\nimport { base_URL } from \"../config/buildSettings.js\";\r\nimport Register from \"./Register.js\";\r\nimport ANROnlineUsers from \"./ANROnlineUsers.js\";\r\nimport AdminResults from \"./AdminResults.js\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\nimport { basename } from \"../config/buildSettings.js\";\r\nimport React, { Component } from \"react\";\r\n\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isAuthenticated: false\r\n };\r\n this.handleLogin = this.handleLogin.bind(this);\r\n this.handleLogout = this.handleLogout.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (localStorage.getItem(\"search\") !== null) {\r\n localStorage.removeItem(\"search\");\r\n }\r\n window.addEventListener(\"beforeunload\", ev => {\r\n ev.preventDefault();\r\n if (localStorage.getItem(\"search\") !== null) {\r\n localStorage.removeItem(\"search\");\r\n }\r\n });\r\n \r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"beforeunload\", ev => {\r\n ev.preventDefault();\r\n if (localStorage.getItem(\"search\") !== null) {\r\n localStorage.removeItem(\"search\");\r\n }\r\n });\r\n if (localStorage.getItem(\"search\") !== null) {\r\n localStorage.removeItem(\"search\");\r\n }\r\n }\r\n\r\n handleLogin() {\r\n if (!this.state.isAuthenticated) {\r\n this.setState({\r\n isAuthenticated: true\r\n });\r\n }\r\n }\r\n\r\n handleLogout() {\r\n if (this.state.isAuthenticated) {\r\n let url = `${base_URL}/api/Account/Logout`;\r\n\r\n fetch(url, {\r\n method: \"POST\",\r\n credentials: \"include\"\r\n })\r\n .then(response => {\r\n // console.log(response);\r\n if (!response.ok) {\r\n throw Error(response.statusText);\r\n }\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n this.setState({ isAuthenticated: false });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n {/* Display public header and limited options for public user */}\r\n {!this.state.isAuthenticated && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n this.handleLogin(username, password)\r\n }\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n\r\n {/* Display internal header and all options for internal user */}\r\n {this.state.isAuthenticated && (\r\n <>\r\n (\r\n this.handleLogout()}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {/* Always Display Footer */}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import \"react-app-polyfill/ie9\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport 'react-table/react-table.css'\r\nimport \"./index.css\";\r\nimport \"core-js\"\r\nimport \"regenerator-runtime/runtime\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport App from \"./components/App.js\";\r\n\r\n\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n\r\n\r\n// This project builds for anrweb with npm run build\r\n// Builds for testweb with npm run build-testweb\r\n// And localhost with npm run start\r\n\r\n// To ensure refreshes route back to the homepage in production builds, \r\n// set the publish location in package.json before building\r\n// \"homepage\": \"http://dotnetv4.vtanr.state.vt.us/leadinschools\",\r\n// \"homepage\": \"https://anrweb.vt.gov/DEC/leadinschools\","],"sourceRoot":""}