{"version":3,"sources":["icons.jsx","components/modes/draw_single_point.js","contexts/actions.js","contexts/store.js","util/mapUtils.js","components/Map.jsx","components/LeftDrawer.jsx","config.js","components/Disclaimer.jsx","util/copyToClipboard.js","components/ResponseDisplay.jsx","components/UrlDisplay.jsx","components/InputField.jsx","components/PointDrawer.jsx","components/BBoxDrawer.jsx","components/FieldIdDrawer.jsx","components/CoverageDrawer.jsx","components/DRCoverageTileDisplay.jsx","components/DRCoverageDrawer.jsx","components/DRTileDrawer.jsx","components/DRBboxDrawer.jsx","components/TimeSeriesChart.jsx","components/TimeSeriesFieldIdDrawer.jsx","components/TimeSeriesCoverage.jsx","components/RightDrawer.jsx","pages/map.jsx","App.js","reportWebVitals.js","index.js"],"names":["GlobeIcon","props","SvgIcon","width","height","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLineJoin","LineGlobeIcon","strokeLinejoin","InfoIcon","stroke-width","stroke-linecap","stroke-linejoin","fill-rule","clip-rule","PointerIcon","BBoxIcon","DocumentationIcon","CoverageIcon","GlobeFinanceIcon","SinglePointMode","MapboxDraw","modes","draw_point","onSetup","opts","state","count","point","this","newFeature","type","properties","geometry","coordinates","addFeature","onClick","e","deleteFeature","id","silent","lngLat","lng","lat","map","fire","features","toGeoJSON","onStop","console","log","toDisplayFeatures","geojson","display","setPoint","setPolygon","setFeature","setDrawMode","setTile","setFieldId","setLocation","setDataLayer","setToken","setTiles","setAPI","setTileURL","initialState","mode","undefined","polygon","dataLayer","token","tileUrlCounter","api","drawMode","store","createContext","Provider","StateProvider","children","useReducer","action","payload","feature","tile","fieldId","location","tiles","Math","random","tileURL","Error","dispatch","value","isAegro","URLSearchParams","window","search","get","raster_url","mapStyle","version","sources","mapbox","url","basemap_basic","tileSize","basemap_sat2","bounds","iowa_sioux_basemap","punjab_india_basemap","czech_basemap","brazil_basemap","poland_basemap","punjab_43rfq_basemap","mp_india_43qdf_basemap","norway_basemap","germany_basemap","belgium_basemap","austria_basemap","italy_basemap","milan_basemap","tulare_basemap","saskatchewan_basemap","switzerland_basemap","denmark_basemap","suphanburi_basemap","france_basemap","hungary_basemap","england_basemap","bulgaria_basemap","netherlands_basemap","egypt_35rqq_basemap","egypt_36rvp_basemap","arizona_11sqs_basemap","mexico_basemap","turkey_basemap","latvia_basemap","austria_kraxenberg_basemap","varva_ua_basemap","ridhora_in_basemap","cupar_ca_basemap","oxford_uk_basemap","soltepec_mx_basemap","kamenca_pl_basemap","pedrola_es_basemap","toulouse_fr_basemap","aramiro_nz_basemap","ban_nong_kratum_th_basemap","mekong_vn_basemap","glyphs","sprite","layers","source","maxzoom","minzoom","layout","visibility","locationObj","delineatedFields","norway","center","name","country_code","iowa","germany","belgium","mgrs","austria","zoom","kraxenberg_at","italy","milan","tulare","saskatchewan","cupar_ca","switzerland","czech","denmark","newzealand","aramiro_nz","punjab","ridhora_in","suphanburi","ban_nong_kratum_th","france","toulouse_fr","hungary","england","oxford_uk","bulgaria","netherlands","poland","kamenca_pl","brazil","mexico","soltepec_mx","turkey","pedrola_es","varva_ua","hjellum_no","mekong_vn","deepResImages","timeSeries","arizona","egypt_1","egypt_2","estonia","latvia","india","up_india","kenya","croatia","malaysia","illinois","getTilesForCurrentBounds","getBounds","l3tiles","tilebelt","getChildren","bboxToTile","_sw","_ne","reduce","acc","concat","getZoom","getCenter","centerTile","pointToTile","round","parentTile","getParent","mapboxgl","accessToken","heightOfTheWindow","innerHeight","addEventListener","useStyles","makeStyles","hoverDisplayContainer","position","left","top","zIndex","minHeight","paddingLeft","minWidth","textAlign","color","shadowGenerator","padding","boxShadow","hoverContent","globeIconContainer","right","bottom","iconRoot","clearButtonContainer","clearButton","backgroundColor","fontSize","drawerToggleContainer","borderRadius","collapseDrawerButton","collapseDrawerButtonMobile","drawerToggleMobileOpen","drawerToggleMobileClosed","Map","onCreateListener","mapContainerRef","useRef","mapRef","useContext","classes","layer","setZoom","toggleRightDrawer","isRightDrawerOpen","useState","setMap","draw","setDraw","drawModeRef","mapDrawMode","showClearButton","setShowClearButton","localLocation","setLocalLocation","useEffect","Draw","displayControlsDefault","Object","assign","draw_single_point","draw_rectangle","DrawRectangle","addControl","changeMode","current","removeControl","deleteAll","on","coord","MercatorCoordinate","fromLngLat","flyTo","defaultLocation","values","getSource","removeLayer","removeSource","addSource","addLayer","paint","container","style","hash","maxZoom","addBaseMapLayers","filter","metadata","addPlaceLabelLayers","loadImage","error","image","addImage","sdf","NavigationControl","MapboxGeocoder","types","collapsed","marker","remove","off","hoveredField","getLayer","data","generateId","length","setFeatureState","hover","newHoveredField","paintStyle","availableDates","JSON","parse","s3_cog","s2FileName","split","turf","s2L2AFileName","replace","fileUrl","open","featureCollection","getAll","parseFloat","set","setLayoutProperty","turnOnBaseMapLayers","turnOffBaseMapLayers","resize","tilesArray","className","ref","Paper","IconButton","getLayoutProperty","root","Button","variant","KeyboardArrowDown","KeyboardArrowUp","infoRoot","boxSizing","lineHeight","marginBottom","marginTop","apiType","margin","apiInfo","mt8","delinationTitle","fontWeight","discoverButton","textTransform","textDecoration","email","getInTouch","logo","LeftDrawer","onClose","Drawer","anchor","ModalProps","BackdropProps","invisible","href","target","src","join","domain","api_version","params","showDRAPI","showTimeSeries","disclaimer","alignItems","disclaimerIconSection","marginRight","disclaimerIcon","Disclaimer","copyTextToClipboard","text","navigator","clipboard","writeText","then","err","textArea","document","createElement","body","appendChild","focus","select","msg","execCommand","removeChild","fallbackCopyTextToClipboard","responseCode","responseJsonContainer","responseJson","maxHeight","overflowY","maxWidth","copyButton","downloadButton","ResponseDisplay","responseStatus","copyToClipboard","stringify","blob","Blob","saveAs","responseContainer","rightContainer","flex","wordWrap","UrlDisplay","requestUrl","inputRoot","shrinkLabel","InputField","TextField","InputProps","disableUnderline","InputLabelProps","shrink","fullWidth","info","flex1","generateResp","textFields","flexWrap","radioGroupRoot","typeOfBiling","PointDrawer","setCoordinates","debouncedSave","debounce","baseUrl","setResponseJson","setResponseStatus","setRequestUrl","simplifiedGeometry","setSimplyfiedGeometry","setVersion","label","defaultValue","onChange","RadioGroup","row","aria-label","FormControlLabel","control","Radio","labelPlacement","fetchUrl","fetch","response","status","json","BBoxDrawer","bBoxPoints","setBBoxPoints","maxCallback","max","cur","minCallback","min","minLng","Infinity","maxLng","minLat","maxLat","billing","setBilling","array1","array2","rectangle","every","index","leftButton","border","borderTopLeftRadius","borderBottomLeftRadius","rightButton","borderTopRightRadius","borderBottomRightRadius","activeModeButton","radioFormControl","verticalAlign","marginLeft","parameters","FieldIdDrawer","outputFormat","setOutputFormat","tileCoordinates","setTileCoordinates","fieldIdInput","setFieldIdInput","fieldResponseJson","setFieldResponseJson","fieldresponseStatus","setFieldResponseStatus","fieldRequestUrl","setFieldRequestUrl","mvtResponse","setMvtResponse","step2DivRef","setMapDrawMode","VectorTile","Protobuf","i","push","handleClick","setTimeout","scrollIntoView","behavior","block","arrayBuffer","buffer","FormControl","component","downloadPbf","tabsRoot","tab","paddingBottom","paddingTop","tabSelected","tabWrapper","tabIndicator","listItemIconRoot","listItemText","inDevMarker","showAllButton","listItemRoot","cursor","availableTab","listRoot","TabPanel","other","role","hidden","aria-labelledby","a11yProps","LocationListItem","ListItem","setMapLocation","ListItemIcon","toLowerCase","alt","country","ListItemText","primary","disableTypography","secondary","area","toLocaleString","LocationList","list","showAll","setShowAll","List","slice","CoverageDrawer","tabValue","setTabValue","Tabs","event","newValue","indicatorColor","textColor","indicator","Tab","delineation_status","selected","wrapper","year","dates","tileContainer","months","10","11","12","DRCoverageTileDisplay","years","setYears","source_date","substring","item","ar","indexOf","mgrs_tile","mgrsTitle","countryButton","countryButtonActive","borderColor","CountryList","setSelectedCountry","selectedCountry","countryLowerCase","Array","isArray","countryCodes","DRCoverageDrawer","countryList","setCountryList","mgrsTiles","setMgrsTiles","bbox","setBBOX","uniqueCountryCodes","imageGrid","gridTemplateColumns","columnGap","rowGap","drImageThumbnail","rasterUrlContainer","rasterUrl","rasterUrlLabel","DRUrl","isTileLoaded","DRTileDrawer","React","Date","startDate","setStartDate","endDate","setEndDate","imageType","setImageType","imageFormat","setImageFormat","responseClicked","setResponseClicked","imageUrls","setImageUrls","isAtleastOneImageLoaded","setIsAtleastOneImageLoaded","getFormattedDate","date","yyyy","getFullYear","mm","getMonth","dd","getDate","fetchOneTile","tileUrl","a","utils","DateFnsUtils","disableToolbar","inputVariant","format","KeyboardButtonProps","MenuItem","copyContent","tileUrls","detail","onLoad","DRBboxDrawer","imageBlobUrl","setImageBlobUrl","blobSize","setBlobSize","comparePolygonArrays","imageBlob","size","objectURL","URL","createObjectURL","parseInt","theme","checkboxLabel","graphLabel","ndviEviCheckboxContainer","TimeSeriesChart","active","bands","setBands","render","setRender","graphData","setGraphData","keys","names","uniqueDates","key","r","self","sort","date1","date2","graphEntry","forEach","dateMatchingObj","find","elem","colors","B01","B02","B03","B04","B05","B06","B07","B08","B08A","B09","B11","B12","EVI","NDVI","NDMI","MI","formatXAxis","RenderItemCheckbox","band","Checkbox","defaultChecked","checked","sx","ResponsiveContainer","LineChart","syncId","CartesianGrid","Tooltip","wrapperStyle","contentStyle","labelFormatter","XAxis","dataKey","tickFormatter","renderItem","Line","dot","YAxis","tick","orientation","selectIcon","palette","main","fieldResponseContainer","clearFieldButton","fieldResponseRef","customLowRes","TimeSeriesFieldIdDrawer","now","step2ResponseRef","getTime","TimeSeriesCoverage","drawer","dropdownContainer","selectInputRoot","borderBottomColor","RightDrawer","innerWidth","windowSize","setWindowSize","handleResize","removeEventListener","Select","icon","outlined","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","getContentAnchorEl","flexDirection","formControl","toggleButtonGroup","toggleButton","light","toggleButtonActive","dark","aboutApiQueries","aboutApiQueriesButton","infoIcon","apiSelection","apiButton","apiButtonActive","MapPage","region","setRegion","initialZoom","substr","toggleLeftDrawer","setToggleLeftDrawer","setIsRightDrawerOpen","locationList","InputLabel","labelId","listOfLocationsForTheDatalayer","newLocation","locationCurrent","newLocationObj","datalayerPayload","Link","underline","createMuiTheme","typography","fontFamily","contrastText","shape","overrides","MuiMenuItem","App","ThemeProvider","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById"],"mappings":"mVAGA,SAASA,EAAUC,GACjB,OACE,cAACC,EAAA,EAAD,2BAAaD,GAAb,aACE,sBACEE,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,MAAM,6BALR,UAOE,sBACEC,EAAE,8GACFC,OAAO,UACPC,YAAY,MACZC,cAAc,QACdC,eAAe,UAEjB,sBACEJ,EAAE,qOACFC,OAAO,UACPC,YAAY,MACZC,cAAc,QACdC,eAAe,UAEjB,sBACEJ,EAAE,0DACFC,OAAO,UACPC,YAAY,MACZC,cAAc,QACdC,eAAe,UAEjB,sBACEJ,EAAE,qDACFC,OAAO,UACPC,YAAY,MACZC,cAAc,QACdC,eAAe,gBAiDzB,SAASC,EAAcZ,GACrB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,oHACFC,OAAO,UACPC,YAAY,IACZC,cAAc,QACdG,eAAe,UAEjB,sBACEN,EAAE,WACFC,OAAO,UACPC,YAAY,IACZC,cAAc,QACdG,eAAe,UAEjB,sBACEN,EAAE,+JACFC,OAAO,UACPC,YAAY,IACZC,cAAc,QACdG,eAAe,cAoBvB,SAASC,EAASd,GAChB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,2IACFQ,eAAa,IACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,mHACFQ,eAAa,IACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,YACFQ,eAAa,IACbC,iBAAe,QACfC,kBAAgB,cAKxB,SAASG,EAAYpB,GACnB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,iXACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,oBACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,mCACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,+BACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,kBACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,+BACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,cAKxB,SAASI,EAASrB,GAChB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,UACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,WACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,8HACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,+GACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,+GACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,gGACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,WACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,UACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,cAMxB,SAASK,EAAkBtB,GACzB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,UACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,UACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,yCACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,0LACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,cAMxB,SAASM,EAAavB,GACpB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEkB,YAAU,UACVC,YAAU,UACVZ,EAAE,uMACFF,KAAK,UAEP,sBACEa,YAAU,UACVC,YAAU,UACVZ,EAAE,gNACFC,OAAO,QACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,+JACFC,OAAO,QACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,oLACFF,KAAK,UAEP,sBACEa,YAAU,UACVC,YAAU,UACVZ,EAAE,mMACFF,KAAK,cA0Db,SAASmB,EAAiBxB,GACxB,OACE,eAACC,EAAA,EAAD,2BAAaD,GAAb,cACE,sBACEO,EAAE,8BACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,kCACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,iIACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,mHACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,yJACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEV,EAAE,yGACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,UAElB,sBACEC,YAAU,UACVC,YAAU,UACVZ,EAAE,sIACFC,OAAO,UACPO,eAAa,MACbC,iBAAe,QACfC,kBAAgB,c,UCvclBQ,EAAkBC,IAAWC,MAAMC,WAEzCH,EAAgBI,QAAU,SAAUC,GAClC,IAAIC,EAAQ,GACZA,EAAMC,MAAQF,EAAKE,OAAS,EAC5B,IAAIC,EAAQC,KAAKC,WAAW,CAC1BC,KAAM,UACNC,WAAY,CACVL,MAAOD,EAAMC,OAEfM,SAAU,CACRF,KAAM,QACNG,YAAa,MAKjB,OAFAL,KAAKM,WAAWP,GAChBF,EAAME,MAAQA,EACPF,GAGTN,EAAgBgB,QAAU,SAAUV,EAAOW,GACzCR,KAAKS,cAAcZ,EAAME,MAAMW,GAAI,CAAEC,QAAQ,IAC7C,IAAIZ,EAAQC,KAAKC,WAAW,CAC1BC,KAAM,UACNC,WAAY,CACVL,MAAOD,EAAMC,OAEfM,SAAU,CACRF,KAAM,QACNG,YAAa,CAACG,EAAEI,OAAOC,IAAKL,EAAEI,OAAOE,QAGzCjB,EAAME,MAAQA,EACdC,KAAKM,WAAWP,GAEhBC,KAAKe,IAAIC,KAAK,cAAe,CAC3BC,SAAU,CAACpB,EAAME,MAAMmB,gBAI3B3B,EAAgB4B,OAAS,WACvBC,QAAQC,IAAI,YAGd9B,EAAgB+B,kBAAoB,SAAUzB,EAAO0B,EAASC,GAC5DA,EAAQD,IAGKhC,Q,kBCjDTkC,G,OAAW,YACXC,EAAa,aACbC,EAAa,aACbC,EAAc,cACdC,EAAU,UACVC,EAAa,aACbC,EAAc,cACdC,EAAe,eACfC,EAAW,WACXC,EAAW,WACXC,EAAS,SACTC,EAAa,aCMbC,EAAY,aAChBC,KAAM,GACNvC,WAAOwC,EACPC,aAASD,EACTE,UAAW,mBACXC,MAAO,uCACPC,eAAgB,GANA,YAOL,CACTzC,KAAM,mBACN0C,IAAK,QACLC,SAAU,sBAIRC,EAAQC,wBAAcV,GACpBW,EAAaF,EAAbE,SAYFC,EAAgB,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SAAe,EACZC,sBAAW,SAACtD,EAAOuD,GAE3C,OADAhC,QAAQC,IAAI+B,EAAQ,WACZA,EAAOlD,MACb,IDjDU,UCkDR,MAAO,CACLwC,MAAO7C,EAAM6C,MACbD,UAAW5C,EAAM4C,UACjBH,KAAMc,EAAOC,QAAQf,KACrBO,SAAUO,EAAOC,QAAQR,UAE7B,KAAKpB,EACH,OAAO,2BACF5B,GADL,IAEEE,MAAOqD,EAAOC,QAAQtD,MACtBuD,aAASf,IAEb,KAAKb,EACH,OAAO,2BACF7B,GADL,IAEE2C,QAASY,EAAOC,QAAQb,QACxBc,aAASf,IAEb,KAAKZ,EACH,OAAO,2BACF9B,GADL,IAEEyD,QAASF,EAAOC,QAAQC,UAE5B,KAAKzB,EACH,OAAO,2BACFhC,GADL,IAEE0D,KAAMH,EAAOC,QAAQE,OAEzB,KAAKzB,EACH,OAAO,2BACFjC,GADL,IAEE2D,QAASJ,EAAOC,QAAQG,UAE5B,KAAKzB,EACH,OAAO,2BACFlC,GADL,IAEE4D,SAAUL,EAAOC,QAAQI,WAE7B,KAAKzB,EACH,OAAO,2BACFnC,GADL,IAEEyD,aAASf,EACTE,UAAWW,EAAOC,QAAQZ,UAC1BgB,SAAUL,EAAOC,QAAQI,SACrBL,EAAOC,QAAQI,SACf5D,EAAM4D,WAGd,KAAKtB,EACH,MAAO,CAELO,MAAO7C,EAAM6C,MACbD,UAAU,2BACL5C,EAAM4C,WADF,IAEPG,IAAKQ,EAAOC,QAAQT,IACpBC,SAAUO,EAAOC,QAAQR,SAAWO,EAAOC,QAAQR,SAAW,MAGpE,KAAKZ,EACH,OAAO,2BACFpC,GADL,IAEE6C,MAAOU,EAAOC,QAAQX,QAE1B,KAAKR,EACH,OAAO,2BACFrC,GADL,IAEE6D,MAAON,EAAOC,QAAQK,QAE1B,KAAKtB,EACH,OAAO,2BACFvC,GADL,IAEE8C,eAAgBgB,KAAKC,SACrBC,QAAST,EAAOC,QAAQQ,UAE5B,KAAKjC,EACH,OAAO,2BACF/B,GADL,IAEE4C,UAAU,2BACL5C,EAAM4C,WADF,IAEPI,SAAUO,EAAOC,QAAQR,aAG/B,QACE,MAAM,IAAIiB,SAEbzB,GA1FmC,mBAC/BxC,EAD+B,KACxBkE,EADwB,KA4FtC,OAAO,cAACf,EAAD,CAAUgB,MAAO,CAAEnE,QAAOkE,YAA1B,SAAuCb,K,wHCpI1Ce,GAFS,IAAIC,gBAAgBC,OAAOV,SAASW,QAE5BC,IAAI,kBAErBC,GACJ,yGAmZF,IAAMC,GAAW,CACfC,QAAS,EACTC,QAAS,CACPC,OAAQ,CACNxE,KAAM,SACNyE,IAAK,6BAEP,iBAAkB,CAChBA,IAAK,oCACLzE,KAAM,UAER0E,cAAe,CACb1E,KAAM,SACNwD,MAAO,CA7ZX,uGA8ZImB,SAAU,KAEZC,aAAc,CACZ5E,KAAM,SACNwD,MAAO,CACL,6HAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,mBAAoB,mBACvC,oBAGJC,mBAAoB,CAClB9E,KAAM,SACNwD,MAAO,CACL,0JAEFmB,SAAU,IACVE,OAAQ,EACL,iBAAkB,mBAAoB,kBACvC,oBAGJE,qBAAsB,CACpB/E,KAAM,SACNwD,MAAO,CAAC,8HAGRmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,mBAAoB,kBACvC,qBAGJG,cAAe,CACbhF,KAAM,SACNwD,MAAO,CACL,oMAGFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,kBACvC,qBAGJI,eAAgB,CACdjF,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,oBAAqB,oBAAqB,mBAC1C,oBAGLK,eAAgB,CACdlF,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,mBAAoB,mBACxC,qBAGJM,qBAAsB,CACpBnF,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,kBAAmB,mBAAoB,kBACvC,qBAGJO,uBAAwB,CACtBpF,KAAM,SACNwD,MAAO,CACL,oMAEFqB,OAAQ,CACN,kBAAmB,mBAAoB,kBACvC,qBAGJQ,eAAgB,CACdrF,KAAM,SACNwD,MAAO,CACL,8LAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,oBAGJS,gBAAiB,CACftF,KAAM,SACNwD,MAAO,CACL,8LAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,kBAAmB,mBACtC,oBAGJU,gBAAiB,CACfvF,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,qBAGJW,gBAAiB,CACfxF,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,qBAGJY,cAAe,CACbzF,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,kBACvC,qBAGJa,cAAe,CACb1F,KAAM,SACNwD,MAAO,CACL,8LAEFmB,SAAU,IACVE,OAAQ,CACN,iBAAkB,kBAAmB,kBACrC,oBAGJc,eAAgB,CACd3F,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,EACL,mBAAoB,mBAAoB,mBACzC,oBAGJe,qBAAsB,CACpB5F,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,EACL,mBAAoB,kBAAmB,mBACxC,oBAGJgB,oBAAqB,CACnB7F,KAAM,SACNwD,MAAO,CACL,kMAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,kBAAmB,kBACtC,oBAGJiB,gBAAiB,CACf9F,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,mBAAoB,kBACvC,qBAGJkB,mBAAoB,CAClB/F,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,mBAAoB,mBACxC,oBAGJmB,eAAgB,CACdhG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,EACL,kBAAoB,mBAAoB,mBACzC,qBAGJoB,gBAAiB,CACfjG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,gBAAiB,mBACpC,qBAGJqB,gBAAiB,CACflG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,EACL,iBAAmB,mBAAoB,kBACxC,qBAGJsB,iBAAkB,CAChBnG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,kBAAmB,kBACvC,mBAGJuB,oBAAqB,CACnBpG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,iBAAkB,kBAAmB,kBACrC,oBAGJwB,oBAAqB,CACnBrG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,mBAAoB,iBAAkB,kBACtC,qBAGJyB,oBAAqB,CACnBtG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,CACN,kBAAmB,kBAAmB,kBACtC,qBAGJ0B,sBAAuB,CACrBvG,KAAM,SACNwD,MAAO,CACL,oMAEFmB,SAAU,IACVE,OAAQ,EACL,mBAAoB,mBAAoB,mBACzC,oBAGJ2B,eAAgB,CACdxG,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,mBAAoB,mBAAoB,mBACzC,oBAGJ4B,eAAgB,CACdzG,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,oBAGJ6B,eAAgB,CACd1G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,kBAAmB,kBAAmB,kBACtC,qBAGJ8B,2BAA4B,CAC1B3G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,oBAGJ+B,iBAAkB,CAChB5G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,kBAAmB,kBACvC,oBAIJgC,mBAAoB,CAClB7G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,kBAAmB,mBAAoB,kBACvC,oBAKJiC,iBAAkB,CAChB9G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,mBAAoB,oBAAqB,mBAC1C,qBAKJkC,kBAAmB,CACjB/G,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,mBAAoB,mBAAoB,kBACzC,oBAMJmC,oBAAqB,CACnBhH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,kBAAmB,mBAAoB,kBACxC,qBAMJoC,mBAAoB,CAClBjH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,kBAAmB,mBACvC,oBAMJqC,mBAAoB,CAClBlH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,EACL,kBAAmB,mBAAoB,mBACxC,oBAMJsC,oBAAqB,CACnBnH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,kBAAoB,kBAAmB,mBACvC,qBAKJuC,mBAAoB,CAClBpH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,oBAAqB,mBAAoB,oBACxC,mBAILwC,2BAA4B,CAC1BrH,KAAM,SACNwD,MAAO,CACLY,GACE,8FAEJS,OAAQ,CACN,mBAAoB,gBAAiB,mBACrC,qBAGJyC,kBAAmB,CACjBtH,KAAM,SACNwD,MAAO,CACLY,GACE,0FAEJS,OAAQ,CACN,mBAAoB,mBAAoB,mBACxC,sBAKN0C,OAAQ,gDACRC,OACE,wFACFC,OAAQ,CACN,CACEjH,GAAI,SACJkH,OAAQ,SACR1H,KAAM,SACN2H,QAAS,IAEX,CACEnH,GAAI,gBACJkH,OAAQ,gBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,GACTE,OAAQ,CAAEC,WAAY,WAKtBC,GAAc,CAClBC,iBAAkB,CAChBC,OAAQ,CACNC,OAAQ,CAAC,WAAY,WACrBC,KAAM,gBACNC,aAAc,MAEhBC,KAAM,CACJH,OAAQ,EAAE,QAAS,SACnBC,KAAM,mBACNC,aAAc,MAEhBE,QAAS,CACPJ,OAAQ,CAAC,QAAS,SAClBC,KAAM,mBACNC,aAAc,MAEhBG,QAAS,CACPL,OAAQ,CAAC,YAAa,cACtBC,KAAM,oBACNC,aAAc,KACdI,KAAM,SAERC,QAAS,CACPP,OAAQ,CAAC,SAAU,UACnBQ,KAAM,GACNP,KAAM,wBACNC,aAAc,KACdI,KAAM,SAERG,cAAe,CAEbT,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,sBACNC,aAAc,KACdI,KAAM,SAERI,MAAO,CACLV,OAAQ,CAAC,SAAU,UACnBC,KAAM,oBACNC,aAAc,MAEhBS,MAAO,CACLX,OAAQ,CAAC,WAAY,cACrBC,KAAM,eACNC,aAAc,MAEhBU,OAAQ,CACNZ,OAAQ,EAAE,SAAU,SACpBC,KAAM,qBACNC,aAAc,MAEhBW,aAAc,CACZb,OAAQ,EAAE,UAAW,UACrBQ,KAAM,GACNP,KAAM,uBACNC,aAAc,MAEhBY,SAAU,CAERd,OAAQ,EAAE,UAAW,UACrBQ,KAAM,KACNP,KAAM,gBACNC,aAAc,MAEhBa,YAAa,CACXf,OAAQ,CAAC,KAAM,OACfC,KAAM,sBACNC,aAAc,MAEhBc,MAAO,CACLhB,OAAQ,CAAC,aAAc,cACvBQ,KAAM,KACNP,KAAM,2BACNC,aAAc,MAEhBe,QAAS,CACPjB,OAAQ,CAAC,QAAS,UAClBC,KAAM,uBACNC,aAAc,MAEhBgB,WAAY,CACVlB,OAAQ,CAAC,WAAY,UACrBQ,KAAM,MACNP,KAAM,yBACNC,aAAc,MAGhBiB,WAAY,CACVnB,OAAQ,CAAC,WAAY,UACrBQ,KAAM,MACNP,KAAM,uBACNC,aAAc,MAEhBkB,OAAQ,CACNZ,KAAM,KACNR,OAAQ,CAAC,UAAW,WACpBC,KAAM,gBACNC,aAAc,MAEhBmB,WAAY,CACVb,KAAM,GACNR,OAAQ,CAAC,UAAW,WACpBC,KAAM,iBACNC,aAAc,MAEhBoB,WAAY,CACVtB,OAAQ,CAAC,UAAW,UACpBQ,KAAM,KACNP,KAAM,oBACNC,aAAc,MAGhBqB,mBAAoB,CAClBvB,OAAQ,CAAC,WAAY,WACrBQ,KAAM,MACNP,KAAM,4BACNC,aAAc,MAEhBsB,OAAQ,CACNxB,OAAQ,EAAE,OAAS,UACnBQ,KAAM,MACNP,KAAM,eACNC,aAAc,MAEhBuB,YAAa,CAEXzB,OAAQ,CAAC,QAAS,UAClBQ,KAAM,MACNP,KAAM,mBACNC,aAAc,MAEhBwB,QAAS,CACP1B,OAAQ,CAAC,QAAS,SAClBQ,KAAM,GACNP,KAAM,kBACNC,aAAc,MAEhByB,QAAS,CACP3B,OAAQ,EAAE,MAAQ,SAClBQ,KAAM,MACNP,KAAM,2BACNC,aAAc,MAEhB0B,UAAW,CACT5B,OAAQ,EAAE,QAAS,UACnBQ,KAAM,MACNP,KAAM,yBACNC,aAAc,MAEhB2B,SAAU,CACR7B,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,kBACNC,aAAc,MAEhB4B,YAAa,CACX9B,OAAQ,CAAC,QAAS,UAClBQ,KAAM,KACNP,KAAM,wBACNC,aAAc,KACdI,KAAM,SAERyB,OAAQ,CACN/B,OAAQ,CAAC,SAAU,UACnBQ,KAAM,KACNP,KAAM,wBACNC,aAAc,MAEhB8B,WAAY,CACVhC,OAAQ,CAAC,SAAU,UACnBQ,KAAM,KACNP,KAAM,kBACNC,aAAc,MAEhB+B,OAAQ,CACNjC,OAAQ,EAAE,UAAW,UACrBQ,KAAM,MACNP,KAAM,sBACNC,aAAc,MAEhBgC,OAAQ,CACNlC,OAAQ,EAAE,UAAW,QACrBQ,KAAM,MACNP,KAAM,uBACNC,aAAc,MAEhBiC,YAAa,CAEXnC,OAAQ,EAAE,SAAU,SACpBQ,KAAM,MACNP,KAAM,mBACNC,aAAc,MAEhBkC,OAAQ,CACNpC,OAAQ,CAAC,aAAc,cACvBQ,KAAM,MACNP,KAAM,gCACNC,aAAc,MAEhBmC,WAAY,CACVrC,OAAQ,EAAE,QAAS,UACnBQ,KAAM,MACNP,KAAM,iBACNC,aAAc,MAEhBoC,SAAU,CACRtC,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,iBACNC,aAAc,MAGhBqC,WAAY,CAEVvC,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,kBACNC,aAAc,MAEhBsC,UAAW,CAETxC,OAAQ,CAAC,WAAY,WACrBQ,KAAM,MACNP,KAAM,wBACNC,aAAc,OAGlBuC,cAAe,CACb1C,OAAQ,CACNC,OAAQ,CAAC,SAAU,UACnBC,KAAM,gBACNC,aAAc,MAEhBC,KAAM,CACJH,OAAQ,EAAE,QAAS,SACnBC,KAAM,mBACNC,aAAc,MAEhBE,QAAS,CACPJ,OAAQ,CAAC,QAAS,SAClBC,KAAM,UACNC,aAAc,MAEhBG,QAAS,CACPL,OAAQ,CAAC,QAAS,UAClBC,KAAM,UACNC,aAAc,KACdI,KAAM,SAERC,QAAS,CACPP,OAAQ,CAAC,SAAU,UACnBQ,KAAM,GACNP,KAAM,UACNC,aAAc,KACdI,KAAM,SAERI,MAAO,CAAEV,OAAQ,CAAC,SAAU,UAAWC,KAAM,QAASC,aAAc,MACpES,MAAO,CACLX,OAAQ,CAAC,WAAY,cACrBC,KAAM,eACNC,aAAc,MAEhBU,OAAQ,CACNZ,OAAQ,EAAE,SAAU,SACpBC,KAAM,qBACNC,aAAc,MAEhBW,aAAc,CACZb,OAAQ,EAAE,SAAU,SACpBQ,KAAM,GACNP,KAAM,uBACNC,aAAc,MAEhBa,YAAa,CACXf,OAAQ,CAAC,KAAM,OACfC,KAAM,cACNC,aAAc,MAEhBc,MAAO,CACLhB,OAAQ,CAAC,aAAc,cACvBQ,KAAM,KACNP,KAAM,iBACNC,aAAc,MAEhBe,QAAS,CACPjB,OAAQ,CAAC,QAAS,UAClBC,KAAM,UACNC,aAAc,MAEhBkB,OAAQ,CACNZ,KAAM,KACNR,OAAQ,CAAC,UAAW,WACpBC,KAAM,gBACNC,aAAc,MAEhBoB,WAAY,CACVtB,OAAQ,CAAC,UAAW,UACpBQ,KAAM,KACNP,KAAM,oBACNC,aAAc,MAEhBsB,OAAQ,CACNxB,OAAQ,EAAE,OAAS,UACnBQ,KAAM,MACNP,KAAM,SACNC,aAAc,MAEhBwB,QAAS,CACP1B,OAAQ,CAAC,QAAS,SAClBQ,KAAM,GACNP,KAAM,UACNC,aAAc,MAEhByB,QAAS,CACP3B,OAAQ,EAAE,MAAQ,SAClBQ,KAAM,MACNP,KAAM,iBACNC,aAAc,MAEhB2B,SAAU,CACR7B,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,WACNC,aAAc,MAEhB4B,YAAa,CACX9B,OAAQ,CAAC,QAAS,UAClBQ,KAAM,KACNP,KAAM,cACNC,aAAc,KACdI,KAAM,SAERyB,OAAQ,CACN/B,OAAQ,CAAC,SAAU,UACnBQ,KAAM,KACNP,KAAM,SACNC,aAAc,MAEhB+B,OAAQ,CACNjC,OAAQ,EAAE,UAAW,UACrBQ,KAAM,MACNP,KAAM,sBACNC,aAAc,MAEhBgC,OAAQ,CACNlC,OAAQ,EAAE,UAAW,QACrBQ,KAAM,MACNP,KAAM,uBACNC,aAAc,OAIlBwC,WAAY7G,GACR,CACEoG,OAAQ,CACNjC,OAAQ,EAAE,UAAW,UACrBQ,KAAM,GACNP,KAAM,SACNC,aAAc,MAEhByC,QAAS,CACP3C,OAAQ,EAAE,UAAW,SACrBQ,KAAM,KACNP,KAAM,oBACNC,aAAc,MAEhB0C,QAAS,CACP5C,OAAQ,CAAC,UAAW,WACpBC,KAAM,0BACNO,KAAM,GACNN,aAAc,MAEhB2C,QAAS,CACP7C,OAAQ,CAAC,UAAW,WACpBC,KAAM,eACNO,KAAM,MACNN,aAAc,MAEhB4C,QAAS,CACP9C,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,UACNC,aAAc,OAGlB,CACEyC,QAAS,CACP3C,OAAQ,EAAE,UAAW,SACrBQ,KAAM,KACNP,KAAM,oBACNC,aAAc,MAEhB0C,QAAS,CACP5C,OAAQ,CAAC,UAAW,WACpBC,KAAM,0BACNO,KAAM,GACNN,aAAc,MAEhB2C,QAAS,CACP7C,OAAQ,CAAC,UAAW,WACpBC,KAAM,eACNO,KAAM,MACNN,aAAc,MAEhB6C,OAAQ,CACN/C,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,kBACNC,aAAc,MAEhB4C,QAAS,CACP9C,OAAQ,CAAC,SAAU,UACnBQ,KAAM,MACNP,KAAM,UACNC,aAAc,MAEhB8C,MAAO,CACLhD,OAAQ,CAAC,UAAW,UACpBQ,KAAM,KACNP,KAAM,QACNC,aAAc,MAEhB+C,SAAU,CACRjD,OAAQ,CAAC,UAAW,WACpBQ,KAAM,KACNP,KAAM,uBACNC,aAAc,MAEhBgD,MAAO,CACLlD,OAAQ,CAAC,SAAU,SACnBQ,KAAM,KACNP,KAAM,QACNC,aAAc,MAEhBiD,QAAS,CACPnD,OAAQ,CAAC,QAAS,UAClBQ,KAAM,CAAC,MACPP,KAAM,UACNC,aAAc,MAEhBgC,OAAQ,CACNlC,OAAQ,EAAE,UAAW,UACrBQ,KAAM,CAAC,MACPP,KAAM,SACNC,aAAc,MAEhBkD,SAAU,CACRpD,OAAQ,CAAC,WAAY,UACrBQ,KAAM,CAAC,IACPP,KAAM,WACNC,aAAc,MAEhB4B,YAAa,CACX9B,OAAQ,CAAC,SAAU,WACnBQ,KAAM,CAAC,MACPP,KAAM,cACNC,aAAc,MAEhBmD,SAAU,CACRrD,OAAQ,EAAE,SAAU,UACpBQ,KAAM,CAAC,OACPP,KAAM,oBACNC,aAAc,QAWxB,SAASoD,GAAyB3K,GAChCK,QAAQC,IAAI,4BAOZ,IAAM0D,EAAShE,EAAI4K,YAsBbC,EATUC,IAASC,YACvBD,IAASE,WAAW,CAClBhH,EAAOiH,IAAInL,IACXkE,EAAOiH,IAAIlL,IACXiE,EAAOkH,IAAIpL,IACXkE,EAAOkH,IAAInL,OAISoL,QAAO,SAACC,EAAK5I,GACnC,IAAML,EAAW2I,IAASC,YAAYvI,GACtC,OAAO4I,EAAIC,OAAOlJ,KACjB,IAkBGkF,GAdkBwD,EAAQ,GAAG,GAAK7K,EAAIsL,WAGxCT,EAAQM,QAAO,SAACC,EAAK5I,GACnB,IAAML,EAAW2I,IAASC,YAAYvI,GACtC,OAAO4I,EAAIC,OAAOlJ,KACjB,IAQQnC,EAAIuL,aAEbC,EAAaV,IAASW,YAC1BpE,EAAOvH,IACPuH,EAAOtH,IACP6C,KAAK8I,MAAM1L,EAAIsL,WAAa,GAGxBK,EAAab,IAASc,UAC1Bd,IAASc,UAAUd,IAASc,UAAUJ,KAexC,OAZsBV,IAASC,YAAYY,GACLR,QAAO,SAACC,EAAK5I,GACjD,IAAML,EAAW2I,IAASC,YAAYvI,GACtC,OAAO4I,EAAIC,OAAOlJ,KACjB,IAEqCgJ,QAAO,SAACC,EAAK5I,GACnD,IAAML,EAAW2I,IAASC,YAAYvI,GACtC,OAAO4I,EAAIC,OAAOlJ,KACjB,I,gCCx5CL0J,IAASC,YACP,wGAGF,IAAIC,GAAoB3I,OAAO4I,YAE/B5I,OAAO6I,iBAAiB,UAAU,WAChCF,GAAoB3I,OAAO4I,eAG7B,IAAME,GAAYC,YAAW,CAC3BC,sBAAuB,CACrBC,SAAU,WACVC,KAAM,GACNC,IAAK,EACLC,OAAQ,EACRC,UAAW,IACXC,YAAa,EACbC,SAAU,IACVC,UAAW,OACXC,MAAO,QAETC,gBAAiB,CACfC,QAAS,GACTP,OAAQ,EACRH,SAAU,WACVE,KAAM,GACNS,UAAW,0CAEbC,aAAc,CACZZ,SAAU,WACVG,OAAQ,GAEVU,mBAAoB,CAClBb,SAAU,WACVc,MAAO,EACPC,OAAQ,GACRZ,OAAQ,EACRtP,OAAQ,GACRD,MAAO,GACP,4BAA6B,CAC3BmQ,OAAQ,KAGZC,SAAU,CACRjQ,KAAM,QAERkQ,qBAAsB,CACpBjB,SAAU,WACVc,MAAO,GACPC,OAAQ,IAKVG,YAAa,CACXC,gBAAiB,UACjBC,SAAU,IAEZC,sBAAuB,CACrBrB,SAAU,WACVc,MAAO,EACPZ,IAAK,OACLiB,gBAAiB,OACjBG,aAAc,EACd,4BAA6B,CAC3BlN,QAAS,SAGbmN,qBAAsB,CACpBJ,gBAAiB,OACjBX,MAAO,OACPc,aAAc,EACdZ,QAAS,EACT,UAAW,CACTF,MAAO,SAGXgB,2BAA4B,CAC1BL,gBAAiB,OACjBX,MAAO,OACPc,aAAc,EACdZ,QAAS,GAEXe,uBAAwB,CACtBzB,SAAU,WACVc,MAAO,GACPZ,IAAKR,GAAoB,IACzByB,gBAAiB,OACjBG,aAAc,EACd,4BAA6B,CAC3BlN,QAAS,SAGbsN,yBAA0B,CACxB1B,SAAU,WACVc,MAAO,GACPC,OAAQ,GACRI,gBAAiB,OACjBG,aAAc,EACd,4BAA6B,CAC3BlN,QAAS,WAm6BAuN,GA95BH,SAACjR,GACX,IAqCIkR,EArCEC,EAAkBC,iBAAO,MACzBC,EAASD,iBAAO,MAFD,EAkBjBE,qBAAWtM,GAlBM,IAInBjD,MACQyC,EALW,EAKjBA,KAEAgB,EAPiB,EAOjBA,QACAvD,EARiB,EAQjBA,MACAyC,EATiB,EASjBA,QACAiB,EAViB,EAUjBA,SACAhB,EAXiB,EAWjBA,UACAoB,EAZiB,EAYjBA,QACAH,EAbiB,EAajBA,MACAf,EAdiB,EAcjBA,eACAa,EAfiB,EAejBA,QAEFO,EAjBmB,EAiBnBA,SAGIsL,EAAUpC,KAEDrE,GAAwD9K,EAA/DwR,MAA+DxR,EAAxD8K,MAAM2G,EAAkDzR,EAAlDyR,QAASC,EAAyC1R,EAAzC0R,kBAAmBC,EAAsB3R,EAAtB2R,kBAtB5B,EAwBCC,mBAAS,YAxBV,mBAwBd7O,EAxBc,aAyBC6O,mBAAS,YAzBV,mBAyBd5O,EAzBc,aA2BC4O,mBAAS,OA3BV,mBA2Bd3O,EA3Bc,KA2BT4O,GA3BS,QA4BGD,mBAAS,MA5BZ,qBA4BdE,GA5Bc,MA4BRC,GA5BQ,MA+BfC,IADUZ,iBAAO,MACHA,iBAAO,OA/BN,GAgCiBQ,mBAASjN,EAAUI,UAhCpC,qBAgCdkN,GAhCc,gBAiCyBL,oBAAS,IAjClC,qBAiCdM,GAjCc,MAiCGC,GAjCH,SAmCmBP,mBAAS,IAnC5B,qCAoCqBA,mBAASjM,IApC9B,qBAoCdyM,GApCc,MAoCCC,GApCD,MAwCrBC,qBAAU,WACR,IAAML,EAActN,EAAUI,SAG9B,GAAI9B,GAAOgP,EAAa,CACtB3O,QAAQC,IAAI,eACZD,QAAQC,IAAI,KAAM0O,GAClB,IAAMM,EAAO,IAAI7Q,IAAW,CAC1B8Q,wBAAwB,EACxB7Q,MAAO8Q,OAAOC,OACZ,CACEC,kBAAmBlR,EACnBmR,eAAgBC,KAElBnR,IAAWC,SASf,OALAsB,EAAI6P,WAAWP,EAAM,YAErBA,EAAKQ,WAAWd,GAChBF,GAAQQ,GACRP,GAAYgB,QAAUf,EACf,WACL3O,QAAQC,IAAI,YACZN,EAAIgQ,cAAcV,IAGH,kBAAfN,GACFE,IAAmB,KAEpB,CAACxN,EAAUI,SAAU9B,EAAK+O,KAE7BM,qBAAU,WAGR,GAAsB,SAAlB3N,EAAUG,KAAoC,eAAlBH,EAAUG,IACxC,IACEgN,IAAQA,GAAKoB,YACbpB,IAAQA,GAAKiB,WAAWpO,EAAUI,UAClC,MAAOrC,GACPY,QAAQC,IAAIb,GAsBhB,GAnBsB,eAAlBiC,EAAUG,KAAwB7B,GACpCA,EAAIkQ,GAAG,SAAS,SAAUzQ,GACxBY,QAAQC,IAAIb,GACZ,IAAI0Q,EAAQtE,IAASuE,mBAAmBC,WAAW5Q,EAAEI,OAAQ,GAC7DQ,QAAQC,IAAI6P,GACZnN,EAAS,CACP7D,KAAM2B,EACNwB,QAAS,CACPE,KAAMsI,IAASW,YACbhM,EAAEI,OAAOC,IACTL,EAAEI,OAAOE,IACT6C,KAAK8I,MAAM1L,EAAIsL,WAAa,SAQhB,aAAlB5J,EAAUG,KAAsB7B,EAClCK,QAAQC,IAAI,YAEZN,EAAIsQ,MAAM,CAAEjJ,OAAQ,CAAC,KAAM,MAAOQ,KAAM,WACnC,GAAI7H,EAAK,CACdK,QAAQC,IAAI,WAAYoC,EAAUyM,IAOlC,IACMoB,EAAkBf,OAAOgB,OAAOtJ,GAAYxF,EAAUvC,OAAO,GACnEkB,QAAQC,IAAI,oCAAqCiQ,EAAgBlJ,QAEjErH,EAAIsL,UAAY,IACb6D,GACGnP,EAAIsQ,MAAM,CACRjJ,OAAQ8H,GAAc9H,OACtBQ,KAAMsH,GAActH,KAChBsH,GAActH,KACL,kBAATtG,EACA,EACA,KAENvB,EAAIsQ,MAAM,CACRjJ,OAAQkJ,EAAgBlJ,OACxBQ,KAAM0I,EAAgB1I,KAAO0I,EAAgB1I,KAAO,MAI1D7H,GACEA,GAAOA,EAAIyQ,UAAU,aACvBpQ,QAAQC,IAAI,oBACZN,EAAI0Q,YAAY,WAChB1Q,EAAI2Q,aAAa,cAGpB,CAACjP,EAAUG,MAEdwN,qBAAU,WACRhP,QAAQC,IAAI,UAAWwC,EAASlB,GAC5B5B,GAAOA,EAAIyQ,UAAU,aACvBpQ,QAAQC,IAAI,oBACZN,EAAI0Q,YAAY,WAChB1Q,EAAI2Q,aAAa,YAGf7N,GAAW9C,GAAyB,QAAlB0B,EAAUG,MAC9BxB,QAAQC,IAAI,kBACZN,EAAI4Q,UAAU,UAAW,CACvBzR,KAAM,SACNwD,MAAO,CAACG,GACRgB,SAAU,IACVE,OAAQ,CACNhE,EAAI4K,YAAYK,IAAInL,IACpBE,EAAI4K,YAAYK,IAAIlL,IACpBC,EAAI4K,YAAYM,IAAIpL,IACpBE,EAAI4K,YAAYM,IAAInL,OAIxBC,EAAI6Q,SAAS,CACXlR,GAAI,UACJkH,OAAQ,UACR1H,KAAM,SACN4H,QAAS,EACTD,QAASnE,EAAM,GACfqE,OAAQ,CAAEC,WAAY,cAItBjH,GAAOA,EAAIyQ,UAAU,gBACvBzQ,EAAI0Q,YAAY,cAChB1Q,EAAI2Q,aAAa,eAGf7N,GAAW9C,GAAyB,SAAlB0B,EAAUG,MAC9B7B,EAAI4Q,UAAU,aAAc,CAC1BzR,KAAM,QACNyE,IAAKd,EACLxD,YAAa,CACXmC,EAAQ,GAAG,GACXA,EAAQ,GAAG,GACXA,EAAQ,GAAG,GACXA,EAAQ,GAAG,MAIfzB,EAAI6Q,SAAS,CACXlR,GAAI,aACJR,KAAM,SACN0H,OAAQ,aACRiK,MAAO,CACL,iBAAkB,GAEpB9J,OAAQ,CAAEC,WAAY,gBAKzB,CAACnE,EAASlB,IAEbyN,qBAAU,WACR,IAAMrP,EAAM,IAAI6L,IAASmC,IAAI,CAC3B+C,UAAW7C,EAAgB6B,QAC3BiB,MAAOxN,GACP6D,OAAQ,CAACvH,EAAKC,GACd8H,KAAMA,EACNoJ,MAAM,EACNC,QAAS,OAwEX,OArEAlR,EAAIkQ,GAAG,QAAQ,WACblQ,EAAIkQ,GAAG,WAAW,SAACzQ,GACjB+O,EAAQxO,EAAIsL,cDxWpB,SAA0BtL,GACxBA,EAAI6Q,SAAS,CACXlR,GAAI,eACJkH,OAAQ,eACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,GACTE,OAAQ,CAAEC,WAAY,aAExBjH,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,GACTE,OAAQ,CAAEC,WAAY,aAExBjH,EAAI6Q,SAAS,CACXlR,GAAI,uBACJkH,OAAQ,uBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,GACTE,OAAQ,CAAEC,WAAY,aAExBjH,EAAI6Q,SAAS,CACXlR,GAAI,gBACJkH,OAAQ,gBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,GACTE,OAAQ,CAAEC,WAAY,aAExBjH,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,uBACJkH,OAAQ,uBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,gBACJkH,OAAQ,gBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,gBACJkH,OAAQ,gBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,uBACJkH,OAAQ,uBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KASX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,kBACJkH,OAAQ,kBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,mBACJkH,OAAQ,mBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,wBACJkH,OAAQ,wBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,yBACJkH,OAAQ,yBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,iBACJkH,OAAQ,iBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,oBACJkH,OAAQ,mBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,6BACJkH,OAAQ,6BACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,mBACJkH,OAAQ,mBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,oBACJkH,OAAQ,oBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,mBACJkH,OAAQ,mBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,6BACJkH,OAAQ,6BACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,sBACJkH,OAAQ,sBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAGX9G,EAAI6Q,SAAS,CACXlR,GAAI,qBACJkH,OAAQ,qBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KAEX9G,EAAI6Q,SAAS,CACXlR,GAAI,oBACJkH,OAAQ,oBACR1H,KAAM,SACN4H,QAAS,EACTD,QAAS,KCoDPqK,CAAiBnR,GDslCvB,SAA6BA,GAC3BA,EAAI6Q,SAAS,CACXlR,GAAI,sBACJR,KAAM,OACN0H,OAAQ,iBACR,eAAgB,QAChBE,QAAS,EACTqK,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,eAAgB,GAC/B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,IAEvDN,MAAO,CACL,aAAc,CACZ,cACA,CAAC,UACD,CAAC,QACD,EACA,kBACA,GACA,mBAEF,aAAc,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,KAAM,GAAI,KACjE,eAAgB,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,EAAG,KAC/D,iBAAkB,CAAC,EAAG,GACtB,YAAa,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,EAAG,IAE9DO,SAAU,CACR,0BAA2B,mBAC3B,eAAgB,sCAGpBrR,EAAI6Q,SAAS,CACXlR,GAAI,sBACJR,KAAM,OACN0H,OAAQ,iBACR,eAAgB,QAChBE,QAAS,EACTqK,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,eAAgB,GAC/B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,IAEvDN,MAAO,CACL,aAAc,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,KAAM,GAAI,IACjE,aAAc,CACZ,cACA,CAAC,UACD,CAAC,QACD,EACA,kBACA,EACA,mBAEF,eAAgB,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,EAAG,IAC/D,YAAa,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,GAAI,IAE/DO,SAAU,CACR,0BAA2B,mBAC3B,eAAgB,sCAGpBrR,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CAAE,WAAY,SACtBqK,SAAU,CACR,0BAA2B,mBAC3B,eAAgB,oCAElBD,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,eAAgB,GAC/B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,IAEvDjS,KAAM,OACN0H,OAAQ,iBACRlH,GAAI,mBACJmR,MAAO,CACL,iBAAkB,CAChB,OACA,CAAC,QACD,CAAC,UAAW,CAAC,EAAG,IAChB,EACA,CAAC,UAAW,CAAC,EAAG,EAAG,EAAG,KAExB,aAAc,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,IAAM,GAAI,KACjE,eAAgB,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,EAAG,EAAG,GAC/D,aAAc,CACZ,cACA,CAAC,UACD,CAAC,QACD,EACA,iBACA,EACA,mBAGJ,eAAgB,UAElB9Q,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CAAE,WAAY,SACtBqK,SAAU,CACR,0BAA2B,mBAC3B,eAAgB,oCAElBD,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,eAAgB,GAC/B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,IAEvDjS,KAAM,OACN0H,OAAQ,iBACRlH,GAAI,mBACJmR,MAAO,CACL,aAAc,iBACd,aAAc,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,IAAM,GAAI,GACjE,iBAAkB,CAAC,GAAI,IAEzB,eAAgB,UAElB9Q,EAAI6Q,SAAS,CACXlR,GAAI,4BACJR,KAAM,OACN0H,OAAQ,iBACR,eAAgB,QAChBE,QAAS,EACTqK,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,KAAM,CAAC,MAAO,eAAgB,GAC/B,CAAC,KAAM,CAAC,MAAO,YAAa,SAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,IAEvDN,MAAO,CACL,aAAc,iBACd,aAAc,CAAC,cAAe,CAAC,UAAW,CAAC,QAAS,EAAG,IAAM,GAAI,GACjE,iBAAkB,CAChB,OACA,CAAC,QACD,CAAC,UAAW,CAAC,KAAM,OACnB,EACA,CAAC,UAAW,CAAC,IAAK,MAClB,EACA,CAAC,UAAW,CAAC,EAAG,OAChB,EACA,CAAC,UAAW,CAAC,KAAM,MAGvBO,SAAU,CACR,0BAA2B,mBAC3B,eAAgB,sCAGpBrR,EAAI6Q,SAAS,CACX9J,QAAS,GACTC,OAAQ,CACN,aAAc,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,SACvD,iBAAkB,YAClB,YAAa,CAAC,iBAAkB,4BAChC,sBAAuB,CAAC,QAAS,CAAC,MAAO,QAAS,SAAU,IAAM,IAClE,iBAAkB,EAClB,eAAgB,EAChB,YAAa,CACX,cACA,CAAC,eAAgB,GAAK,EAAG,EAAG,GAC5B,CAAC,QACD,GACA,CAAC,QAAS,CAAC,MAAO,QAAS,SAAU,GAAI,MACzC,GACA,CAAC,QAAS,CAAC,MAAO,QAAS,SAAU,GAAI,MAG7CqK,SAAU,CACR,0BAA2B,eAC3B,eAAgB,8BAElBvK,QAAS,GACTsK,OAAQ,CACN,MACA,CACE,QACA,CAAC,MAAO,SACR,yBACA,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,GACrD,kCACA,CACE,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,KAEvD,GAEF,CAAC,KAAM,CAAC,MAAO,cAAe,IAEhCjS,KAAM,SACN0H,OAAQ,iBACRlH,GAAI,+BACJmR,MAAO,CACL,kBAAmB,wBACnB,kBAAmB,EACnB,aAAc,mBACd,iBAAkB,IAEpB,eAAgB,gBAElB9Q,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CACN,mBAAoB,IACpB,YAAa,CACX,cACA,CAAC,eAAgB,GAAK,EAAG,GAAK,GAC9B,CAAC,QACD,EACA,CACE,OACA,CAAC,MAAO,cACR,GACA,EACA,GACA,GACA,KACA,GACA,IACA,GACA,IACA,GACA,IACA,GACA,GAEF,GACA,CACE,OACA,CAAC,MAAO,cACR,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,KAGJ,qBAAsB,CACpB,OACA,CAAC,QACD,CAAC,QAAS,CAAC,MAAO,WAAY,EAAG,GAAK,KACtC,EACA,GAEF,aAAc,CACZ,OACA,CAAC,QACD,CACE,OACA,CAAC,KAAM,CAAC,MAAO,WAAY,GAC3B,gBACA,CAAC,OAAQ,CAAC,MAAO,cAAe,SAAU,EAAG,SAAU,GAAI,UAE7D,EACA,IAEF,YAAa,CAAC,iBAAkB,4BAChC,eAAgB,OAChB,cAAe,CAAC,OAAQ,CAAC,QAAS,CAAC,MAAO,eAAgB,EAAG,UAC7D,aAAc,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,SACvD,iBAAkB,GAEpBqK,SAAU,CACR,0BAA2B,eAC3B,eAAgB,8BAElBvK,QAAS,GACTsK,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,cAAe,GAC9B,CACE,QACA,CAAC,MAAO,SACR,aACA,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,GACrD,sBACA,CACE,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,KAEvD,GAEF,CACE,OACA,CAAC,QACD,CAAC,IAAK,CAAC,MAAO,cAAe,GAC7B,EACA,CAAC,KAAM,CAAC,MAAO,cAAe,GAC9B,EACA,CAAC,KAAM,CAAC,MAAO,cAAe,GAC9B,EACA,CAAC,KAAM,CAAC,MAAO,cAAe,IAC9B,GACA,CAAC,KAAM,CAAC,MAAO,cAAe,IAC9B,GACA,CAAC,KAAM,CAAC,MAAO,cAAe,IAC9B,GACA,CAAC,KAAM,CAAC,MAAO,cAAe,MAGlCjS,KAAM,SACN0H,OAAQ,iBACRlH,GAAI,yBACJmR,MAAO,CACL,aAAc,kBACd,kBAAmB,iBACnB,kBAAmB,EACnB,iBAAkB,GAEpB,eAAgB,gBAElB9Q,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CACN,mBAAoB,IACpB,YAAa,CACX,cACA,CAAC,eAAgB,GAAK,EAAG,GAAK,GAC9B,CAAC,QACD,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,IACvC,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,GAAI,EAAG,IAC9C,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,GAAI,GAAI,IAC/C,GACA,CACE,OACA,CAAC,MAAO,cACR,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,KAGJ,qBAAsB,CACpB,OACA,CAAC,QACD,CAAC,QAAS,CAAC,MAAO,WAAY,EAAG,GAAK,KACtC,EACA,GAEF,aAAc,CACZ,OACA,CAAC,QACD,CACE,OACA,CAAC,KAAM,CAAC,MAAO,WAAY,GAC3B,gBACA,CAAC,OAAQ,CAAC,MAAO,cAAe,SAAU,EAAG,SAAU,GAAI,UAE7D,EACA,IAEF,YAAa,CAAC,iBAAkB,4BAChC,eAAgB,CACd,OACA,CAAC,QACD,CACE,QACA,CAAC,MAAO,eACR,CAAC,OAAQ,cAAe,YACxB,OACA,CAAC,QAAS,eAAgB,aAC1B,QACA,UAEF,EACA,UAEF,cAAe,CAAC,OAAQ,CAAC,QAAS,CAAC,MAAO,eAAgB,EAAG,UAC7D,aAAc,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,SACvD,iBAAkB,GAEpBqK,SAAU,CACR,0BAA2B,eAC3B,eAAgB,8BAElBvK,QAAS,GACTsK,OAAQ,CACN,MACA,CAAC,KAAM,CAAC,MAAO,cAAe,GAC9B,CACE,QACA,CAAC,MAAO,SACR,aACA,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,GACrD,sBACA,CACE,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,KAEvD,GAEF,CACE,OACA,CAAC,SACD,EACA,EACA,CAAC,KAAM,CAAC,MAAO,cAAe,GAC9B,EACA,CAAC,IAAK,CAAC,MAAO,cAAe,GAC7B,EACA,CAAC,IAAK,CAAC,MAAO,cAAe,GAC7B,EACA,CAAC,IAAK,CAAC,MAAO,cAAe,IAC7B,GACA,CAAC,IAAK,CAAC,MAAO,cAAe,IAC7B,GACA,CAAC,IAAK,CAAC,MAAO,cAAe,IAC7B,GACA,CAAC,IAAK,CAAC,MAAO,cAAe,IAC7B,GACA,CAAC,KAAM,CAAC,MAAO,cAAe,IAC9B,GACA,CAAC,KAAM,CAAC,MAAO,cAAe,MAGlCjS,KAAM,SACN0H,OAAQ,iBACRlH,GAAI,yBACJmR,MAAO,CACL,aAAc,kBACd,kBAAmB,iBACnB,kBAAmB,EACnB,iBAAkB,GAEpB,eAAgB,gBAElB9Q,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CACN,YAAa,CACX,cACA,CAAC,eAAgB,IAAM,GAAK,IAAM,GAClC,CAAC,QACD,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,IAAK,EAAG,GAC/C,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,GAAI,EAAG,KAEhD,iBAAkB,YAClB,YAAa,CAAC,eAAgB,yBAC9B,aAAc,CACZ,OACA,CAAC,QACD,CACE,OACA,CAAC,MAAO,cACR,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,SACzC,EACA,CAAC,WAAY,CAAC,MAAO,QAAS,CAAC,MAAO,WAAY,CAAC,MAAO,UAE5D,EACA,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,UAE3C,sBAAuB,IACvB,iBAAkB,GAEpBqK,SAAU,CACR,0BAA2B,eAC3B,eAAgB,8BAElBvK,QAAS,EACTsK,OAAQ,CACN,QACA,CAAC,MAAO,SACR,QACA,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,GACrD,iBACA,CACE,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,KAEvD,GAEFjS,KAAM,SACN0H,OAAQ,iBACRlH,GAAI,cACJmR,MAAO,CACL,aAAc,kBACd,kBAAmB,iBACnB,kBAAmB,GAErB,eAAgB,gBAElB9Q,EAAI6Q,SAAS,CACX9J,QAAS,EACTC,OAAQ,CACN,aAAc,GACd,aAAc,CAAC,WAAY,CAAC,MAAO,WAAY,CAAC,MAAO,SACvD,mBAAoB,IACpB,iBAAkB,EAClB,YAAa,CAAC,iBAAkB,4BAChC,qBAAsB,CAAC,OAAQ,CAAC,QAAS,GAAK,EAAG,GACjD,eAAgB,CACd,OACA,CAAC,QACD,CACE,QACA,CAAC,MAAO,eACR,CAAC,OAAQ,cAAe,YACxB,OACA,CAAC,QAAS,eAAgB,aAC1B,QACA,UAEF,EACA,QAEF,YAAa,CACX,cACA,CAAC,eAAgB,GAAK,EAAG,GAAK,GAC9B,CAAC,QACD,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,EAAG,EAAG,GAC7C,EACA,CAAC,OAAQ,CAAC,MAAO,cAAe,GAAI,EAAG,GAAI,EAAG,MAGlDqK,SAAU,CACR,0BAA2B,eAC3B,eAAgB,8BAElBvK,QAAS,GACTsK,OAAQ,CACN,QACA,CAAC,MAAO,SACR,UACA,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,GACrD,mBACA,CACE,MACA,CAAC,KAAM,CAAC,MAAO,YAAa,QAC5B,CAAC,QAAS,CAAC,MAAO,aAAc,CAAC,MAAO,OAAO,GAAM,KAEvD,GAEFjS,KAAM,SACN0H,OAAQ,iBACRlH,GAAI,gBACJmR,MAAO,CACL,eAAgB,CACd,OACA,CAAC,QACD,CAAC,OAAQ,CAAC,MAAO,eAAgB,EAAG,GACpC,EACA,GAEF,aAAc,kBACd,kBAAmB,CACjB,cACA,CAAC,UACD,CAAC,QACD,EACA,wBACA,EACA,kBAEF,kBAAmB,MAErB,eAAgB,gBCrqDdQ,CAAoBtR,GAIpBiO,EAAmB,SAACxO,GAClBY,QAAQC,IAAI,SAAUb,EAAES,SAAS,IAEjB,sBAAhB8O,IACEhM,EAAS,CACP7D,KAAMuB,EACN4B,QAAS,CACPtD,MAAOS,EAAES,SAAS,GAAGb,SAASC,eAIpB,mBAAhB0P,IACEhM,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAShC,EAAES,SAAS,GAAGb,SAASC,eAGlB,mBAAhB0P,IACFE,IAAmB,IAIvBlP,EAAIkQ,GAAG,cAAejC,GAEtBjL,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,QACLC,SAAU,uBAGd9B,EAAIuR,UAAU,eAAe,SAAUC,EAAOC,GAC5CpR,QAAQC,IAAI,WACRkR,EACFnR,QAAQC,IAAIkR,GAEZxR,EAAI0R,SAAS,iBAAkBD,EAAO,CAAEE,KAAK,UAKnD3R,EAAI6P,WAAW,IAAIhE,IAAS+F,kBAAqB,gBACjD5R,EAAI6P,WACF,IAAIgC,KAAe,CACjB/F,YAAaD,IAASC,YACtBD,SAAUA,IACViG,MAAO,kDACPC,WAAW,EACXC,OAAQ,CACNnF,MAAO,cAKb+B,GAAO5O,GACPoO,EAAO2B,QAAU/P,EAGV,kBAAMA,EAAIiS,YAChB,IAEH5C,qBAAU,WACR,IAAML,EAActN,EAAUI,SAC9BzB,QAAQC,IAAI,gBAAiB0O,GACzBhP,IACFK,QAAQC,IAAI,oBACR2N,GACFjO,EAAIkS,IAAI,cAAejE,GAEzBA,EAAmB,SAACxO,GAClBY,QAAQC,IAAI,SAAUb,EAAES,SAAS,IACjCG,QAAQC,IAAI0O,GAEI,sBAAhBA,GACEhM,EAAS,CACP7D,KAAMuB,EACN4B,QAAS,CACPtD,MAAOS,EAAES,SAAS,GAAGb,SAASC,eAIpB,mBAAhB0P,GACEhM,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAShC,EAAES,SAAS,GAAGb,SAASC,eAGlB,mBAAhB0P,GACFE,IAAmB,IAIvBlP,EAAIkQ,GAAG,cAAejC,GAEtB5N,QAAQC,IAAI,kCAAmC2N,GAE/CjO,EAAIkQ,GAAG,eAAe,SAACzQ,GACrBY,QAAQC,IAAI,MAAOb,EAAES,SAAS,OAEhCF,EAAIkQ,GAAG,eAAe,SAACzQ,GACrBY,QAAQC,IAAI,SAAUb,SAGzB,CAACiC,EAAUI,WAEduN,qBAAU,WACRhP,QAAQC,IAAI,WACZ,IAAI6R,EAAe,KACnB,GAAInS,IAEEA,EAAIyQ,UAAU,aAChBpQ,QAAQC,IAAI,YACZN,EAAI0Q,YAAY,WACZ1Q,EAAIoS,SAAS,YACfpS,EAAI0Q,YAAY,WAElB1Q,EAAI0Q,YAAY,gBACZ1Q,EAAIoS,SAAS,kBAEfpS,EAAI0Q,YAAY,gBAChB1Q,EAAI0Q,YAAY,gBAChB1Q,EAAI0Q,YAAY,iBACZ1Q,EAAIoS,SAAS,kBAAkBpS,EAAI0Q,YAAY,kBAErD1Q,EAAI2Q,aAAa,WAEb3Q,EAAIyQ,UAAU,iCAChBzQ,EAAI0Q,YAAY,+BAChB1Q,EAAI2Q,aAAa,iCAIjBpO,GAAWA,EAAQpD,MAAM,CA4D3B,GA3DAkB,QAAQC,IAAI,iBAAkBoB,EAAUG,KACxC7B,EAAI4Q,UAAU,UAAW,CACvBzR,KAAM,UACNkT,KAAM9P,EACN+P,WAA8B,aAAlB5Q,EAAUG,MAuBxB7B,EAAI6Q,SAAS,CACXlR,GAAI,UACJR,KAAM,OACN0H,OAAQ,UACRiK,MAAO,CACL,aAAc,CACZ,OACA,CAAC,UAAW,CAAC,gBAAiB,UAAU,GACtB,aAAlBpP,EAAUG,IACN,2BACA,wBACJ,4BAKN7B,EAAI6Q,SAAS,CACXlR,GAAI,eACJR,KAAM,OACN0H,OAAQ,UACRiK,MAAO,CACL,aAAgC,aAAlBpP,EAAUG,IAAqB,EAAI,EACjD,aAAc,CACZ,QACA,CAAC,MAAO,UACR,WACA,UACA,WAMc,aAAlBH,EAAUG,KACU,qBAAnBH,EAAUvC,MACU,eAAnBuC,EAAUvC,KAmCM,aAAlBuC,EAAUG,KACS,qBAAnBH,EAAUvC,OAEVa,EAAI6Q,SAAS,CACXlR,GAAI,eACJR,KAAM,SACN0H,OAAQ,UACRG,OAAQ,CACN,aAAc,CAAC,MAAO,aACtB,eAAgB,SAChB,cAAe,MACf,YAAa,CACX,cACA,CAAC,UACD,CAAC,QACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,KAGJ8J,MAAO,CACL,aAAc,UAGlB9Q,EAAI6Q,SAAS,CACXlR,GAAI,eACJR,KAAM,SACN0H,OAAQ,UACRG,OAAQ,CACN,eAAgB,SAChB,cAAe,MACf,YAAa,CACX,cACA,CAAC,UACD,CAAC,QACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,IAEF,YAAa,CAAC,mBAEhB8J,MAAO,CACL,aAAc,CACZ,OACA,CAAC,UAAW,CAAC,gBAAiB,UAAU,GACxC,UACA,wBAEF,iBAAkB,CAAC,GAAI,KAEzBM,OAAQ,CAAC,KAAM,CAAC,MAAO,UAAW,cAEpCpR,EAAI6Q,SAAS,CACXlR,GAAI,gBACJR,KAAM,SACN0H,OAAQ,UACRG,OAAQ,CACN,aAAc,CACZ,SACA,WACA,CAAE,aAAc,KAChB,OACA,CAAE,aAAc,IAChB,CAAC,MAAO,aACR,CACE,aAAc,KAIlB,eAAgB,SAChB,cAAe,MACf,YAAa,CACX,cACA,CAAC,UACD,CAAC,QACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,IAEF,YAAa,CAAC,mBAEhB8J,MAAO,CACL,aAAc,CACZ,OACA,CAAC,UAAW,CAAC,gBAAiB,UAAU,GACxC,UACA,wBAEF,iBAAkB,CAAC,GAAI,KAGzBM,OAAQ,CAAC,KAAM,CAAC,MAAO,UAAW,cAGpCpR,EAAI6Q,SAAS,CACXlR,GAAI,gBACJR,KAAM,SACN0H,OAAQ,UACRG,OAAQ,CACN,aAAc,CACZ,SACA,YACA,CAAE,aAAc,KAChB,OACA,CAAE,aAAc,IAChB,CAAC,MAAO,aACR,CACE,aAAc,KAIlB,eAAgB,SAChB,cAAe,MACf,YAAa,CACX,cACA,CAAC,UACD,CAAC,QACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,IAEF,YAAa,CAAC,mBAEhB8J,MAAO,CACL,aAAc,CACZ,OACA,CAAC,UAAW,CAAC,gBAAiB,UAAU,GACxC,UACA,wBAEF,iBAAkB,CAAC,GAAI,KAGzBM,OAAQ,CAAC,KAAM,CAAC,MAAO,UAAW,WAGpCpR,EAAIkQ,GAAG,YAAa,WAAW,SAACzQ,GAE9B,GAAIA,EAAES,SAASqS,OAAS,EAAG,CACrBJ,GACFnS,EAAIwS,gBACF,CAAE3L,OAJQ,UAISlH,GAAIwS,GACvB,CAAEM,OAAO,IAGb,IAAMC,EAAkBjT,EAAES,SAAS,GAAGP,GACtCK,EAAIwS,gBACF,CAAE3L,OAAQ,UAAWlH,GAAI+S,GACzB,CAAED,OAAO,IAEXN,EAAeO,MAGnB1S,EAAIkQ,GAAG,aAAc,WAAW,SAACzQ,GAC3B0S,GACFnS,EAAIwS,gBACF,CAAE3L,OAAQ,UAAWlH,GAAIwS,GACzB,CAAEM,OAAO,IAGbN,EAAe,aA9NjB,CACA5P,EAAQrC,UAAYG,QAAQC,IAAIiC,EAAQrC,UACxC,IAAMyS,EACe,qBAAnBjR,EAAUvC,KACN,CACE,aAAc,CACZ,QACA,CAAC,MAAO,sBACR,OACA,UACA,iBACA,UACA,YAGJ,CAAE,aAAc,WAEtBa,EAAI6Q,SAAS,CACXlR,GAAI,UACJR,KAAM,SACN0H,OAAQ,UACRE,QAAS,EACTD,QAAS,IACTE,OAAQ,CACN,aAAc,kBAEhB8J,MAAO6B,IAET3S,EAAIkQ,GAAG,QAAS,WAAW,SAAUzQ,GACnCY,QAAQC,IAAIb,EAAES,SAAS,GAAGP,IAE1BK,EAAIsL,UAAY,KAAOtL,EAAIsQ,MAAM,CAAEjJ,OAAQ5H,EAAEI,OAAQgI,KAAM,SAqQ/D,GAnEA7H,EAAIkQ,GAAG,QAAS,WAAW,SAAUzQ,GACnC,GACoB,eAAlBiC,EAAUG,KACQ,eAAlBH,EAAUG,IAEVxB,QAAQC,IAAIb,EAAES,UACd8C,EAAS,CACP7D,KAAM4B,EACNuB,QAAS,CACPG,QAAShD,EAAES,SAAS,GAAGd,WAAWO,MAIf,eAAnB+B,EAAUvC,OACRa,EAAIyQ,UAAU,iCAChBzQ,EAAI0Q,YAAY,+BAChB1Q,EAAI2Q,aAAa,gCAEnB3Q,EAAI4Q,UAAU,8BAA+B,CAC3CzR,KAAM,UACNkT,KAAK,2BACA9P,GADD,IAEFrC,SAAUqC,EAAQrC,SAASkR,QACzB,SAAC7O,GAAD,OAAaA,EAAQ5C,KAAOF,EAAES,SAAS,GAAGd,WAAWO,UAK3DK,EAAI6Q,SAAS,CACXlR,GAAI,8BACJR,KAAM,OACN0H,OAAQ,8BACRiK,MAAO,CACL,aAAc,mCAIf,GACI,kBAATvP,GACmB,qBAAnBG,EAAUvC,KAEVa,EAAIsL,UAAY,KAAOtL,EAAIsQ,MAAM,CAAEjJ,OAAQ5H,EAAEI,OAAQgI,KAAM,WACtD,GACI,kBAATtG,GACmB,kBAAnBG,EAAUvC,KACV,CAEA,IAAMyT,EACJnT,EAAES,SAAS,GAAGd,WAAWwT,gBACzBC,KAAKC,MAAMrT,EAAES,SAAS,GAAGd,WAAWwT,gBACtC,GAAIA,GAAkBA,EAAe,GAAGG,OAAQ,CAC9C,IAAMC,EAAaJ,EAAe,GAAGG,OAAOE,MAAM,MAAM,GAClD5L,EAAS6L,KAAK7L,OAAO5H,EAAES,SAAS,GAAGb,UACnC8T,EAAgBH,EACnBI,QAAQ,OAAQ,SAChBA,QAAQ,UAAW,WACnBA,QAAQ,QAAS,UACjBA,QAAQ,WAAY,gBACvB/S,QAAQC,IAAI0S,EAAYG,GAExB,IAAME,EAAO,yFAAqFF,EAArF,0BAAoHH,EAApH,4DAAkL3L,EAAOhI,SAASC,YAAY,GAA9M,YAAoN+H,EAAOhI,SAASC,YAAY,IAC7P8D,OAAOkQ,KAAKD,EAAS,eAML,eAAlB3R,EAAUG,IACZ,IACEgN,GAAKoB,YACL,MAAOxQ,GACPY,QAAQC,IAAIb,OAKnB,CAAC8C,IAEJ8M,qBAAU,WACR,GACER,IACA7P,GACAA,EAAMuT,QACiB,sBAAvB7Q,EAAUI,SACV,CACA,IAAIyR,EAAoB1E,GAAK2E,SAC7BD,EAAkBrT,SAAS,GAAGb,SAASC,YAAc,CACnDmU,WAAWzU,EAAM,IACjByU,WAAWzU,EAAM,KAGnB6P,GAAK6E,IAAIH,MAEV,CAACvU,IAGJqQ,qBAAU,WACR,GACER,IACApN,GACAA,EAAQ8Q,QACe,mBAAvB7Q,EAAUI,SACV,CACA,IAAIyR,EAAoB1E,GAAK2E,UAE5BD,EAAkBrT,SAASqS,SACzBgB,EAAkBrT,SAAW,CAC5B,CACEf,KAAM,UACNE,SAAU,CAAEC,YAAa,GAAIH,KAAM,WACnCC,WAAY,MAIlBmU,EAAkBrT,SAAS,GAAGb,SAASC,YAAcmC,EACrDoN,GAAK6E,IAAIH,MAEV,CAAC9R,IAEJ4N,qBAAU,WACJrP,GAAO0C,IACTrC,QAAQC,IAAI,kBAAmBoC,GAC/B0M,GAAiB1M,GACjB1C,EAAIsQ,MAAM,CACRjJ,OAAQ3E,EAAS2E,OACjBQ,KAAMnF,EAASmF,KAAOnF,EAASmF,KAAgB,kBAATtG,EAA2B,EAAI,QAGxE,CAACmB,IAEJ2M,qBAAU,WACJrP,GAAO0B,IAEY,qBAAnBA,EAAUvC,MACS,eAAnBuC,EAAUvC,KDvjBlB,SAA6Ba,GAE3BA,EAAI2T,kBAAkB,eAAgB,aAAc,WACpD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,uBAAwB,aAAc,WAC5D3T,EAAI2T,kBAAkB,gBAAiB,aAAc,WACrD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,WACtD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,WACtD3T,EAAI2T,kBAAkB,uBAAwB,aAAc,WAE5D3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,gBAAiB,aAAc,WACrD3T,EAAI2T,kBAAkB,gBAAiB,aAAc,WACrD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,WACtD3T,EAAI2T,kBAAkB,uBAAwB,aAAc,WAC5D3T,EAAI2T,kBAAkB,sBAAuB,aAAc,WAC3D3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,iBAAkB,aAAc,WACtD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,WACvD3T,EAAI2T,kBAAkB,mBAAoB,aAAc,WACxD3T,EAAI2T,kBAAkB,sBAAuB,aAAc,WAC3D3T,EAAI2T,kBAAkB,iBAAkB,aAAc,WACtD3T,EAAI2T,kBAAkB,yBAA0B,aAAc,WAC9D3T,EAAI2T,kBAAkB,mBAAoB,aAAc,WACxD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,6BAA8B,aAAc,WAClE3T,EAAI2T,kBAAkB,oBAAqB,aAAc,WACzD3T,EAAI2T,kBAAkB,mBAAoB,aAAc,WACxD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,sBAAuB,aAAc,WAC3D3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,6BAA8B,aAAc,WAClE3T,EAAI2T,kBAAkB,sBAAuB,aAAc,WAC3D3T,EAAI2T,kBAAkB,qBAAsB,aAAc,WAC1D3T,EAAI2T,kBAAkB,oBAAqB,aAAc,WCmhBnDC,CAAoB5T,GDjmB5B,SAA8BA,GAE5BA,EAAI2T,kBAAkB,eAAgB,aAAc,QACpD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,uBAAwB,aAAc,QAC5D3T,EAAI2T,kBAAkB,gBAAiB,aAAc,QACrD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,QACtD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,QACtD3T,EAAI2T,kBAAkB,uBAAwB,aAAc,QAE5D3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,gBAAiB,aAAc,QACrD3T,EAAI2T,kBAAkB,gBAAiB,aAAc,QACrD3T,EAAI2T,kBAAkB,iBAAkB,aAAc,QACtD3T,EAAI2T,kBAAkB,uBAAwB,aAAc,QAC5D3T,EAAI2T,kBAAkB,sBAAuB,aAAc,QAC3D3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,iBAAkB,aAAc,QACtD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,kBAAmB,aAAc,QACvD3T,EAAI2T,kBAAkB,mBAAoB,aAAc,QACxD3T,EAAI2T,kBAAkB,sBAAuB,aAAc,QAC3D3T,EAAI2T,kBAAkB,iBAAkB,aAAc,QACtD3T,EAAI2T,kBAAkB,yBAA0B,aAAc,QAC9D3T,EAAI2T,kBAAkB,mBAAoB,aAAc,QACxD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,6BAA8B,aAAc,QAClE3T,EAAI2T,kBAAkB,oBAAqB,aAAc,QACzD3T,EAAI2T,kBAAkB,mBAAoB,aAAc,QACxD3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,sBAAuB,aAAc,QAC3D3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,6BAA8B,aAAc,QAClE3T,EAAI2T,kBAAkB,sBAAuB,aAAc,QAC3D3T,EAAI2T,kBAAkB,qBAAsB,aAAc,QAC1D3T,EAAI2T,kBAAkB,oBAAqB,aAAc,QC6jBnDE,CAAqB7T,MAGxB,CAAC0B,IA6EJ,OA3DA2N,qBAAU,WACRrP,GAAOA,EAAI8T,WACV,CAACpF,IAEJW,qBAAU,WAGR,GADAhP,QAAQC,IAAI,yBAA0BoB,GAChB,QAAlBA,EAAUG,KAAiB7B,GAA0B,kBAAnB0B,EAAUvC,KAA0B,CACxE,IAAM4U,EAAapJ,GAAyB3K,GACtC2C,EAAQ,CACZoR,EAAW/T,KAAI,SAACwC,GAAD,OAAUA,EAAK,MAC9BuR,EAAW/T,KAAI,SAACwC,GAAD,OAAUA,EAAK,MAC9BuR,EAAW,GAAG,IAEhB1T,QAAQC,IAAIyT,GACZ/Q,EAAS,CACP7D,KAAMgC,EACNmB,QAAS,CACPK,MAAOA,KAIX3C,EAAIkQ,GAAG,WAAW,SAAUzQ,GAE1B,GADAY,QAAQC,IAAIb,GAEQ,QAAlBiC,EAAUG,KACV7B,GACmB,kBAAnB0B,EAAUvC,KACV,CACA,IAAM4U,EAAapJ,GAAyB3K,GAC5CK,QAAQC,IAAIyT,GACZ,IAAMpR,EAAQ,CACZoR,EAAW/T,KAAI,SAACwC,GAAD,OAAUA,EAAK,MAC9BuR,EAAW/T,KAAI,SAACwC,GAAD,OAAUA,EAAK,MAC9BuR,EAAW,GAAG,IAGhB/Q,EAAS,CACP7D,KAAMgC,EACNmB,QAAS,CACPK,MAAOA,YAMhB,CAACjB,IAEJ2N,qBAAU,WAER,GAAIrP,EAAK,CACeA,EAAIyQ,UAAU,+BAChCzQ,EAAIyQ,UAAU,iCAAmChO,IACnDzC,EAAI0Q,YAAY,+BAChB1Q,EAAI2Q,aAAa,mCAGpB,CAAClO,IAGF,sBAAKuR,UAAU,6BAAf,UACE,qBAAKA,UAAU,gBAAgBC,IAAK/F,IACpC,qBAAK8F,UAAW1F,EAAQpB,mBAAxB,SACE,cAACgH,EAAA,EAAD,UACE,cAACC,EAAA,EAAD,CAAY3U,QAhFI,WAClBQ,EAAIoS,SAAS,iBAKa,YAJApS,EAAIoU,kBAC9B,cACA,eAGApU,EAAI2T,kBAAkB,gBAAiB,aAAc,WACrD3T,EAAI2T,kBAAkB,cAAe,aAAc,UAEnD3T,EAAI2T,kBAAkB,gBAAiB,aAAc,QACrD3T,EAAI2T,kBAAkB,cAAe,aAAc,cAqEjD,SACE,cAAChW,EAAD,CAAe2Q,QAAS,CAAE+F,KAAM/F,EAAQjB,kBAI9C,qBAAK2G,UAAW1F,EAAQhB,qBAAxB,SACG2B,IACC,cAACqF,EAAA,EAAD,CACEC,QAAQ,YACR1H,MAAM,UACNmH,UAAW1F,EAAQf,YACnB/N,QAAS,WACPqP,GAAKoB,YACLjN,EAAS,CACP7D,KAAM0B,EACNyB,QAAS,CACPR,SAAU,oBAGd+M,GAAKiB,WAAW,mBAZpB,qBAoBJ,qBAAKkE,UAAW1F,EAAQZ,sBAAxB,SACE,cAACyG,EAAA,EAAD,CACE3U,QAASiP,EACTuF,UAAW1F,EAAQV,qBAFrB,SAIGc,EAAoB,cAAC,IAAD,IAAuB,cAAC,IAAD,QAGhD,qBACEsF,UACEtF,EACIJ,EAAQR,uBACRQ,EAAQP,yBAJhB,SAOE,cAACoG,EAAA,EAAD,CACE3U,QAASiP,EACTuF,UAAW1F,EAAQT,2BAFrB,SAIGa,EAAoB,cAAC8F,GAAA,EAAD,IAAwB,cAACC,GAAA,EAAD,Y,4DC5iCjDvI,GAAYC,YAAW,CAC3BkI,KAAM,CACJpX,MAAO,IACPuQ,gBAAiB,UACjBC,SAAU,IAEZiH,SAAU,CACR3H,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjB,OAAQ,CACNoH,WAAY,OACZC,aAAc,EACdhI,MAAO,UACPiI,UAAW,KAGfC,QAAS,CACPtU,QAAS,OACTuU,OAAQ,UAEV3H,SAAU,CACRjQ,KAAM,OACN,SAAU,CACRG,OAAQ,YAGZ0X,QAAS,CACPvI,YAAa,EACb,OAAQ,CACNoI,UAAW,EACXF,WAAY,OACZC,aAAc,EACdhI,MAAO,YAGXqI,IAAK,CACHJ,UAAW,GAEbK,gBAAiB,CACf1H,SAAU,GACV2H,WAAY,IACZvI,MAAO,UACPgI,aAAc,GAEhBQ,eAAgB,CACd5U,QAAS,eACT+M,gBAAiB,UACjBX,MAAO,OACPc,aAAc,EACd2H,cAAe,aACfV,WAAY,OACZQ,WAAY,IACZrI,QAAS,WACT+H,UAAW,GACXS,eAAgB,QAElBC,MAAO,CACL3I,MAAO,UACPY,SAAU,GACV2H,WAAY,IACZG,eAAgB,aAElBE,WAAY,CACV5I,MAAO,UACPgI,aAAc,EACdD,WAAY,OACZnH,SAAU,IAEZiI,KAAM,CACJxY,OAAQ,MA+FGyY,GA3FI,SAAC5Y,GAClB,IAAMuR,EAAUpC,KACRoH,EAAkBvW,EAAlBuW,KAAMsC,EAAY7Y,EAAZ6Y,QACd,OACE,cAACC,GAAA,EAAD,CACEC,OAAO,OACPxC,KAAMA,EACNsC,QAASA,EACTG,WAAY,CAAEC,cAAe,CAAEC,WAAW,IAJ5C,SAME,sBAAKjC,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQoG,SAAxB,UACE,8BACE,mBAAGwB,KAAK,sBAAsBC,OAAO,SAArC,SACE,qBAAKC,IAAI,qBAAqBpC,UAAW1F,EAAQoH,WAGrD,oBAAI1B,UAAW1F,EAAQ6G,gBAAvB,oCACA,mIAIA,sBAAKnB,UAAW1F,EAAQyG,QAAxB,UACE,8BACE,cAACjY,EAAD,CAAWwR,QAAS,CAAE+F,KAAM/F,EAAQjB,cAEtC,sBAAK2G,UAAW1F,EAAQ2G,QAAxB,UACE,6CADF,oPAQF,sBAAKjB,UAAW1F,EAAQyG,QAAxB,UACE,8BACE,cAAC5W,EAAD,CAAamQ,QAAS,CAAE+F,KAAM/F,EAAQjB,cAExC,sBAAK2G,UAAW1F,EAAQ2G,QAAxB,UACE,0CADF,0KAOF,sBAAKjB,UAAW1F,EAAQyG,QAAxB,UACE,gCACE,cAAC3W,EAAD,CAAUkQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YAAe,OAEpD,sBAAK2G,UAAW1F,EAAQ2G,QAAxB,UACE,yCADF,6FAMF,sBAAKjB,UAAW1F,EAAQyG,QAAxB,UACE,gCACE,cAACzW,EAAD,CAAcgQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YAAe,OAExD,sBAAK2G,UAAW1F,EAAQ2G,QAAxB,UACE,0CADF,uEAMJ,sBAAKjB,UAAW,CAAC1F,EAAQoG,SAAUpG,EAAQ4G,KAAKmB,KAAK,KAArD,UACE,qBAAKrC,UAAW1F,EAAQ6G,gBAAxB,+CAGA,iLAKA,mBACEnB,UAAW1F,EAAQ+G,eACnBa,KAAK,2BACLC,OAAO,SAHT,sBAOA,oBAAInC,UAAW1F,EAAQmH,WAAvB,mDAGA,qBAAKzB,UAAW1F,EAAQkH,MAAxB,yC,mDCjKJc,GAAS,0BACTC,GAAc,KAEdC,GAAS,IAAIrT,gBAAgBC,OAAOV,SAASW,QAC7CoT,KAAYD,GAAOlT,IAAI,cACG,SAA5BkT,GAAOlT,IAAI,aAEToT,MACJF,GAAOlT,IAAI,mBAAsD,SAAjCkT,GAAOlT,IAAI,mBCPvC4I,GAAYC,YAAW,CAC3BqJ,MAAO,CACL3I,MAAO,UACPuI,WAAY,IACZG,eAAgB,YAChB9U,QAAS,UAEXkW,WAAY,CACV3J,UAAW,kCACXW,aAAc,EACdZ,QAAS,GACT+H,UAAW,GACXrU,QAAS,OACToM,MAAO,UACP+J,WAAY,UAEdC,sBAAuB,CACrB9J,QAAS,GACTS,gBAAiB,UACjBG,aAAc,EACdmJ,YAAa,GAEfC,eAAgB,CACd3Z,KAAM,UAsBK4Z,GAnBI,SAACja,GAClB,IAAMuR,EAAUpC,KAChB,OACE,sBAAK8H,UAAW1F,EAAQqI,WAAxB,UACE,qBAAK3C,UAAW1F,EAAQuI,sBAAxB,SACE,cAACtY,EAAD,CAAkByV,UAAW1F,EAAQyI,mBAEvC,kNAGmC,IACjC,oBAAG/C,UAAW1F,EAAQkH,MAAOU,KAAK,2BAAlC,8BACoB,cCNXe,OAZf,SAA6BC,GACtBC,UAAUC,UAIfD,UAAUC,UAAUC,UAAUH,GAAMI,MAAK,WACvCjX,QAAQC,IAAI,kDACX,SAASiX,GACVlX,QAAQmR,MAAM,+BAAgC+F,MA/BpD,SAAqCL,GACjC,IAAIM,EAAWC,SAASC,cAAc,YACtCF,EAASvU,MAAQiU,EAGjBM,EAASxG,MAAMzE,IAAM,IACrBiL,EAASxG,MAAM1E,KAAO,IACtBkL,EAASxG,MAAM3E,SAAW,QAE1BoL,SAASE,KAAKC,YAAYJ,GAC1BA,EAASK,QACTL,EAASM,SAET,IACE,IACIC,EADaN,SAASO,YAAY,QACf,aAAe,eACtC3X,QAAQC,IAAI,sCAAwCyX,GACpD,MAAOR,GACPlX,QAAQmR,MAAM,iCAAkC+F,GAGlDE,SAASE,KAAKM,YAAYT,GAIxBU,CAA4BhB,I,SCrB5BhL,GAAYC,YAAW,CAC3B+I,IAAK,CACHJ,UAAW,GAGbqD,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEdwD,sBAAuB,CACrB/L,SAAU,YAEZgM,aAAc,CACZ7K,gBAAiB,UACjBG,aAAc,EACdZ,QAAS,WACTuL,UAAW,IACXC,UAAW,SACXC,SAAU,IACV,QAAS,CACPA,SAAU,SAIdC,WAAY,CACVpM,SAAU,WACVE,IAAK,GACLY,MAAO,GACPmI,cAAe,aACf3H,aAAc,EACdH,gBAAiB,UACjB,4BAA6B,CAC3BnB,SAAU,SACVwI,aAAc,GAEhB,UAAW,CACTrH,gBAAiB,YAGrBkL,eAAgB,CACdrM,SAAU,WACVE,IAAK,GACLY,MAAO,GACPmI,cAAe,aACf3H,aAAc,EACdH,gBAAiB,UACjB,4BAA6B,CAC3BnB,SAAU,SACVwI,aAAc,GAEhB,UAAW,CACTrH,gBAAiB,cAgDRmL,GA3CS,SAAC5b,GACvB,IAAMuR,EAAUpC,KACRmM,EAAiCtb,EAAjCsb,aAAcO,EAAmB7b,EAAnB6b,eAYtB,OACE,qBAAK5E,UAAW1F,EAAQ8J,sBAAxB,SACE,sBAAKpE,UAAW1F,EAAQ+J,aAAxB,UACsB,MAAnBO,GACC,qCACE,cAACtE,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAlBQ,WAClBqZ,GAAgBhG,KAAKiG,UAAUT,KAkBrBrE,UAAW1F,EAAQmK,WAJrB,+BAQA,cAACnE,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAvBY,WACtB,IAAMuZ,EAAO,IAAIC,KAAK,CAACnG,KAAKiG,UAAUT,EAAc,KAAM,IAAK,CAC7DlZ,KAAM,qBAER8Z,kBAAOF,EAAM,kBAoBH/E,UAAW1F,EAAQoK,eAJrB,gCAUHL,GAAgB,8BAAMxF,KAAKiG,UAAUT,EAAc,KAAM,WChG5DnM,GAAYC,YAAW,CAC3B+M,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,KAEd+C,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEduE,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBjR,IAAK,CACHiJ,MAAO,aA2BIyM,GAvBI,SAACvc,GAClB,IAAMuR,EAAUpC,KACRqN,EAAexc,EAAfwc,WAER,OACE,qCACE,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,kBACA,sBAAKnE,UAAW1F,EAAQ6K,eAAxB,wBAEE,uBAFF,IAES,sBAAMnF,UAAW1F,EAAQ1K,IAAzB,SAA+B2V,IAFxC,2CAMF,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,yBACA,qBAAKnE,UAAW1F,EAAQ6K,eAAxB,SACE,sBAAMnF,UAAW1F,EAAQ1K,IAAzB,SAA+B2V,a,UCzCnCrN,GAAYC,YAAW,CAC3BqN,UAAW,CACT7L,aAAc,GAGhB8L,YAAa,CACXhM,SAAU,MA2BCiM,GAvBI,SAAC3c,GAClB,IAAMuR,EAAUpC,KAChB,OACE,cAACyN,GAAA,EAAD,aACEpF,QAAQ,SACRqF,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlBM,gBAAiB,CACfC,QAAQ,EACRzL,QAAS,CACPyL,OAAQzL,EAAQmL,cAGpBO,WAAW,GACPjd,KCVJmP,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAGR8X,IAAK,CACHJ,UAAW,GAGbO,eAAgB,CACd7H,gBAAiB,UACjBX,MAAO,OACPc,aAAc,EACd2H,cAAe,aACfV,WAAY,OACZQ,WAAY,IACZrI,QAAS,WACT+H,UAAW,IAEbU,MAAO,CACL3I,MAAO,UACPY,SAAU,GACV2H,WAAY,IACZG,eAAgB,aAElBE,WAAY,CACV5I,MAAO,UACPgI,aAAc,EACdD,WAAY,OACZnH,SAAU,IAEZ2L,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,GAERD,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZN,UAAW,IAEbqD,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEd4E,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXrI,UAAW,GACXkB,aAAc,EACd2H,cAAe,aACfF,WAAY,IACZ3H,SAAU,IAEZ2M,WAAY,CACV3Z,QAAS,OACTqU,UAAW,GACX,4BAA6B,CAC3BuF,SAAU,OACV,SAAU,CACRvD,YAAa,iBACbjC,aAAc,KAIpByF,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,OA0NIud,GAtNK,SAACzd,GACnB,IAAMuR,EAAUpC,KADa,EAMzBmC,qBAAWtM,GANc,IAI3BjD,MAA4BE,GAJD,EAIlBuC,KAJkB,EAICvC,OAC5BgE,EAL2B,EAK3BA,SAL2B,EAQS2L,mBAAS,IARlB,mBAQtBrP,EARsB,KAQTmb,EARS,KAU7BpL,qBAAU,WACR,IAAIvP,EAAMd,GAASA,EAAMuT,QAAUvT,EAAM,GACrCe,EAAMf,GAASA,EAAMuT,QAAUvT,EAAM,GACzCc,GAAO2a,EAAe,CAAC3a,EAAKC,MAC3B,CAACf,IAEJqQ,qBAAU,WACR,IAAMqL,EAAgBC,MACpB,kBACE3X,EAAS,CACP7D,KAAMuB,EACN4B,QAAS,CACPtD,MAAOM,OAGb,KAGEN,GAASA,EAAMuT,SACbvT,EAAM,IAAMM,EAAY,IAAMN,EAAM,IAAMM,EAAY,IACxDob,OAGH,CAACpb,IAEJ,IAnC6B,EAoCHqP,mBADL,wCAnCQ,mBAoCtBhN,EApCsB,KAoCfT,EApCe,KAqCvB0Z,EAAO,UAAMtE,GAAN,YAAgBC,IArCA,EA0CW5H,qBA1CX,mBA0CtB0J,EA1CsB,KA0CRwC,EA1CQ,OA2CelM,qBA3Cf,mBA2CtBiK,EA3CsB,KA2CNkC,EA3CM,OA4COnM,qBA5CP,mBA4CtB4K,EA5CsB,KA4CVwB,EA5CU,OA6CuBpM,mBAAS,SA7ChC,mBA6CtBqM,EA7CsB,KA6CFC,EA7CE,OA8CCtM,mBAAS,UA9CV,mBA8CtBlL,EA9CsB,KA8CbyX,EA9Ca,KAmF7B,OAXA7L,qBAAU,WACJgJ,GACFrV,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8V,OAId,CAACA,IAGF,sBAAKrE,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,6DACA,yEACA,4CACA,cAAC,GAAD,CACEkB,MAAM,oCACNC,aAAa,GACbnY,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,UAGtB,sBAAK+Q,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,aAIrB,sBAAK5H,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,mCACA,eAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,sBACXlU,KAAK,sBACLrE,MAAO+X,EACPK,SAAU,SAAC5b,GACTwb,EAAsBxb,EAAE0W,OAAOlT,QANnC,UASE,cAACwY,GAAA,EAAD,CACExY,MAAO,QACPyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,QACNS,eAAe,QAEjB,cAACH,GAAA,EAAD,CACExY,MAAO,OACPyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,OACNS,eAAe,cAIrB,sBAAK5H,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,kCACNC,aAAa,GACbnY,MAAO3D,GAAeA,EAAY,GAClC0U,UAAU,QACVqH,SAAU,SAAC5b,GACTgb,EAAe,CAAChb,EAAE0W,OAAOlT,MAAO3D,EAAY,QAGhD,cAAC,GAAD,CACE6b,MAAM,iCACNC,aAAa,GACbnY,MAAO3D,GAAeA,EAAY,GAClC+b,SAAU,SAAC5b,GACTgb,EAAe,CAACnb,EAAY,GAAIG,EAAE0W,OAAOlT,cAI/C,sBAAK+Q,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,eACNC,aAAa,GACbnY,MAAOQ,EACPuQ,UAAU,QACVqH,SAAU,SAAC5b,GACTyb,EAAWzb,EAAE0W,OAAOlT,UAGxB,2BAGF,cAACqR,EAAA,EAAD,CACEC,QAASjV,GAAeA,EAAYiT,OAAS,YAAc,WAC3D1F,MAAM,UACNrN,QA7HY,WAClB,IAAMqc,EACJjB,uCAGAjZ,EACA,aACArC,EAAY+W,KAAK,KACjB,iBACA5S,EACA,wBACAuX,EACFD,EAAcc,GAEdC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLwI,EAAgBxI,OA0Gd2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,+BASA,cAAC,GAAD,OAGDvB,GACC,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACE,2CACA,cAAC,GAAD,CAAYV,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,+BACsB,MAAnBP,GAA0B,uBAAwB,IAC/B,MAAnBA,GAA0B,qCAE7B,cAAC,GAAD,CACEP,aAAcA,EACdO,eAAgBA,KAEhBP,GACA,qBAAKrE,UAAW1F,EAAQ4K,kBAAxB,uSC3TVhN,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAGR8X,IAAK,CACHJ,UAAW,GAGbsE,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,EACNC,SAAU,YAEZF,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZoD,SAAU,OACV1D,UAAW,IAEbqD,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEd4E,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXQ,cAAe,cAGjB8E,WAAY,CACV3Z,QAAS,OACTqU,UAAW,IAEb2E,YAAa,CACXhM,SAAU,IAEZ6M,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,OAsVIif,GAlVI,SAACnf,GAClB,IAAMuR,EAAUpC,KADY,EAMxBmC,qBAAWtM,GANa,IAI1BjD,MAA4B2C,GAJF,EAIjBF,KAJiB,EAIEE,SAC5BuB,GAL0B,EAIWT,QAJX,EAK1BS,UAL0B,EAQQ2L,mBAAS,IARjB,mBAQrBwN,EARqB,KAQTC,EARS,OASQzN,mBAAS,IATjB,6BAW5BU,qBAAU,WACR,GAAI5N,GAAWA,EAAQ,IAAMA,EAAQ,GAAG8Q,OAAQ,CAC9C,IAAI8J,EAAc,SAACC,EAAKC,GAAN,OAChB3Z,KAAK0Z,IAAI7I,WAAW6I,GAAM7I,WAAW8I,KACnCC,EAAc,SAACF,EAAKC,GAAN,OAChB3Z,KAAK6Z,IAAIhJ,WAAW6I,GAAM7I,WAAW8I,KAEjCG,EAASjb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBC,EAASnb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAElBE,EAASpb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBG,EAASrb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAExBP,EAAc,CAACM,EAAQG,EAAQD,EAAQE,OAExC,CAACrb,IAEJ,IAOMmZ,EAAO,UAAMtE,GAAN,YAAgBC,IA3CD,EA+CY5H,qBA/CZ,mBA+CrB0J,EA/CqB,KA+CPwC,EA/CO,OAgDgBlM,qBAhDhB,mBAgDrBiK,EAhDqB,KAgDLkC,EAhDK,OAiDQnM,qBAjDR,mBAiDrB4K,EAjDqB,KAiDTwB,EAjDS,OAmDFpM,mBADL,wCAlDO,mBAmDrBhN,EAnDqB,KAmDdT,EAnDc,OAoDEyN,mBAAS,YApDX,mBAoDrBoO,EApDqB,KAoDZC,EApDY,OAqDFrO,mBAAS,KArDP,gCAsDEA,mBAAS,WAtDX,mBAsDrBlL,EAtDqB,UA2I5B,OACE,sBAAKuQ,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,oDACA,4BAGM,qNAEN,oBAAIjG,UAAU,QAAd,wBACA,cAAC,GAAD,CACEmH,MAAM,oCACNC,aAAa,GACbnY,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,UAGtB,sBAAK+Q,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,+BACA,eAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,kBACXlU,KAAK,kBACLrE,MAAO8Z,EACP1B,SAAU,SAAC5b,GACTud,EAAWvd,EAAE0W,OAAOlT,QANxB,UASE,cAACwY,GAAA,EAAD,CACExY,MAAM,WACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,WACNS,eAAe,QAEjB,cAACH,GAAA,EAAD,CACExY,MAAM,SACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,cAIrB,sBAAK5H,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,aAKrB,sBAAK5H,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZ3I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,GACXA,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,WAKnB,sBAAKnI,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,eAsC1B,GAEF,cAACqR,EAAA,EAAD,CACEC,QAAS4H,GAAcA,EAAW5J,OAAS,YAAc,WACzD1F,MAAM,UACNrN,QA/OY,WAClB,IArB4Byd,EAAQC,EA2B9BrB,EACJjB,8BAGAjZ,EACA,SACAwa,EAAW9F,KAAK,KAChB,iBACA5S,EACA,YACAsZ,EAIII,EAAY,CAChB,CACE,CAAChB,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,MAI3B1a,GAAWA,EAAQ8Q,SAnDK0K,EAoDAE,EAAU,GApDFD,EAoDMzb,EAAQ,GAnD3Cwb,EAAOG,OACZ,SAACna,EAAOoa,GAAR,OACEpa,EAAM,IAAMia,EAAOG,GAAO,IAAMpa,EAAM,IAAMia,EAAOG,GAAO,OAkD1Dra,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAS0b,MAMjBpC,EAAcc,GACdxb,QAAQC,IAAIub,GACZC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLwI,EAAgBxI,GAsBdhS,QAAQC,IAAI,OAAQ+R,GACpBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,SAoKb2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,+BASA,cAAC,GAAD,OAGDvB,GACC,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACE,2CACA,cAAC,GAAD,CAAYV,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,+BACsB,MAAnBP,GAA0B,uBAAwB,IAC/B,MAAnBA,GAA0B,qCAE7B,cAAC,GAAD,CACEP,aAAcA,EACdO,eAAgBA,IAEjBP,GACCA,EAAanY,WACZmY,EAAanY,SAASqS,QACrB,qBAAKyB,UAAW1F,EAAQ4K,kBAAxB,uS,+BChZZhN,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAERgc,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,EACNC,SAAU,YAEZF,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZoD,SAAU,OACV1D,UAAW,IAEbqD,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEdyD,aAAc,CACZ7K,gBAAiB,UACjBG,aAAc,EACdZ,QAAS,WACTV,SAAU,WACVmM,SAAU,IACV/L,UAAW,IACX6L,UAAW,IACXC,UAAW,UAEbiB,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXQ,cAAe,cAGjBoD,eAAgB,CACdrM,SAAU,WACVE,IAAK,GACLY,MAAO,GACPmI,cAAe,aACf3H,aAAc,EACd,4BAA6B,CAC3BtB,SAAU,SACVwI,aAAc,IAGlBuF,WAAY,CACV3Z,QAAS,OACTqU,UAAW,IAEb2E,YAAa,CACXhM,SAAU,IAEZ6P,WAAY,CACVhI,cAAe,YACfV,WAAY,OACZ7H,QAAS,MACTY,aAAc,EACdyL,KAAM,EACNmE,OAAQ,oBACR1Q,MAAO,UACPuI,WAAY,IACZoI,oBAAqB,EACrBC,uBAAwB,GAE1BC,YAAa,CACXpI,cAAe,YACfV,WAAY,OACZ7H,QAAS,MACTY,aAAc,EACdyL,KAAM,EACNmE,OAAQ,oBACR1Q,MAAO,UACPuI,WAAY,IACZuI,qBAAsB,EACtBC,wBAAyB,GAE3BC,iBAAkB,CAChBrQ,gBAAiB,UACjBX,MAAO,OACP,UAAW,CACTW,gBAAiB,UACjBX,MAAO,SAGXiR,iBAAkB,CAChBC,cAAe,SACfC,WAAY,IAEdC,WAAY,CACVnJ,UAAW,mBAEbwF,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,OAIL2d,GAAO,UAAMtE,GAAN,YAAgBC,IA0oBd2H,GAtoBO,SAACnhB,GACrB,IAAMuR,EAAUpC,KADe,EAM3BmC,qBAAWtM,GANgB,IAI7BjD,MAAe2C,GAJc,EAIpBF,KAJoB,EAIdE,SAASe,EAJK,EAILA,KAAMC,EAJD,EAICA,QAASf,EAJV,EAIUA,UACvCsB,EAL6B,EAK7BA,SAL6B,EAQK2L,mBAAS,IARd,mBAQxBwN,EARwB,KAQZC,EARY,OASSzN,mBAAS,WATlB,mBASxBwP,EATwB,KASVC,EATU,OAUezP,mBAAS,IAVxB,mBAUxB0P,EAVwB,KAUPC,EAVO,OAWD3P,mBAAS,UAXR,mBAWxBlL,EAXwB,KAWfyX,EAXe,KAY/B7L,qBAAU,WACR,GAAI5N,GAAWA,EAAQ,IAAMA,EAAQ,GAAG8Q,OAAQ,CAC9C,IAAI8J,EAAc,SAACC,EAAKC,GAAN,OAChB3Z,KAAK0Z,IAAI7I,WAAW6I,GAAM7I,WAAW8I,KACnCC,EAAc,SAACF,EAAKC,GAAN,OAChB3Z,KAAK6Z,IAAIhJ,WAAW6I,GAAM7I,WAAW8I,KAEjCG,EAASjb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBC,EAASnb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAElBE,EAASpb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBG,EAASrb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAExBP,EAAc,CAACM,EAAQG,EAAQD,EAAQE,OAExC,CAACrb,IAEJ4N,qBAAU,WACJ7M,GAAQA,EAAK+P,QACf+L,EAAmB9b,KAEpB,CAACA,IAEJ,IA3C+B,EAoDLmM,mBAFL,wCAlDU,mBAoDxBhN,EApDwB,KAoDjBT,EApDiB,OAqDSyN,qBArDT,mBAqDxB0J,EArDwB,KAqDVwC,EArDU,OAsDalM,qBAtDb,mBAsDxBiK,EAtDwB,KAsDRkC,EAtDQ,OAuDKnM,qBAvDL,mBAuDxB4K,EAvDwB,KAuDZwB,EAvDY,OAwDSpM,qBAxDT,mBAwDxB4P,EAxDwB,KAwDVC,EAxDU,QAyDmB7P,qBAzDnB,qBAyDxB8P,GAzDwB,MAyDLC,GAzDK,SA0DuB/P,qBA1DvB,qBA0DxBgQ,GA1DwB,MA0DHC,GA1DG,SA2DejQ,qBA3Df,qBA2DxBkQ,GA3DwB,MA2DPC,GA3DO,SA4DOnQ,qBA5DP,qBA4DxBoQ,GA5DwB,MA4DXC,GA5DW,MA6DzBC,GAAc9Q,iBAAO,MA7DI,GA8DDQ,mBAAS,YA9DR,qCA+DqBA,mBAAS,UA/D9B,qBA+DxBqM,GA/DwB,MA+DJC,GA/DI,SAgEOtM,mBAASjN,EAAUI,UAhE1B,qBAgExBkN,GAhEwB,MAgEXkQ,GAhEW,MAkE/B7P,qBAAU,WACR6P,GAAexd,EAAUI,YACxB,CAACJ,EAAUI,WAEduN,qBAAU,WACR,GAAI0P,GACF,IAKE,IAJA,IAAIvc,EAAO,IAAI2c,cAAW,IAAIC,KAASL,KAEjC7e,EAAW,GAERmf,EAAI,EAAGA,EAAI7c,EAAKoE,OAAL,SAAwB2L,OAAQ8M,IAClDnf,EAASof,KACP9c,EAAKoE,OAAL,SACGrE,QAAQ8c,GACRlf,UACCke,EAAgB,GAChBA,EAAgB,GAChBA,EAAgB,KAIxBrb,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS,CACPpD,KAAM,oBACNe,eAIN,MAAOT,GACPY,QAAQC,IAAIb,MAGf,CAACsf,KAEJ,IAAMQ,GAAc,WAClB,GAAoB,mBAAhBvQ,GAAkC,CACpC,IAAM6M,EACJjB,uCAGAjZ,EACA,SACAwa,EAAW9F,KAAK,KAChB,iBACA5S,EAEI0Z,EAAY,CAChB,CACE,CAAChB,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,MAI3B1a,GAAWA,EAAQ8Q,SAlFG0K,EAmFEE,EAAU,GAnFJD,EAmFQzb,EAAQ,GAlF7Cwb,EAAOG,OACZ,SAACna,EAAOoa,GAAR,OACEpa,EAAM,IAAMia,EAAOG,GAAO,IAAMpa,EAAM,IAAMia,EAAOG,GAAO,OAiFxDra,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAS0b,MAMjBpC,EAAcc,GACdxb,QAAQC,IAAIub,GACZC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLmM,EAAgB,IAChBI,GAAuB,MACvB/D,EAAgBxI,GAChBhS,QAAQC,IAAI+R,EAAM,QAClBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,KAGbmN,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,aAGP,GAAItB,EAAgB9L,OAAQ,CAC1B,IAAMsJ,EACJjB,4CAGAjZ,EACA,MACA0c,EAAgB,GAChB,MACAA,EAAgB,GAChB,MACAA,EAAgB,GAChB,QACAF,EACA,iBACA1a,EAIF,GAFAsX,EAAcc,GACdxb,QAAQC,IAAIub,GACS,QAAjBsC,EAiBF,YAhBArC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAAS6D,iBAEjBtI,MAAK,SAACuI,GACLb,GAAea,GACfL,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,QAKT7D,MAAMD,GACHvE,MAAK,SAACyE,GAIL,OAHA1b,QAAQC,IAAIyb,GACZjB,EAAkBiB,EAASC,QAEpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLmM,EAAgB,IAChBI,GAAuB,MACvB/D,EAAgBxI,GAChBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,KAGbmN,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,QArLgB,IAAC1C,EAAQC,GAkOtC,OAJA7N,qBAAU,WACRmP,EAAgB/b,KACf,CAACA,IAGF,sBAAKuR,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,wDACA,kGACA,sBAAKjG,UAAU,OAAf,UACE,cAACM,EAAA,EAAD,CACEN,UAAW,CACT1F,EAAQgP,WACQ,mBAAhBtO,IAAoCV,EAAQuP,kBAC5CxH,KAAK,KACP7W,QAAS,WACPkf,GAAqB,MACrBI,GAAmB,IACnBF,GAAuB,MACvBR,EAAgB,WAChBpb,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,qBAdlB,8BAqBA,cAACwS,EAAA,EAAD,CACEN,UAAW,CACT1F,EAAQoP,YACQ,mBAAhB1O,IAAoCV,EAAQuP,kBAC5CxH,KAAK,KACP7W,QAAS,WACPqb,EAAgB,MAChBE,EAAc,IACdD,EAAkB,MAClB9X,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,OAblB,gCAqBF,oBAAIkS,UAAW1F,EAAQ2P,WAAvB,wBAEA,cAAC,GAAD,CACE9C,MAAM,oCACN5G,QAAQ,SACRtR,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,aAKP,mBAAhB+L,GACC,mCACE,sBAAKgF,UAAW1F,EAAQ2L,KAAxB,UACE,sBAAKjG,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNlY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZ3I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,GACXA,EAAW,QAKjB,cAAC,GAAD,CACEhB,MAAM,oCACNlY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,WAKnB,sBAAKnI,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNlY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNlY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,eAK5B,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,cAAC,GAAD,CACEe,MAAM,eACN5G,QAAQ,SACRtR,MAAOQ,EACP4X,SAAU,SAAC5b,GACTyb,EAAWzb,EAAE0W,OAAOlT,YAI1B,cAACqR,EAAA,EAAD,CACEC,QACE4H,GAAcA,EAAW5J,OAAS,YAAc,WAElD1F,MAAM,UACNrN,QAAS+f,GACTvF,WAAW,EACXhG,UAAW1F,EAAQ6L,aAPrB,+BAWA,cAAC,GAAD,SAIJ,mCACE,sBAAKnG,UAAW1F,EAAQ2L,KAAxB,UACE,sBAAKjG,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,eACNlY,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDrK,UAAU,QACVqH,SAAU,SAAC5b,GACT6e,EAAmB,CACjB7K,WAAWhU,EAAE0W,OAAOlT,OACpBob,EAAgB,GAChBA,EAAgB,QAItB,cAAC,GAAD,CACElD,MAAM,eACNlY,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDrK,UAAU,QACVqH,SAAU,SAAC5b,GACT6e,EAAmB,CACjBD,EAAgB,GAChB5K,WAAWhU,EAAE0W,OAAOlT,OACpBob,EAAgB,QAItB,cAAC,GAAD,CACElD,MAAM,eACN5G,QAAQ,SACRtR,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDhD,SAAU,SAAC5b,GACT6e,EAAmB,CACjBD,EAAgB,GAChBA,EAAgB,GAChB5K,WAAWhU,EAAE0W,OAAOlT,eAK5B,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,cAAC,GAAD,CACEe,MAAM,eACN5G,QAAQ,SACRtR,MAAOQ,EACP4X,SAAU,SAAC5b,GACTyb,EAAWzb,EAAE0W,OAAOlT,YAI1B,kDAEE,cAAC6c,GAAA,EAAD,CACEC,UAAU,WACV/L,UAAW1F,EAAQwP,iBAFrB,SAIE,eAACxC,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,gBACXlU,KAAK,SACLrE,MAAOkb,EACP9C,SAAU,SAAC5b,GACT2e,EAAgB3e,EAAE0W,OAAOlT,QAN7B,UASE,cAACwY,GAAA,EAAD,CACExY,MAAM,UACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,YAER,cAACM,GAAA,EAAD,CACExY,MAAM,MACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,aAIZ,+GAKF,cAAC7G,EAAA,EAAD,CACEC,QAAS/R,GAAQA,EAAK+P,OAAS,YAAc,WAC7C1F,MAAM,UACNrN,QAAS+f,GACTvF,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,0CASA,cAAC,GAAD,SAILvB,GACC,qCACE,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACE,2CACA,cAAC,GAAD,CAAYV,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACoB,QAAjBgF,GAA6C,MAAnBvF,EACzB,qBAAK5E,UAAW1F,EAAQ+J,aAAxB,SACE,mCACE,cAAC/D,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAAS,YAxQX,WAClB,IAAMuZ,EAAO,IAAIC,KAAK,CAAC+F,KACvB9F,kBACEF,EADI,UAEDsF,EAAgB,GAFf,YAEqBA,EAAgB,GAFrC,YAE2CA,EAAgB,GAF3D,SAuQgB2B,IAEFhM,UAAW1F,EAAQoK,eANrB,8BAaJ,cAAC,GAAD,CACEL,aAAcA,EACdO,eAAgBA,KAGjBP,GACDA,EAAanY,WACZmY,EAAanY,SAASqS,QACN,QAAjB4L,GACkB,QAAjBA,GAA6C,MAAnBvF,IAC3B,qBAAK5E,UAAW1F,EAAQ4K,kBAAxB,mSAWR,sBAAKlF,UAAW1F,EAAQ2L,KAAMhG,IAAKgL,GAAnC,UACE,kEACA,2FACA,cAAC,GAAD,CACE9D,MAAM,WACNlY,MAAOsb,EACPlD,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAM4B,EACNuB,QAAS,CACPG,QAAShD,EAAE0W,OAAOlT,YAK1B,sBAAK+Q,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,aAIrB,sBAAK5H,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,mCACA,eAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,sBACXlU,KAAK,sBACLrE,MAAO+X,GACPK,SAAU,SAAC5b,GACTwb,GAAsBxb,EAAE0W,OAAOlT,QANnC,UASE,cAACwY,GAAA,EAAD,CACExY,MAAO,QACPyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,QACNS,eAAe,QAEjB,cAACH,GAAA,EAAD,CACExY,MAAO,OACPyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,OACNS,eAAe,cAIrB,cAACtH,EAAA,EAAD,CACEC,QAAS9R,EAAU,YAAc,WACjCoK,MAAM,UACNrN,QA7XW,WACrB,IAAMqc,EACJjB,GAAO,sCACwBnY,GAC/B,UACAd,EAHAiZ,4CAMAI,GACF8D,GAAmBjD,GACnBxb,QAAQC,IAAIub,GACZC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADA6C,GAAuB7C,EAASC,QACzBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLqM,GAAqBrM,GACrBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,SAyWP2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,kCAUDwE,IACC,sBAAK3K,UAAW1F,EAAQ2L,KAAxB,UACE,2CACA,cAAC,GAAD,CAAYV,WAAYsF,KACxB,sBAAK7K,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SACGwG,KAEH,sBAAK3K,UAAW1F,EAAQ6K,eAAxB,UACE,+BAC2B,MAAxBwF,IAA+B,uBAAwB,IAC/B,MAAxBA,IACC,qCAEJ,cAAC,GAAD,CACEtG,aAAcoG,GACd7F,eAAgB+F,qB,sEC5wB9BzS,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAGR8X,IAAK,CACHJ,UAAW,GAGbW,WAAY,CACV5I,MAAO,UACPgI,aAAc,EACdD,WAAY,OACZnH,SAAU,IAEZ2L,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,GAERD,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,KAEd+C,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAGduF,aAAc,CACZrF,UAAW,GACXrI,UAAW,GACXkB,aAAc,EACd2H,cAAe,aACfF,WAAY,IACZ3H,SAAU,IAGZ2M,WAAY,CACV3Z,QAAS,OACTqU,UAAW,GACX,4BAA6B,CAC3BuF,SAAU,OACV,SAAU,CACRvD,YAAa,iBACbjC,aAAc,KAIpBoL,SAAU,CACRzS,gBAAiB,OACjBG,aAAc,EACdlB,UAAW,GAEXI,MAAO,UACP0Q,OAAQ,oBACRzI,UAAW,IAEboL,IAAK,CACHC,cAAe,EACfC,WAAY,EACZ3T,UAAW,GACXE,SAAU,KAEZ0T,YAAa,CACX7S,gBAAiB,UACjBX,MAAO,QAETyT,WAAY,GAIZC,aAAc,CACZ/S,gBAAiB,OACjBtQ,OAAQ,GAEVsjB,iBAAkB,CAChB7T,SAAU,GACVmI,UAAW,GAEb2L,aAAc,CACZrL,WAAY,IACZvI,MAAO,WAET6T,YAAa,CACXtjB,KAAM,WAERujB,cAAe,CACbvL,WAAY,MACZP,aAAc,OAEhB+L,aAAc,CACZhK,WAAY,QACZiK,OAAQ,WAEVC,aAAc,CACZnU,SAAU,KAEZoU,SAAU,CACRtU,UAAW,KAEb6N,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,OAIX,SAAS+jB,GAASjkB,GAAQ,IAChBoF,EAAqCpF,EAArCoF,SAAUc,EAA2BlG,EAA3BkG,MAAOoa,EAAoBtgB,EAApBsgB,MAAU4D,EADZ,aACsBlkB,EADtB,8BAGvB,OACE,6CACEmkB,KAAK,WACLC,OAAQle,IAAUoa,EAClB1d,GAAE,0BAAqB0d,GACvB+D,kBAAA,qBAA+B/D,IAC3B4D,GALN,aAOGhe,IAAUoa,GAAS,8BAAMlb,OAKhC,SAASkf,GAAUhE,GACjB,MAAO,CACL1d,GAAG,cAAD,OAAgB0d,GAClB,gBAAgB,mBAAhB,OAAoCA,IAUxC,IAAMiE,GAAmB,SAAC,GAAiB,IAAf/e,EAAc,EAAdA,QACpB+L,EAAUpC,KACVxJ,EACsB,UAA1BH,EAAQlD,SAASF,KACboD,EAAQlD,SAASC,YACjB4T,KAAK7L,OAAO9E,EAAQlD,UAAUA,SAASC,YAErC0D,EAAaqL,qBAAWtM,GAAxBiB,SAWR,OACE,eAACue,GAAA,EAAD,CACEvN,UAAW1F,EAAQsS,aACnBphB,QAAS,YAZU,SAACkD,GACtBM,EAAS,CACP7D,KAAM6B,EACNsB,QAAS,CACPI,SAAU,CAAE2E,OAAQ3E,EAAUmF,KAAM,MASpC2Z,CAAe9e,IAHnB,UAME,cAAC+e,GAAA,EAAD,CAAczN,UAAW1F,EAAQkS,iBAAjC,SACE,qBACEpK,IAAG,oCAA+B7T,EAAQnD,WAAWmI,aAAama,cAA/D,QACHzkB,MAAM,KACNC,OAAO,OACP8W,UAAU,OACV2N,IAAKpf,EAAQnD,WAAWwiB,YAG5B,gCACE,cAACC,GAAA,EAAD,CACEC,QAASvf,EAAQ+E,KACjBgH,QAAS,CAAE+F,KAAM/F,EAAQmS,cACzBsB,mBAAiB,IAEnB,cAACF,GAAA,EAAD,CACEG,UACEzf,EAAQnD,WAAW6iB,MACnB1f,EAAQnD,WAAW6iB,KAAKC,iBAAmB,eAQjDC,GAAe,SAAC,GAAc,IAAZC,EAAW,EAAXA,KAChB9T,EAAUpC,KADiB,EAEHyC,oBAAS,GAFN,mBAE1B0T,EAF0B,KAEjBC,EAFiB,KAIjC,OACE,gCACE,eAACC,GAAA,EAAD,CAAMvO,UAAW1F,EAAQyS,SAAzB,WACIqB,EAAK7P,QAAU,GAAK8P,IACpBD,EAAKpiB,KAAI,SAACuC,GACR,OAAO,cAAC,GAAD,CAAkBA,QAASA,OAErC6f,EAAK7P,OAAS,IACZ8P,GACDD,EAAKI,MAAM,EAAG,GAAGxiB,KAAI,SAACuC,GACpB,OAAO,cAAC,GAAD,CAAkBA,QAASA,UAGvC6f,EAAK7P,OAAS,IAAM8P,GACnB,mCACE,eAAC/N,EAAA,EAAD,CACE9U,QAAS,WACP8iB,GAAW,IAEbtO,UAAW1F,EAAQqS,cACnBpM,QAAQ,WACR1H,MAAM,UACNmN,WAAS,EAPX,sBASYoI,EAAK7P,gBA+MZkQ,GAvMQ,SAAC1lB,GACtB,IAAMuR,EAAUpC,KADgB,EAM5BmC,qBAAWtM,GADbiB,GAL8B,EAI9BlE,MAASyC,KAJqB,EAK9ByB,UAGI4X,EAAO,UAAMtE,GAAN,YAAgBC,IARG,EAYQ5H,qBAZR,mBAYzB0J,EAZyB,KAYXwC,EAZW,OAaYlM,qBAbZ,mBAazBiK,EAbyB,KAaTkC,EAbS,OAcInM,qBAdJ,mBAczB4K,EAdyB,KAcbwB,EAda,OAgBNpM,mBADL,wCAfW,mBAgBzBhN,EAhByB,KAgBlBT,EAhBkB,OAiBAyN,mBAAS,GAjBT,mBAiBzB+T,EAjByB,KAiBfC,EAjBe,KAsChCtT,qBAAU,WACJgJ,GACFrV,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8V,OAId,CAACA,IAoBJ,OACE,sBAAKrE,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,mDACA,qGAGA,4CACA,cAAC,GAAD,CACEkB,MAAM,oCACNC,aAAa,GACbC,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,QAEpBA,MAAOtB,IAET,sBAAKqS,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,aAKrB,cAACtH,EAAA,EAAD,CACEC,QAAS,YACT1H,MAAM,UACNrN,QApFY,WAClB,IAAMqc,EACJjB,6BAGAjZ,EACA,uBACFoZ,EAAcc,GAEdC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLwI,EAAgBxI,OAsEd2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,+BAUA,cAAC,GAAD,OAGDvB,GACC,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACE,2CACC5B,GACC,qCACE,eAACuK,GAAA,EAAD,CACE3f,MAAOyf,EACPrH,SA7DO,SAACwH,EAAOC,GAC3BH,EAAYG,IA6DAC,eAAe,UACfC,UAAU,UACVzO,QAAQ,YACRiH,aAAW,0BACXlN,QAAS,CACP+F,KAAM/F,EAAQ2R,SACdgD,UAAW3U,EAAQiS,cATvB,UAYE,cAAC2C,GAAA,EAAD,yBACE/H,MAAK,6BACH9C,EAAanY,SAASkR,QACpB,SAAC7O,GAAD,MAC4C,SAA1CA,EAAQnD,WAAW+jB,sBACrB5Q,OAJC,MAMD8O,GAAU,IAPhB,IAQE/S,QAAS,CACP+F,KAAM,CAAC/F,EAAQ4R,IAAK5R,EAAQwS,cAAczK,KAAK,KAC/C+M,SAAU9U,EAAQ+R,YAClBgD,QAAS/U,EAAQgS,eAGrB,cAAC4C,GAAA,EAAD,yBACE/H,MAAK,mBACH9C,EAAanY,SAASkR,QACpB,SAAC7O,GAAD,MAEE,mBADAA,EAAQnD,WAAW+jB,sBAErB5Q,OALC,MAOD8O,GAAU,IARhB,IASE/S,QAAS,CACP+F,KAAM/F,EAAQ4R,IACdkD,SAAU9U,EAAQ+R,YAClBgD,QAAS/U,EAAQgS,kBAKvB,cAACU,GAAD,CAAU/d,MAAOyf,EAAUrF,MAAO,EAAlC,SACE,cAAC,GAAD,CACE+E,KAAM/J,EAAanY,SAASkR,QAC1B,SAAC7O,GAAD,MAC4C,SAA1CA,EAAQnD,WAAW+jB,0BAI3B,cAACnC,GAAD,CAAU/d,MAAOyf,EAAUrF,MAAO,EAAlC,SACE,cAAC,GAAD,CACE+E,KAAM/J,EAAanY,SAASkR,QAC1B,SAAC7O,GAAD,MAC4C,mBAA1CA,EAAQnD,WAAW+jB,6BAM/B,cAAC,GAAD,CAAY5J,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,+BACsB,MAAnBP,GAA0B,uBAAwB,IAC/B,MAAnBA,GAA0B,qCAE7B,cAAC,GAAD,CACEP,aAAcA,EACdO,eAAgBA,iB,SCre1B1M,GAAYC,YAAW,CAC3BiN,KAAM,CACJ3Y,QAAS,QAEX+B,KAAM,CACJ4S,WAAY,IACZvI,MAAO,UACPF,SAAU,IAEZ2W,KAAM,CACJ3W,SAAU,IAEZ4W,MAAO,CACLlK,SAAU,aACVb,SAAU,OACVY,KAAM,EACNvE,aAAc,IAEhB2O,cAAe,CACb/iB,QAAS,OACT,UAAW,CACTogB,OAAQ,cAKR4C,GAAS,CACb,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACNC,GAAI,MACJC,GAAI,MACJC,GAAI,OAyFSC,GAtFe,SAAC9mB,GAC7B,IAAMuR,EAAUpC,KACR3J,EAAYxF,EAAZwF,QACAnD,EAAemD,EAAfnD,WAH+B,EAIbuP,mBAAS,IAJI,mBAIhCmV,EAJgC,KAIzBC,EAJyB,KAMjCrhB,EACsB,UAA1BH,EAAQlD,SAASF,KACboD,EAAQlD,SAASC,YACjB4T,KAAK7L,OAAO9E,EAAQlD,UAAUA,SAASC,YAErC0D,EAAaqL,qBAAWtM,GAAxBiB,SAyCR,OA3BA2L,oBAAS,WAEPvP,GACEA,EAAWwT,eAAeL,QAC1BwR,EACE3kB,EAAWwT,eACR5S,KAAI,qBAAGgkB,YAA8BC,UAAU,EAAG,MAClD7S,QAAO,SAAC8S,EAAM7E,EAAG8E,GAAV,OAAiBA,EAAGC,QAAQF,KAAU7E,QAEnD,IAmBD,sBACErL,UAAW1F,EAAQkV,cACnBhkB,QAAS,YA1CU,SAACkD,GACtBM,EAAS,CACP7D,KAAM6B,EACNsB,QAAS,CACPI,SAAU,CAAE2E,OAAQ3E,MAuCpB8e,CAAe9e,IAHnB,UAME,sBAAKsR,UAAW1F,EAAQ9L,KAAxB,UAA+BpD,EAAWilB,UAA1C,SACA,8BACGP,EAAM9jB,KAAI,SAACsjB,GACV,OACE,sBAAKtP,UAAW1F,EAAQ8K,KAAxB,UACE,sBAAKpF,UAAW1F,EAAQgV,KAAxB,UAA+BA,EAA/B,OACA,qBAAKtP,UAAW1F,EAAQiV,MAAxB,SACGnkB,EAAWwT,eACTxB,QACC,WAAkBiO,GAAlB,SAAG2E,YAAiCC,UAAU,EAAG,KAAOX,KAEzDtjB,KACC,gBAAGgkB,EAAH,EAAGA,YAAH,OACEP,GAAOO,EAAYC,UAAU,EAAG,IAChC,IACAD,EAAYC,UAAU,EAAG,MAE5B5N,KAAK,oBC9FlBnK,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAGRgc,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,GAERD,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,KAEd+C,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAGd4E,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXrI,UAAW,GACXkB,aAAc,EACd2H,cAAe,aACfF,WAAY,IACZ3H,SAAU,IAEZ7J,IAAK,CACHiJ,MAAO,WAETuN,WAAY,CACV3Z,QAAS,OACTqU,UAAW,GACX,4BAA6B,CAC3BuF,SAAU,OACV,SAAU,CACRvD,YAAa,iBACbjC,aAAc,KAIpBoL,SAAU,CACRzS,gBAAiB,OACjBG,aAAc,EACdlB,UAAW,GAEXI,MAAO,UACP0Q,OAAQ,oBACRzI,UAAW,GACXuF,SAAU,OACV7B,SAAU,QAEZ0H,IAAK,CACHC,cAAe,EACfC,WAAY,EACZ3T,UAAW,GACXE,SAAU,KAEZ0T,YAAa,CACX7S,gBAAiB,UACjBX,MAAO,QAETyT,WAAY,GAIZC,aAAc,CACZ/S,gBAAiB,OACjBtQ,OAAQ,GAEVsjB,iBAAkB,CAChB7T,SAAU,GACVmI,UAAW,GAEb2L,aAAc,CACZrL,WAAY,IACZvI,MAAO,WAET6T,YAAa,CACXtjB,KAAM,WAERujB,cAAe,CACbvL,WAAY,MACZP,aAAc,OAEhB+L,aAAc,CACZhK,WAAY,QACZiK,OAAQ,WAEVC,aAAc,CACZnU,SAAU,KAEZoU,SAAU,CACRtU,UAAW,KAGb6X,UAAW,CACTtG,WAAY,GACZlJ,UAAW,EACXM,WAAY,IACZ3H,SAAU,GACVoH,cAAe,EACfhI,MAAO,WAET0X,cAAe,CACbzP,UAAW,EACXgC,YAAa,GAEf0N,oBAAqB,CACnBC,YAAa,aAuDXtC,GAAe,SAAC,GAAc,IAAZC,EAAW,EAAXA,KAChB9T,EAAUpC,KADiB,EAEHyC,oBAAS,GAFN,mBAE1B0T,EAF0B,KAEjBC,EAFiB,KAIjC,OACE,gCACE,eAACC,GAAA,EAAD,CAAMvO,UAAW1F,EAAQyS,SAAzB,WACIqB,EAAK7P,QAAU,GAAK8P,IACpBD,EAAKpiB,KAAI,SAACuC,GACR,OAAO,cAAC,GAAD,CAAuBA,QAASA,OAE1C6f,EAAK7P,OAAS,IACZ8P,GACDD,EAAKI,MAAM,EAAG,GAAGxiB,KAAI,SAACuC,GACpB,OAAO,cAAC,GAAD,CAAuBA,QAASA,UAG5C6f,EAAK7P,OAAS,IAAM8P,GACnB,mCACE,eAAC/N,EAAA,EAAD,CACE9U,QAAS,WACP8iB,GAAW,IAEbtO,UAAW1F,EAAQqS,cACnBpM,QAAQ,WACR1H,MAAM,UACNmN,WAAS,EAPX,sBASYoI,EAAK7P,gBAQrBmS,GAAc,SAAC,GAAmD,IAAjDtC,EAAgD,EAAhDA,KAAMuC,EAA0C,EAA1CA,mBAAoBC,EAAsB,EAAtBA,gBACzCtW,EAAUpC,KADqD,EAEvCyC,oBAAS,GAF8B,mBAE9D0T,EAF8D,KAErDC,EAFqD,KAIrE,OACE,8BACE,eAACC,GAAA,EAAD,WACE,cAACjO,EAAA,EAAD,CACE9U,QAAS,WACPmlB,KAEFpQ,QAAQ,WACRP,UAAW1F,EAAQiW,cALrB,wBAMM,eAIJnC,EAAK7P,QAAU,GAAK8P,IACpBD,EAAKpiB,KAAI,SAAC4hB,GACR,IAAMiD,EAAmBjD,EAAQF,cACjC,OACE,eAACpN,EAAA,EAAD,CACE9U,QAAS,WACPmlB,EAAmB/C,IAErBrN,QAAQ,WACRP,UAAW,CACT1F,EAAQiW,cACRK,IAAoBhD,EAChBtT,EAAQkW,oBACR,IACJnO,KAAK,KAVT,UAaE,qBACED,IAAG,oCAA+ByO,EAA/B,QACH5nB,MAAM,KACNC,OAAO,OACPykB,IAAKC,EACL5N,UAAU,SAEX8Q,MAAMC,QAAQC,GAAapD,IACxBoD,GAAapD,GAAS,GACtBoD,GAAapD,KAXZA,MAeZQ,EAAK7P,OAAS,IACZ8P,GACDD,EAAKI,MAAM,EAAG,GAAGxiB,KAAI,SAAC4hB,GACpB,OACE,eAACtN,EAAA,EAAD,CACE9U,QAAS,WACPmlB,EAAmB/C,IAErBrN,QAAQ,WACRP,UAAW,CACT1F,EAAQiW,cACRK,IAAoBhD,EAChBtT,EAAQkW,oBACR,IACJnO,KAAK,KAVT,UAaE,qBACED,IAAG,oCAA+BwL,EAAQF,cAAvC,QACHzkB,MAAM,KACNC,OAAO,OACPykB,IAAKC,EACL5N,UAAU,SAEX8Q,MAAMC,QAAQC,GAAapD,IACxBoD,GAAapD,GAAS,GACtBoD,GAAapD,KAXZA,MAeZQ,EAAK7P,OAAS,IAAM8P,GACnB,mCACE,eAAC/N,EAAA,EAAD,CACE9U,QAAS,WACP8iB,GAAW,IAEbtO,UAAW1F,EAAQiW,cACnBhQ,QAAQ,WALV,UAQG6N,EAAK7P,OARR,YAMM,mBA6JH0S,GAlJU,SAACloB,GACxB,IAAMuR,EAAUpC,KADkB,EAM9BmC,qBAAWtM,GADbiB,GALgC,EAIhClE,MAASyC,KAJuB,EAKhCyB,UAGI4X,EAAO,UAAMtE,GAAN,YAAgBC,IARK,EAYM5H,qBAZN,mBAY3B0J,EAZ2B,KAYbwC,EAZa,OAaUlM,qBAbV,mBAa3BiK,EAb2B,KAaXkC,EAbW,OAcEnM,qBAdF,mBAc3B4K,EAd2B,KAcfwB,EAde,OAgBRpM,mBADL,wCAfa,mBAgB3BhN,EAhB2B,KAgBpBT,EAhBoB,OAiBIyN,mBAAS,IAjBb,mBAiB3BuW,EAjB2B,KAiBdC,EAjBc,OAkBYxW,qBAlBZ,mBAkB3BiW,EAlB2B,KAkBVD,EAlBU,OAmBAhW,qBAnBA,mBAmB3ByW,EAnB2B,KAmBhBC,EAnBgB,OAqBV1W,mBAAS,sBArBC,mBAqB3B2W,EArB2B,KAqBrBC,EArBqB,KAyDlC,OAlBAlW,qBAAU,WACR,GAAIgJ,EAAc,CAChBrV,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8V,KAGb,IAAMmN,EACJnN,GACAA,EAAanY,SACVF,KAAI,qBAAGZ,WAA4BwiB,WACnCxQ,QAAO,SAAC8S,EAAM7E,EAAG8E,GAAV,OAAiBA,EAAGC,QAAQF,KAAU7E,KAClD8F,EAAeK,GACfb,EAAmBa,EAAmB,OAEvC,CAACnN,IAGF,sBAAKrE,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,6CACA,oHAIA,4CACA,cAAC,GAAD,CACEkB,MAAM,oCACNC,aAAa,GACbC,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,QAEpBA,MAAOtB,OAGX,sBAAKqS,UAAW1F,EAAQ2L,KAAxB,UACE,cAAC,GAAD,CACEkB,MAAM,aACNlY,MAAOmiB,EACP/J,SAAU,SAAC5b,GACT4lB,EAAa5lB,EAAE0W,OAAOlT,UAI1B,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,cAAC,GAAD,CACEe,MAAM,6EACNlY,MAAOqiB,EACPjK,SAAU,SAAC5b,GAAD,OAAO8lB,EAAQ9lB,EAAE0W,OAAOlT,YAItC,cAACqR,EAAA,EAAD,CACEC,QAAS,YACT1H,MAAM,UACNrN,QAxEY,WAClB,IAAMqc,EAAQ,UAAMjB,EAAN,6BAAkCjZ,GAAlC,OACZyjB,EAAS,qBAAiBA,GAAc,IAD5B,OAEXE,EAAO,SAAWA,EAAO,IAC5BvK,EAAcc,GAEdC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLwI,EAAgBxI,OA6Dd2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,kCAWDvB,GACC,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACG5B,GACC,qCACE,oBAAIrE,UAAW1F,EAAQgW,UAAvB,yBACA,cAAC,GAAD,CACElC,KAAM8C,EACNP,mBAAoBA,EACpBC,gBAAiBA,IAGnB,cAAC,GAAD,CACExC,KACEwC,EACIvM,EAAanY,SAASkR,QACpB,SAAC7O,GAAD,OACEA,EAAQnD,WAAWwiB,UAAYgD,KAEnCvM,EAAanY,cAKzB,cAAC,GAAD,CAAYqZ,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,+BACsB,MAAnBP,GAA0B,uBAAwB,IAC/B,MAAnBA,GAA0B,qCAE7B,cAAC,GAAD,CACEP,aAAcA,EACdO,eAAgBA,iB,4DC/d1B1M,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAER8X,IAAK,CACHJ,UAAW,GAEbsE,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,EACNC,SAAU,YAEZF,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZoD,SAAU,QAEZL,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEdyD,aAAc,CACZ7K,gBAAiB,UACjBG,aAAc,EACdZ,QAAS,WACTV,SAAU,WACVmM,SAAU,IACV/L,UAAW,IACX6L,UAAW,IACXC,UAAW,UAEbiB,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXQ,cAAe,cAEjB1R,IAAK,CACHiJ,MAAO,WAET4L,WAAY,CACV3B,YAAa,EACbxB,cAAe,aACf3H,aAAc,EACd,4BAA6B,CAC3BtB,SAAU,SACVwI,aAAc,IAGlBuF,WAAY,CACV3Z,QAAS,OACTqU,UAAW,IAEbmJ,WAAY,CACVnJ,UAAW,mBAEb2Q,UAAW,CACThlB,QAAS,OACTilB,oBAAqB,sCACrBC,UAAW,OACXC,OAAQ,OACRnY,SAAU,QAEZoY,iBAAkB,CAChB5oB,MAAO,OACP0Q,aAAc,EACdmH,UAAW,EACXyI,OAAQ,qBAEVuI,mBAAoB,CAClBzZ,SAAU,WACV5L,QAAS,OACTqU,UAAW,IAEbiR,UAAW,CACTlZ,MAAO,UACPuI,WAAY,IACZoD,SAAU,OACVa,SAAU,YAEZ2M,eAAgB,CACdvY,SAAU,GACVoH,aAAc,KAMZoR,IAFO,UAAM3P,GAAN,YAAgBC,IAEf,gDAER2P,GAAe,IAAIpB,MAAM,IAAI1nB,MAAK,GAkVzB+oB,GAhVM,SAACppB,GACpB,IAAMuR,EAAUpC,KADc,EAM1BmC,qBAAWtM,GANe,IAI5BjD,MAAgC0D,GAJJ,EAInBV,SAJmB,EAIIU,MAAMb,EAJV,EAIUA,MAAOgB,EAJjB,EAIiBA,MAC7CK,EAL4B,EAK5BA,SAL4B,EAQgB2L,mBAAS,IARzB,mBAQvB0P,EARuB,KAQNC,EARM,KAU9BjP,qBAAU,WACJ7M,GAAQA,EAAK+P,QACf+L,EAAmB9b,KAEpB,CAACA,IAd0B,MAgBUmM,qBAhBV,mBAgBvB0J,EAhBuB,aAiBc1J,sBAjBd,mBAiBvBiK,EAjBuB,KAiBPkC,EAjBO,OAkBIsL,IAAMzX,SAAS,IAAI0X,KAAK,eAlB5B,mBAkBvBC,EAlBuB,KAkBZC,EAlBY,OAmBAH,IAAMzX,SAAS,IAAI0X,MAnBnB,mBAmBvBG,EAnBuB,KAmBdC,EAnBc,OAqBI9X,qBArBJ,mBAqBvByW,EArBuB,KAqBZC,EArBY,OAsBI1W,mBAAS,YAtBb,mBAsBvB+X,EAtBuB,KAsBZC,EAtBY,OAuBQhY,mBAAS,OAvBjB,mBAuBvBiY,EAvBuB,KAuBVC,EAvBU,OAwBgBlY,oBAAS,GAxBzB,mBAwBvBmY,EAxBuB,KAwBNC,EAxBM,OAyBIpY,mBAAS,IAzBb,mBAyBvBqY,GAzBuB,KAyBZC,GAzBY,QA0BgCtY,oBAAS,GA1BzC,qBA0BvBuY,GA1BuB,MA0BEC,GA1BF,MAoExBC,GAAmB,SAACC,GACxB,IAAMC,EAAOD,EAAKE,cACdC,EAAKH,EAAKI,WAAa,EACvBC,EAAKL,EAAKM,UAId,OAHID,EAAK,KAAIA,EAAK,IAAMA,GACpBF,EAAK,KAAIA,EAAK,IAAMA,GAElB,GAAN,OAAUF,GAAV,OAAiBE,GAAjB,OAAsBE,IAOlBE,GAAY,yCAAG,WAAOC,GAAP,UAAAC,EAAA,sDACnBznB,QAAQC,IAAIunB,GACZ/L,MAAM+L,GAASvQ,MAAK,SAACyE,GACnB1b,QAAQC,IAAI,2BAA4Byb,GACxCjB,EAAkBiB,EAASC,WAJV,2CAAH,sDAQlB,OACE,sBAAKhI,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,oBAAIjG,UAAW1F,EAAQ2P,WAAvB,wBAEA,cAAC,GAAD,CACE9C,MAAM,oCACNlY,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAM+B,EACNoB,QAAS,CACPX,MAAOlC,EAAE0W,OAAOlT,YAMxB,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,eAAC,KAAD,CAAyB2N,MAAOC,KAAhC,UACE,cAAC,KAAD,CACEC,gBAAc,EACdC,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,aACNlY,MAAOqjB,EACPjL,SA/FkB,SAACgM,GAC7Bd,EAAac,IA+FHe,oBAAqB,CACnB,aAAc,eAEhBpU,UAAU,UAEZ,cAAC,KAAD,CACEiU,gBAAc,EACdC,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,WACNlY,MAAOujB,EACPnL,SA/GgB,SAACgM,GAC3BZ,EAAWY,IA+GDe,oBAAqB,CACnB,aAAc,yBAOxB,sBAAKpU,UAAW1F,EAAQ2L,KAAxB,UACE,cAAC,GAAD,CACEkB,MAAM,aACNlY,MAAOmiB,EACP/J,SAAU,SAAC5b,GACT4lB,EAAa5lB,EAAE0W,OAAOlT,UAI1B,sBAAK+Q,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,IACNlY,MAAON,GAASA,EAAM,GACtB0Y,SAAU,SAAC5b,GACT6e,EAAmB,CACjBD,EAAgB,GAChBA,EAAgB,GAChB5K,WAAWhU,EAAE0W,OAAOlT,UAGxB+Q,UAAU,UAEZ,cAAC,GAAD,CACEmH,MAAM,IACNlY,MAAON,GAASA,EAAM,GAAG0T,KAAK,KAC9BgF,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAMgC,EACNmB,QAAS,CACPK,MAAO,CAAClD,EAAE0W,OAAOlT,MAAMgQ,MAAM,KAAMtQ,EAAM,GAAIA,EAAM,QAIzDqR,UAAU,UAEZ,cAAC,GAAD,CACEmH,MAAM,IACNlY,MAAON,GAASA,EAAM,GAAG0T,KAAK,KAC9BgF,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAMgC,EACNmB,QAAS,CACPK,MAAO,CAACA,EAAM,GAAIlD,EAAE0W,OAAOlT,MAAMgQ,MAAM,KAAMtQ,EAAM,aAO7D,sBAAKqR,UAAW1F,EAAQ8L,WAAxB,UACE,eAAC,GAAD,CACEza,GAAG,SACHwb,MAAM,aACNlY,MAAOyjB,EACPrL,SAAU,SAACwH,GACT8D,EAAa9D,EAAM1M,OAAOlT,QAE5B6U,QAAM,EACN9D,UAAU,QARZ,UAUE,cAACqU,GAAA,EAAD,CAAUplB,MAAM,WAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,WAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,YAAhB,qBAEF,eAAC,GAAD,CACEtD,GAAG,SACHwb,MAAM,eACNlY,MAAO2jB,EACPvL,SAAU,SAACwH,GACTgE,EAAehE,EAAM1M,OAAOlT,QAE9B6U,QAAM,EAPR,UASE,cAACuQ,GAAA,EAAD,CAAUplB,MAAM,MAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,MAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,MAAhB,uBAIJ,cAAC,GAAD,IAEA,sBAAK+Q,UAAW1F,EAAQwX,mBAAxB,UACE,gCACE,qBAAK9R,UAAW1F,EAAQ0X,eAAxB,6BACA,qBAAKhS,UAAW1F,EAAQyX,UAAxB,mBACME,GADN,wBAC2BW,EAD3B,kBACgDjlB,EADhD,mBACgE+kB,GADhE,OAEItB,EAAS,kBAAcA,GAAc,GAFzC,uBAGiBgC,GACbd,GAJJ,qBAKgBc,GAAiBZ,SAGnC,8BACE,cAAClS,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAAS,YAzKD,SAAC6Y,GACnBQ,GAAgBhG,KAAKiG,UAAUT,IAyKnBiQ,CAAY,GAAD,OACNrC,GADM,wBACeW,EADf,kBACoCjlB,EADpC,mBACoD+kB,GADpD,OAEPtB,EAAS,kBAAcA,GAAc,GAF9B,uBAGMgC,GACbd,GAJO,qBAKKc,GAAiBZ,MAGnCxS,UAAW1F,EAAQmK,WAZrB,uBAmBJ,qBAAKzE,UAAW1F,EAAQ8L,aACxB,cAAC9F,EAAA,EAAD,CACEC,QAAS,YACT1H,MAAM,UACNrN,QAxOY,WAIlBwD,EAAS,CACP7D,KAAMkC,EACNiB,QAAS,CACPQ,QAAQ,GAAD,OAAKmjB,GAAL,wBACW,QAAhBW,EAAwB,MAAQA,EAD3B,kBAEGjlB,EAFH,mBAEmB+kB,GAFnB,OAGLtB,EAAS,kBAAcA,GAAc,GAHhC,uBAIQgC,GAAiBd,GAJzB,qBAIgDc,GACrDZ,OAINO,GAAmB,GACnB,IAAMwB,EAAW5lB,EAAM,GAAG3C,KACxB,SAACwC,EAAM6a,GAAP,gBACK4I,GADL,YACctjB,EAAM,GADpB,YAC0BA,EAAM,GAAG0a,GADnC,YAEI1a,EAAM,GAAG0a,GAFb,YAGMuJ,EAHN,kBAG2BjlB,EAH3B,mBAG2C+kB,GAH3C,OAIItB,EAAS,kBAAcA,GAAc,GAJzC,uBAKiBgC,GAAiBd,GALlC,qBAKyDc,GACrDZ,OAINS,GAAasB,GAEbX,GAAaW,EAAS,KA2MhBvO,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,kCAUDvB,GACCkO,GACmB,MAAnBlO,IACCsN,GAAa9U,QAAO,SAACnO,GAAD,OAAqB,IAAVA,KAAgBsP,QAC9C,mCACE,sBAAKyB,UAAW1F,EAAQ2L,KAAxB,UACE,0CACA,sBAAKjG,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,6BACsB,MAAnBP,EACC,qCAEA,2DACsBA,EADtB,IACsC,uBACnCP,EAAamQ,QACZ,4DAAuBnQ,EAAamQ,UAEtC,4BAIN,wTAYZ,qBAAKxU,UAAW1F,EAAQ2L,KAAxB,SACE,qBAAKjG,UAAW1F,EAAQmX,UAAxB,SACGuB,IAAaF,EACVE,GAAUhnB,KAAI,SAAC6nB,EAASxK,GAAV,OACZ,gCAGG1a,GACCA,EAAM,GAAK,IAAMA,EAAM,GAAG0a,GAAS,IAAM1a,EAAM,GAAG0a,GACpD,qBACErM,MAAOkW,GAA0B,GAAK,CAAEzmB,QAAS,QACjDuT,UAAW1F,EAAQuX,iBACnBzP,IAAKyR,EACLY,OAAQ,YACLvB,IACCC,IAA2B,YAKrC,WC9cRjb,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAER8X,IAAK,CACHJ,UAAW,GAEbsE,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,EACNC,SAAU,YAEZF,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZoD,SAAU,QAEZL,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEd4E,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXQ,cAAe,cAEjB1R,IAAK,CACHiJ,MAAO,WAET4L,WAAY,CACV3B,YAAa,EACbxB,cAAe,aACf3H,aAAc,EACdmH,UAAW,EACX,4BAA6B,CAC3BzI,SAAU,SACVwI,aAAc,IAGlBuF,WAAY,CACV3Z,QAAS,OACTqU,UAAW,IAEbmJ,WAAY,CACVnJ,UAAW,mBAEb2Q,UAAW,CACThlB,QAAS,OACTilB,oBAAqB,sCACrBC,UAAW,OACXC,OAAQ,QAEVC,iBAAkB,CAChB5oB,MAAO,OACP0Q,aAAc,EACd4P,OAAQ,qBAEVuI,mBAAoB,CAClBzZ,SAAU,WACV5L,QAAS,OACTqU,UAAW,IAEbiR,UAAW,CACTlZ,MAAO,UACPuI,WAAY,IACZoD,SAAU,OACVa,SAAU,WACVvC,YAAa,GAEfkP,eAAgB,CACdvY,SAAU,GACVoH,aAAc,KAMZoR,IAFO,UAAM3P,GAAN,YAAgBC,IAEf,gDAsWCmS,GApWM,SAAC3rB,GACpB,IAAMuR,EAAUpC,KADc,EAM1BmC,qBAAWtM,GANe,IAI5BjD,MAA+C6C,GAJnB,EAInBG,SAJmB,EAIIU,KAJJ,EAIUC,QAJV,EAImBd,OAAcF,GAJjC,EAI0BkB,MAJ1B,EAIiClB,SAC7DuB,EAL4B,EAK5BA,SAL4B,EAQc2L,qBARd,mBAQvBiK,EARuB,KAQPkC,EARO,OASIsL,IAAMzX,SAAS,IAAI0X,KAAK,eAT5B,mBASvBC,EATuB,KASZC,EATY,OAUAH,IAAMzX,SAAS,IAAI0X,MAVnB,mBAUvBG,EAVuB,KAUdC,EAVc,OAYI9X,qBAZJ,mBAYvByW,EAZuB,KAYZC,EAZY,OAaI1W,mBAAS,YAbb,mBAavB+X,EAbuB,KAaZC,EAbY,OAcQhY,mBAAS,OAdjB,mBAcvBiY,EAduB,KAcVC,EAdU,OAeMlY,mBAAS,IAff,mBAevBwN,EAfuB,KAeXC,EAfW,OAiBMzN,mBAAS,IAjBf,mBAiBvB4K,EAjBuB,KAiBXwB,EAjBW,OAkBUpM,mBAAS,IAlBnB,mBAkBvBga,EAlBuB,KAkBTC,EAlBS,OAmBEja,mBAAS,GAnBX,mBAmBvBka,GAnBuB,KAmBbC,GAnBa,KA4B9BzZ,qBAAU,WACR,GAAI5N,GAAWA,EAAQ,IAAMA,EAAQ,GAAG8Q,OAAQ,CAC9C,IAAI8J,EAAc,SAACC,EAAKC,GAAN,OAChB3Z,KAAK0Z,IAAI7I,WAAW6I,GAAM7I,WAAW8I,KACnCC,EAAc,SAACF,EAAKC,GAAN,OAChB3Z,KAAK6Z,IAAIhJ,WAAW6I,GAAM7I,WAAW8I,KAEjCG,EAASjb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBC,EAASnb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAElBE,EAASpb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBG,EAASrb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAExBP,EAAc,CAACM,EAAQG,EAAQD,EAAQE,OAExC,CAACrb,IAEJ,IAAM2lB,GAAmB,SAACC,GACxB,IAAMC,EAAOD,EAAKE,cACdC,EAAKH,EAAKI,WAAa,EACvBC,EAAKL,EAAKM,UAId,OAHID,EAAK,KAAIA,EAAK,IAAMA,GACpBF,EAAK,KAAIA,EAAK,IAAMA,GAElB,GAAN,OAAUF,GAAV,OAAiBE,GAAjB,OAAsBE,IA2DlBqB,GAAuB,SAAC9L,EAAQC,GACpC,OAAOD,EAAOG,OACZ,SAACna,EAAOoa,GAAR,OACEpa,EAAM,IAAMia,EAAOG,GAAO,IAAMpa,EAAM,IAAMia,EAAOG,GAAO,OAIhE,OACE,sBAAKrJ,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,oBAAIjG,UAAW1F,EAAQ2P,WAAvB,wBAEA,cAAC,GAAD,CACE9C,MAAM,oCACNlY,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAM+B,EACNoB,QAAS,CACPX,MAAOlC,EAAE0W,OAAOlT,YAMxB,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,eAAC,KAAD,CAAyB2N,MAAOC,KAAhC,UACE,cAAC,KAAD,CACEC,gBAAc,EACdC,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,aACNlY,MAAOqjB,EACPjL,SA1IkB,SAACgM,GAC7Bd,EAAac,IA0IHe,oBAAqB,CACnB,aAAc,eAEhBpU,UAAU,UAEZ,cAAC,KAAD,CACEiU,gBAAc,EACdC,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,WACNlY,MAAOujB,EACPnL,SA1JgB,SAACgM,GAC3BZ,EAAWY,IA0JDe,oBAAqB,CACnB,aAAc,yBAOxB,sBAAKpU,UAAW1F,EAAQ2L,KAAxB,UACE,cAAC,GAAD,CACEkB,MAAM,aACNlY,MAAOmiB,EACP/J,SAAU,SAAC5b,GACT4lB,EAAa5lB,EAAE0W,OAAOlT,UAI1B,sBAAK+Q,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZ3I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,GACXA,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,WAKnB,sBAAKnI,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNC,aAAa,GACbnY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,eAM5B,sBAAK+Q,UAAW1F,EAAQ8L,WAAxB,UACE,eAAC,GAAD,CACEza,GAAG,SACHwb,MAAM,aACNlY,MAAOyjB,EACPrL,SAAU,SAACwH,GACT8D,EAAa9D,EAAM1M,OAAOlT,QAE5B6U,QAAM,EACN9D,UAAU,QARZ,UAUE,cAACqU,GAAA,EAAD,CAAUplB,MAAM,WAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,WAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,YAAhB,qBAEF,eAAC,GAAD,CACEtD,GAAG,SACHwb,MAAM,eACNlY,MAAO2jB,EACPvL,SAAU,SAACwH,GACTgE,EAAehE,EAAM1M,OAAOlT,QAE9B6U,QAAM,EAPR,UASE,cAACuQ,GAAA,EAAD,CAAUplB,MAAM,MAAhB,iBACA,cAAColB,GAAA,EAAD,CAAUplB,MAAM,MAAhB,uBAIJ,cAAC,GAAD,IAECsW,GACC,sBAAKvF,UAAW1F,EAAQwX,mBAAxB,UACE,gCACE,qBAAK9R,UAAW1F,EAAQ0X,eAAxB,6BACA,qBAAKhS,UAAW1F,EAAQyX,UAAxB,SAAoCxM,OAGtC,8BACE,cAACjF,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAAS,WA1OH,IAAC6Y,IA2OO,GAAD,OACN4N,GADM,wBACeW,EADf,kBACoCjlB,EADpC,mBACoD+kB,GADpD,OAEPtB,EAAS,kBAAcA,GAAc,GAF9B,uBAGMgC,GACbd,GAJO,qBAKKc,GAAiBZ,IA/O/C3N,GAAgBhG,KAAKiG,UAAUT,KAkPnBrE,UAAW1F,EAAQmK,WAZrB,uBAoBN,qBAAKzE,UAAW1F,EAAQ8L,aACxB,cAAC9F,EAAA,EAAD,CACEC,QAAS,YACT1H,MAAM,UACNrN,QA3PY,WAClB,IAAMqc,EACJoK,GACA9J,EAAW9F,KAAK,KADhB,WAEIuQ,EAFJ,kBAEyBjlB,EAFzB,mBAEyC+kB,GAFzC,OAGEtB,EAAS,kBAAcA,GAAc,GAHvC,uBAIegC,GAAiBd,GAJhC,qBAIuDc,GACrDZ,IAGErJ,EAAY,CAChB,CACE,CAAChB,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,MAI3B1a,GAAWA,EAAQ8Q,SAChBwW,GAAqB5L,EAAU,GAAI1b,EAAQ,KAC9CuB,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAS0b,MAMjBpC,EAAcc,GAEd7Y,EAAS,CACP7D,KAAMkC,EACNiB,QAAS,CACPQ,QAAQ,GAAD,OAAK+Y,MAIhBC,MAAMD,GACHvE,MAAK,SAAUyE,GAEd,OADAjB,EAAkBiB,EAASC,QACpBD,EAAShD,UAEjBzB,MAAK,SAAU0R,GACdF,GAAYE,EAAUC,MACtB,IAAMC,EAAYC,IAAIC,gBAAgBJ,GACtCJ,EAAgBM,OA4MdlP,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,kCAWDvB,IACmB,MAAnBA,GAA0ByQ,SAASR,IAAY,KAC9C,qBAAK7U,UAAW1F,EAAQ2L,KAAxB,SACE,+SAQF,GAEF,qBAAKjG,UAAW1F,EAAQ2L,KAAxB,SACE,qBAAKjG,UAAW1F,EAAQmX,UAAxB,SACGlM,GACC,8BACE,qBACEvF,UAAW1F,EAAQuX,iBACnBzP,IAAKuS,EACLhH,IAAI,yC,gFCzddzV,GAAYC,aAAW,SAACmd,GAAD,MAAY,CACvCrP,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,GAEhB0U,cAAe,CACb1c,MAAO,UACPY,SAAU,GACV2H,WAAY,IACZnY,MAAO,GACP6Z,YAAa,GAEf0S,WAAY,CACV/b,SAAU,GACV2H,WAAY,IACZvI,MAAO,WAET4c,yBAA0B,CACxBxsB,MAAO,SAIPwmB,GAAS,CACX,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAsVaiG,GAnVS,SAAC,GAAc,IAAZrX,EAAW,EAAXA,KACnB/D,EAAUpC,KADoB,EAEVyC,mBAAS,CACjC,CAAErH,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,OAAQqiB,QAAQ,GACxB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,MAAOqiB,QAAQ,KAdW,mBAE7BC,EAF6B,KAEtBC,EAFsB,OAiBRlb,mBAAS,CACnC,CAAErH,KAAM,MAAOqiB,QAAQ,GACvB,CAAEriB,KAAM,OAAQqiB,QAAQ,GACxB,CAAEriB,KAAM,OAAQqiB,QAAQ,GACxB,CAAEriB,KAAM,KAAMqiB,QAAQ,KArBY,mBAiB7BG,EAjB6B,KAiBrBC,EAjBqB,OAwBFpb,mBAAS,IAxBP,mBAwB7Bqb,EAxB6B,KAwBlBC,EAxBkB,KA4BpC5a,qBAAU,WACR,IACE,GAAIgD,EAAM,CAER,IAAM6X,EAAO1a,OAAO0a,KAAK7X,EAAK8X,OASxBC,EARiB5a,OAAO0a,KAAK7X,EAAK8X,OAAOnqB,KAC7C,SAACqqB,GAAD,OAAShY,EAAK8X,MAAME,GAAK7Z,UAESrF,QAClC,SAACmf,EAAG7qB,GAAJ,OAAW6qB,EAAEhL,KAAF,MAAAgL,EAAC,YAAS7qB,IAAI6qB,IACzB,IAICtqB,KAAI,SAACkkB,GAAD,OAAUA,EAAKmD,QACnBjW,QAAO,SAACnO,EAAOoa,EAAOkN,GAAf,OAAwBA,EAAKnG,QAAQnhB,KAAWoa,KACvDmN,MAAK,SAACC,EAAOC,GAAR,OAAkBD,EAAQC,KAClCrqB,QAAQC,IAAI8pB,GAEZ,IAAMJ,EAAYI,EAAYpqB,KAAI,SAACqnB,GACjC,IAAMsD,EAAa,CAAEtD,QAoBrB,OAnBA6C,EAAKU,SAAQ,SAACP,GACZ,IAAMQ,EAAkBxY,EAAK8X,MAAME,GAAK7Z,OAAOsa,MAC7C,SAACC,GAAD,OAAUA,EAAK1D,OAASA,KAEtBwD,IACFF,EAAWN,GAAOQ,EAAgB5nB,MAElC0nB,EAAU,KAAWtD,EACrBsD,EAAU,cAAV,UAAiCtD,EAAKpD,UAAU,GAAhD,YACER,GAAO4F,SAAShC,EAAKpD,UAAU,EAAG,IAAM,GAD1C,YAEIoD,EAAKpD,UAAU,EAAG,IAEtB0G,EAAU,SAAetE,KAAKvT,MAAL,UACpBuU,EAAKpD,UAAU,GADK,YAErBR,GAAO4F,SAAShC,EAAKpD,UAAU,EAAG,IAAM,GAFnB,YAGnBoD,EAAKpD,UAAU,EAAG,SAIrB0G,KAGTtqB,QAAQC,IAAI,MAAO0pB,GACnBC,EAAaD,IAEf,MAAOvqB,GACPY,QAAQC,IAAIb,MAEb,CAAC4S,IAIJ,IAAM2Y,EAAS,CACbC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,KAAM,UACNC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,GAAI,WAEAC,EAAc,SAAChpB,GACnB,IAAMokB,EAAO,IAAIhB,KAAKpjB,GAEtB,MAAM,GAAN,OAAUokB,EAAKM,QAAQ,GAAvB,YACElE,GAAO4F,SAAShC,EAAKI,SAAS,EAAG,KADnC,YAEIJ,EAAKE,gBAGL2E,EAAqB,SAAC,GAAc,IAAZC,EAAW,EAAXA,KAC5B,OACE,cAAC1Q,GAAA,EAAD,CACEC,QACE,cAAC0Q,GAAA,EAAD,CACEC,gBAAc,EACdC,QAASH,EAAKxC,OACd4C,GAAI,CACF1f,MAAO,UACP,gBAAiB,CACfA,MAAO,YAGXA,MAAM,UACNoc,KAAK,UAGT9N,MAAOgR,EAAK7kB,KACZ0J,MAAO,CACLnE,MAAOme,EAAOmB,EAAK7kB,MACnBmG,SAAU,OACVxQ,MAAO,IAETqK,KAAM6kB,EAAK7kB,KACXgH,QAAS,CACP6M,MAAO7M,EAAQib,eAEjBlO,SAAU,SAAC5b,GACTsqB,EACED,EAAO9pB,KAAI,SAACmsB,GAAD,OACTA,EAAK7kB,OAAS7H,EAAE0W,OAAO7O,KAAvB,2BAES6kB,GAFT,IAGMxC,OAAQlqB,EAAE0W,OAAOmW,UAEnBH,UAQhB,OACE,gCACE,qBAAKnY,UAAW1F,EAAQkb,WAAxB,gCACA,cAACgD,GAAA,EAAD,CAAqBvvB,MAAM,OAAOC,OAAQ,IAA1C,SACE,eAACuvB,GAAA,EAAD,CACExvB,MAAO,IACPC,OAAQ,IACRmV,KAAM2X,EACN0C,OAAO,QACP1X,OAAQ,CACNzI,IAAK,GACLY,MAAO,EACPb,KAAM,EACNc,OAAQ,GATZ,UAYE,cAACuf,GAAA,EAAD,IAEA,cAACC,GAAA,EAAD,CACEC,aAAc,CACZ7f,UAAW,kCACXW,aAAc,MACdnB,OAAQ,GAEVsgB,aAAc,CACZvP,OAAQ,oBACR5P,aAAc,MACdnB,OAAQ,GAEVugB,eAAgBd,IAGlB,cAACe,GAAA,EAAD,CACEC,QAAQ,WACR1vB,OAAO,OACP4B,KAAK,SACL+tB,cAAejB,EACf3V,OAAQ,CACN+P,KAAKvT,MAAMkX,EAAU,IACrB3D,KAAKvT,MAAMkX,EAAUA,EAAUzX,OAAS,OAI3CuX,EAAO9pB,KAAI,SAACmtB,GAAD,OACVA,EAAWxD,OACT,cAACyD,GAAA,EAAD,CACEjuB,KAAK,WACL8tB,QAASE,EAAW7lB,KACpB/J,OAAQytB,EAAOmC,EAAW7lB,MAC1B+lB,KAAK,IAIP,MAGJ,cAACC,GAAA,EAAD,CACE/vB,OAAO,UACPgwB,KAAM,CAAEnwB,KAAM,UAAWI,YAAa,GACtCgwB,YAAY,eAIlB,qBAAKxZ,UAAW1F,EAAQkb,WAAxB,sBACA,cAACgD,GAAA,EAAD,CAAqBvvB,MAAM,OAAOC,OAAQ,IAA1C,SACE,eAACuvB,GAAA,EAAD,CACExvB,MAAO,IACPC,OAAQ,IACRmV,KAAM2X,EACN0C,OAAO,QACP1X,OAAQ,CACNzI,IAAK,GACLY,MAAO,EACPb,KAAM,EACNc,OAAQ,GATZ,UAYE,cAACuf,GAAA,EAAD,IACA,cAACK,GAAA,EAAD,CACEC,QAAQ,WACR1vB,OAAO,UACP2vB,cAAejB,EACf9sB,KAAK,SACLmX,OAAQ,CACN+P,KAAKvT,MAAMkX,EAAU,IACrB3D,KAAKvT,MAAMkX,EAAUA,EAAUzX,OAAS,OAI5C,cAACqa,GAAA,EAAD,CACEC,aAAc,CACZ7f,UAAW,kCACXW,aAAc,MACdnB,OAAQ,GAEVsgB,aAAc,CACZvP,OAAQ,oBACR5P,aAAc,MACdnB,OAAQ,GAEVugB,eAAgBd,IAGjBrC,EAAM5pB,KAAI,SAACmtB,GAAD,OACTA,EAAWxD,OACT,cAACyD,GAAA,EAAD,CACEjuB,KAAK,WACL8tB,QAASE,EAAW7lB,KACpB/J,OAAQytB,EAAOmC,EAAW7lB,MAC1B+lB,KAAK,IAIP,MAGJ,cAACC,GAAA,EAAD,CACE/vB,OAAO,UACPgwB,KAAM,CAAEnwB,KAAM,UAAWI,YAAa,GACtCgwB,YAAY,eAIlB,8BACE,sBAAKxZ,UAAU,OAAf,UACE,sBAAKA,UAAW1F,EAAQmb,yBAAxB,UACE,qBAAKzV,UAAU,OAAf,SACG8V,EACE1Y,QAAO,SAAC+a,GAAD,MAAwB,QAAdA,EAAK7kB,MAAgC,SAAd6kB,EAAK7kB,QAC7CtH,KAAI,SAACmsB,GAAD,OACH,cAACD,EAAD,CAAoBC,KAAMA,SAGhC,qBAAKnY,UAAU,OAAf,SACG8V,EACE1Y,QAAO,SAAC+a,GAAD,MAAwB,SAAdA,EAAK7kB,MAAiC,OAAd6kB,EAAK7kB,QAC9CtH,KAAI,SAACmsB,GAAD,OACH,cAACD,EAAD,CAAoBC,KAAMA,YAIlC,8BACGvC,EAAM5pB,KAAI,SAACmsB,GAAD,OACT,cAAC1Q,GAAA,EAAD,CACEC,QACE,cAAC0Q,GAAA,EAAD,CACEC,gBAAc,EACdC,QAASH,EAAKxC,OACd4C,GAAI,CACF1f,MAAO,UACP,gBAAiB,CACfA,MAAO,YAGXA,MAAM,UACNoc,KAAK,UAGT9N,MAAOgR,EAAK7kB,KACZ0J,MAAO,CACLnE,MAAOme,EAAOmB,EAAK7kB,MACnBrK,MAAO,IAETqK,KAAM6kB,EAAK7kB,KACXgH,QAAS,CACP6M,MAAO7M,EAAQib,eAEjBlO,SAAU,SAAC5b,GACTY,QAAQC,IAAIspB,GACZC,EACED,EAAM5pB,KAAI,SAACmsB,GAAD,OACRA,EAAK7kB,OAAS7H,EAAE0W,OAAO7O,KAAvB,2BAES6kB,GAFT,IAGMxC,OAAQlqB,EAAE0W,OAAOmW,UAEnBH,uBC7UpBjgB,GAAYC,aAAW,SAACmd,GAAD,MAAY,CACvCrP,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAERgc,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,EACNC,SAAU,YAEZF,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,IACZoD,SAAU,OACV1D,UAAW,IAEbqD,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAEdyD,aAAc,CACZ7K,gBAAiB,UACjBG,aAAc,EACdZ,QAAS,WACTV,SAAU,WACVmM,SAAU,IACV/L,UAAW,IACX6L,UAAW,IACXC,UAAW,UAEbiB,UAAW,CACT7L,aAAc,GAEhBwM,aAAc,CACZrF,UAAW,GACXQ,cAAe,cAGjBoD,eAAgB,CACdrM,SAAU,WACVE,IAAK,GACLY,MAAO,GACPmI,cAAe,aACf3H,aAAc,EACd,4BAA6B,CAC3BtB,SAAU,SACVwI,aAAc,IAGlBuF,WAAY,CACV3Z,QAAS,OACTqU,UAAW,IAEb2E,YAAa,CACXhM,SAAU,IAEZ6P,WAAY,CACVhI,cAAe,YACfV,WAAY,OACZ7H,QAAS,MACTY,aAAc,EACdyL,KAAM,EACNmE,OAAQ,oBACR1Q,MAAO,UACPuI,WAAY,IACZoI,oBAAqB,EACrBC,uBAAwB,GAE1BC,YAAa,CACXpI,cAAe,YACfV,WAAY,OACZ7H,QAAS,MACTY,aAAc,EACdyL,KAAM,EACNmE,OAAQ,oBACR1Q,MAAO,UACPuI,WAAY,IACZuI,qBAAsB,EACtBC,wBAAyB,GAE3BC,iBAAkB,CAChBrQ,gBAAiB,UACjBX,MAAO,OACP,UAAW,CACTW,gBAAiB,UACjBX,MAAO,SAGXiR,iBAAkB,CAChBC,cAAe,SACfC,WAAY,IAEdC,WAAY,CACVnJ,UAAW,mBAEbwF,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,KAET6a,OAAQ,CAGNtK,gBAAiB,UACjBZ,UAAW,QAGb6gB,WAAY,CACV5gB,MAAOyc,EAAMoE,QAAQ5L,QAAQ6L,MAE/BC,uBAAwB,CACtBvhB,SAAU,WACVE,IAAK,GACLtP,MAAO,OACPuQ,gBAAiB,OACjB2S,cAAe,GACf3T,OAAQ,EACRQ,UAAW,wCACXW,aAAc,IAEhBA,aAAc,CACZA,aAAc,IAEhBkgB,iBAAkB,CAChBlgB,aAAc,EACdH,gBAAiB,UACjB8H,cAAe,aACf7H,SAAU,GACV2H,WAAY,IACZ/I,SAAU,WACVE,IAAK,GACLY,MAAO,IAET2gB,iBAAkB,CAChBzhB,SAAU,WACVE,KAAM,QAIJqO,GAAO,UAAMtE,GAAN,YAAgBC,IAIvBC,GAAS,IAAIrT,gBAAgBC,OAAOV,SAASW,QAG7C0qB,GADUvX,GAAOlT,IAAI,kBAEvB,yBACAkT,GAAOlT,IAAI,gBAsvBA0qB,GApvBiB,SAACjxB,GAC/B,IAAMuR,EAAUpC,KADyB,EAMrCmC,qBAAWtM,GAN0B,IAIvCjD,MAAe2C,GAJwB,EAI9BF,KAJ8B,EAIxBE,SAASe,EAJe,EAIfA,KAAMC,EAJS,EAITA,QAASf,EAJA,EAIAA,UACvCsB,EALuC,EAKvCA,SALuC,EAUL2L,mBAAS,IAVJ,mBAUlCwN,EAVkC,KAUtBC,EAVsB,OAWDzN,mBAAS,WAXR,mBAWlCwP,EAXkC,KAWpBC,EAXoB,OAYKzP,mBAAS,IAZd,mBAYlC0P,EAZkC,KAYjBC,EAZiB,OAaP8H,IAAMzX,SAAS,IAAI0X,KAAK,eAbjB,mBAalCC,EAbkC,KAavBC,EAbuB,OAcXH,IAAMzX,SAAS,IAAI0X,KAAKA,KAAK4H,QAdlB,mBAclCzH,EAdkC,KAczBC,EAdyB,OAgBf9X,mBARL,wCARoB,mBAgBlChN,EAhBkC,KAgB3BT,EAhB2B,OAiBDyN,qBAjBC,mBAiBlC0J,EAjBkC,KAiBpBwC,EAjBoB,OAkBGlM,qBAlBH,mBAkBlCiK,EAlBkC,KAkBlBkC,EAlBkB,OAmBLnM,qBAnBK,mBAmBlC4K,EAnBkC,KAmBtBwB,GAnBsB,QAoBDpM,qBApBC,qBAoBlC4P,GApBkC,MAoBpBC,GApBoB,SAqBS7P,qBArBT,qBAqBlC8P,GArBkC,MAqBfC,GArBe,SAsBa/P,qBAtBb,qBAsBlCgQ,GAtBkC,MAsBbC,GAtBa,SAuBKjQ,qBAvBL,qBAuBlCkQ,GAvBkC,MAuBjBC,GAvBiB,SAwBHnQ,qBAxBG,qBAwBlCoQ,GAxBkC,MAwBrBC,GAxBqB,MAyBnCC,GAAc9Q,iBAAO,MACrB+f,GAAmB/f,iBAAO,MA1BS,GA2BHQ,mBAASjN,EAAUI,UA3BhB,qBA2BlCkN,GA3BkC,MA2BrBkQ,GA3BqB,SA6BbvQ,mBAAS,SA7BI,qCA8BjBA,mBAAS,WA9BQ,iCAgCzCU,qBAAU,WACR,GAAI5N,GAAWA,EAAQ,IAAMA,EAAQ,GAAG8Q,OAAQ,CAC9C,IAAI8J,EAAc,SAACC,EAAKC,GAAN,OAChB3Z,KAAK0Z,IAAI7I,WAAW6I,GAAM7I,WAAW8I,KACnCC,EAAc,SAACF,EAAKC,GAAN,OAChB3Z,KAAK6Z,IAAIhJ,WAAW6I,GAAM7I,WAAW8I,KAEjCG,EAASjb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBC,EAASnb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAElBE,EAASpb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOqR,EAAaG,KACjBG,EAASrb,EAAQ,GACpBzB,KAAI,SAAChB,GAAD,OAAWA,EAAM,MACrBmM,OAAOkR,GAAcM,KAExBP,EAAc,CAACM,EAAQG,EAAQD,EAAQE,OAExC,CAACrb,IAEJ4N,qBAAU,WACJ7M,GAAQA,EAAK+P,QACf+L,EAAmB9b,KAEpB,CAACA,IAaJ6M,qBAAU,WACR6P,GAAexd,EAAUI,YACxB,CAACJ,EAAUI,WAEduN,qBAAU,WACR,GAAI0P,GACF,IAKE,IAJA,IAAIvc,EAAO,IAAI2c,cAAW,IAAIC,KAASL,KAEjC7e,EAAW,GAERmf,EAAI,EAAGA,EAAI7c,EAAKoE,OAAL,SAAwB2L,OAAQ8M,IAClDnf,EAASof,KACP9c,EAAKoE,OAAL,SACGrE,QAAQ8c,GACRlf,UACCke,EAAgB,GAChBA,EAAgB,GAChBA,EAAgB,KAIxBrb,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS,CACPpD,KAAM,oBACNe,eAIN,MAAOT,GACPY,QAAQC,IAAIb,MAGf,CAACsf,KAEJ,IAAMQ,GAAc,WAClB,GAAoB,mBAAhBvQ,GAAkC,CACpC,IAAM6M,EAAYkS,GAQd,0DAAmDA,GAAnD,aACA,UACApsB,EACA,SACAwa,EAAW9F,KAAK,KAChB,uBAZAuE,uCAGAjZ,EACA,SACAwa,EAAW9F,KAAK,KAChB,uBAQE8G,EAAY,CAChB,CACE,CAAChB,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,IAC3B,CAACA,EAAW,GAAIA,EAAW,MAI3B1a,GAAWA,EAAQ8Q,SA3EG0K,EA4EEE,EAAU,GA5EJD,EA4EQzb,EAAQ,GA3E7Cwb,EAAOG,OACZ,SAACna,EAAOoa,GAAR,OACEpa,EAAM,IAAMia,EAAOG,GAAO,IAAMpa,EAAM,IAAMia,EAAOG,GAAO,OA0ExDra,EAAS,CACP7D,KAAMwB,EACN2B,QAAS,CACPb,QAAS0b,MAMjBpC,GAAcc,GACdxb,QAAQC,IAAIub,GACZC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLmM,GAAgB,IAChBI,GAAuB,MACvB/D,EAAgBxI,GAChBhS,QAAQC,IAAI+R,EAAM,QAClBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,KAGbmN,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,aAGP,GAAItB,EAAgB9L,OAAQ,CAC1B,IAAMsJ,EACJjB,4CAGAjZ,EACA,MACA0c,EAAgB,GAChB,MACAA,EAAgB,GAChB,MACAA,EAAgB,GAChB,QACAF,EACA,uBAIF,GAFApD,GAAcc,GACdxb,QAAQC,IAAIub,GACS,QAAjBsC,EAiBF,YAhBArC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAAS6D,iBAEjBtI,MAAK,SAACuI,GACLb,GAAea,GACfL,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,QAKT7D,MAAMD,GACHvE,MAAK,SAACyE,GAIL,OAHA1b,QAAQC,IAAIyb,GACZjB,EAAkBiB,EAASC,QAEpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLmM,GAAgB,IAChBI,GAAuB,MACvB/D,EAAgBxI,GAChBrP,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8P,KAGbmN,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,QA7KgB,IAAC1C,EAAQC,GA+NtC7N,qBAAU,WACRmP,GAAgB/b,KACf,CAACA,IAqBJ,OACE,sBAAKuR,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,wDACA,kGACA,sBAAKjG,UAAU,OAAf,UACE,cAACM,EAAA,EAAD,CACEN,UAAW,CACT1F,EAAQgP,WACQ,mBAAhBtO,IAAoCV,EAAQuP,kBAC5CxH,KAAK,KACP7W,QAAS,WACPkf,GAAqB,MACrBI,GAAmB,IACnBF,GAAuB,MACvBR,EAAgB,WAChBpb,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,qBAdlB,+BAsBEisB,IACA,cAACzZ,EAAA,EAAD,CACEN,UAAW,CACT1F,EAAQoP,YACQ,mBAAhB1O,IAAoCV,EAAQuP,kBAC5CxH,KAAK,KACP7W,QAAS,WACPqb,EAAgB,MAChBE,GAAc,IACdD,EAAkB,MAClB9X,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,OAblB,gCAsBJ,oBAAIkS,UAAW1F,EAAQ2P,WAAvB,wBAEA,cAAC,GAAD,CACE9C,MAAM,oCACN5G,QAAQ,SACRtR,MAAOtB,EACP0Z,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,UAGtB,sBAAK+Q,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,gBAMN,mBAAhB5M,GACC,mCACE,sBAAKgF,UAAW1F,EAAQ2L,KAAxB,UACE,sBAAKjG,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNlY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZ3I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,GACXA,EAAW,QAKjB,cAAC,GAAD,CACEhB,MAAM,oCACNlY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,GACXA,EAAW,WAKnB,sBAAKnI,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,qCACNlY,MAAOkZ,GAAcA,EAAW,GAChCnI,UAAU,QACVqH,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,OACpBkZ,EAAW,QAIjB,cAAC,GAAD,CACEhB,MAAM,oCACNlY,MAAOkZ,GAAcA,EAAW,GAChCd,SAAU,SAAC5b,GACT2c,EAAc,CACZD,EAAW,GACXA,EAAW,GACXA,EAAW,GACX1I,WAAWhU,EAAE0W,OAAOlT,eAK5B,cAACqR,EAAA,EAAD,CACEC,QACE4H,GAAcA,EAAW5J,OAAS,YAAc,WAElD1F,MAAM,UACNrN,QAAS+f,GACTvF,WAAW,EACXhG,UAAW1F,EAAQ6L,aAPrB,mCAWA,cAAC,GAAD,SAIJ,mCACE,sBAAKnG,UAAW1F,EAAQ2L,KAAxB,UACE,sBAAKjG,UAAW1F,EAAQ8L,WAAxB,UACE,cAAC,GAAD,CACEe,MAAM,eACNlY,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDrK,UAAU,QACVqH,SAAU,SAAC5b,GACT6e,EAAmB,CACjB7K,WAAWhU,EAAE0W,OAAOlT,OACpBob,EAAgB,GAChBA,EAAgB,QAItB,cAAC,GAAD,CACElD,MAAM,eACNlY,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDrK,UAAU,QACVqH,SAAU,SAAC5b,GACT6e,EAAmB,CACjBD,EAAgB,GAChB5K,WAAWhU,EAAE0W,OAAOlT,OACpBob,EAAgB,QAItB,cAAC,GAAD,CACElD,MAAM,eACN5G,QAAQ,SACRtR,MAAOob,EAAgB9L,QAAU8L,EAAgB,GACjDhD,SAAU,SAAC5b,GACT6e,EAAmB,CACjBD,EAAgB,GAChBA,EAAgB,GAChB5K,WAAWhU,EAAE0W,OAAOlT,eAK5B,kDAEE,cAAC6c,GAAA,EAAD,CACEC,UAAU,WACV/L,UAAW1F,EAAQwP,iBAFrB,SAIE,eAACxC,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,gBACXlU,KAAK,SACLrE,MAAOkb,EACP9C,SAAU,SAAC5b,GACT2e,EAAgB3e,EAAE0W,OAAOlT,QAN7B,UASE,cAACwY,GAAA,EAAD,CACExY,MAAM,UACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,YAER,cAACM,GAAA,EAAD,CACExY,MAAM,MACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,aAIZ,+GAKF,cAAC7G,EAAA,EAAD,CACEC,QAAS/R,GAAQA,EAAK+P,OAAS,YAAc,WAC7C1F,MAAM,UACNrN,QAAS+f,GACTvF,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,mCASA,cAAC,GAAD,SAILvB,GACC,qCACE,sBAAK5E,UAAW,CAAC1F,EAAQ2L,KAAM3L,EAAQX,cAAc0I,KAAK,KAA1D,UACE,2CACA,cAAC,GAAD,CAAYkD,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACoB,QAAjBgF,GAA6C,MAAnBvF,EACzB,qBAAK5E,UAAW1F,EAAQ+J,aAAxB,SACE,mCACE,cAAC/D,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNrN,QAAS,YA1RX,WAClB,IAAMuZ,EAAO,IAAIC,KAAK,CAAC+F,KACvB9F,kBACEF,EADI,UAEDsF,EAAgB,GAFf,YAEqBA,EAAgB,GAFrC,YAE2CA,EAAgB,GAF3D,SAyRgB2B,IAEFhM,UAAW1F,EAAQoK,eANrB,8BAaJ,cAAC,GAAD,CACEL,aAAcA,EACdO,eAAgBA,KAGjBP,GACDA,EAAanY,WACZmY,EAAanY,SAASqS,QACN,QAAjB4L,GACkB,QAAjBA,GAA6C,MAAnBvF,IAC3B,qBAAK5E,UAAW1F,EAAQ4K,kBAAxB,oSAWNyF,IACA,sBAAK3K,UAAW1F,EAAQ2L,KAAMhG,IAAKgL,GAAnC,UACE,kEACA,0EACA,cAAC,GAAD,CACE9D,MAAM,WACNlY,MAAOsb,GACPlD,SAAU,SAAC5b,GACTuD,EAAS,CACP7D,KAAM4B,EACNuB,QAAS,CACPG,QAAShD,EAAE0W,OAAOlT,YA0C1B,qBAAK+Q,UAAW1F,EAAQ8L,WAAxB,SACE,eAAC,KAAD,CAAyB2N,MAAOC,KAAhC,UACE,cAAC,KAAD,CAEEE,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAGlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,aACNlY,MAAOqjB,EACPjL,SAAU,SAACgM,GACTd,EAAac,IAGfe,oBAAqB,CACnB,aAAc,eAEhBpU,UAAU,QACVgG,WAAS,IAUX,cAAC,KAAD,CAEEkO,aAAa,SACbtO,WAAY,CACVC,kBAAkB,EAClBvL,QAAS,CACP+F,KAAM/F,EAAQkL,YAIlB2O,OAAO,aACPnT,OAAO,SACPmG,MAAM,WACNlY,MAAOujB,EACPnL,SAAU,SAACgM,GACTZ,EAAWY,IAEbe,oBAAqB,CACnB,aAAc,eAEhBpU,UAAU,QACVgG,WAAS,SAKf,cAAC1F,EAAA,EAAD,CACEC,QAAS9R,EAAU,YAAc,WACjCoK,MAAM,UACNrN,QAhdS,WACrB,IAAMqc,EACJ,+FAAwFpZ,GACxF,UACAd,EAFA,uFAMA2kB,EAAU6H,UACV,IACA3H,EAAQ2H,UACVrP,GAAmBjD,GACnBxb,QAAQC,IAAIub,GACZC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADA6C,GAAuB7C,EAASC,QACzBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLqM,GAAqBrM,GAOrBmN,YAAW,WACT0O,GAAiBne,SACfme,GAAiBne,QAAQ0P,eAAe,CACtCC,SAAU,SACVC,MAAO,cAEV,SAibK3F,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,uCAYHwE,IACC,qBAAK3K,UAAW1F,EAAQsf,uBAAxB,SACE,sBAAK5Z,UAAW,CAAC1F,EAAQ2L,KAAM3L,EAAQX,cAAc0I,KAAK,KAA1D,UACE,qBACEpC,IAAKia,GACLla,UAAW1F,EAAQwf,mBAErB,kDACA,8BACE,cAACxZ,EAAA,EAAD,CACEC,QAAQ,WACR1H,MAAM,UACNmH,UAAW1F,EAAQuf,iBACnBruB,QAtbK,WACrBof,GAAuB,MACvBF,GAAqB,MAQrBc,YAAW,WACTP,GAAYlP,SACVkP,GAAYlP,QAAQ0P,eAAe,CACjCC,SAAU,SACVC,MAAO,cAEV,MAkaW,8BAUF,cAAC,GAAD,CAAYpG,WAAYsF,KAExB,cAAC,GAAD,CAAiBxM,KAAMoM,KAEvB,sBAAKzK,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,qBAAK5E,UAAW1F,EAAQ6K,eAAxB,SACE,cAAC,GAAD,CACEd,aAAcoG,GACd7F,eAAgB+F,sBCl7BhCzS,GAAYC,YAAW,CAC3B8N,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAGZ3H,SAAU,CACRjQ,KAAM,QAGR8X,IAAK,CACHJ,UAAW,GAGbW,WAAY,CACV5I,MAAO,UACPgI,aAAc,EACdD,WAAY,OACZnH,SAAU,IAEZ2L,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,GAERD,eAAgB,CACdC,KAAM,EACNC,SAAU,WACVxM,MAAO,UACP,OAAQ,CACNgI,aAAc,KAGlBqE,kBAAmB,CACjBzY,QAAS,OACToU,aAAc,GACdO,WAAY,KAEd+C,aAAc,CACZrB,YAAa,GACb7Z,MAAO,GACP2X,WAAY,QAGduF,aAAc,CACZrF,UAAW,GACXrI,UAAW,GACXkB,aAAc,EACd2H,cAAe,aACfF,WAAY,IACZ3H,SAAU,IAGZ2M,WAAY,CACV3Z,QAAS,OACTqU,UAAW,GACX,4BAA6B,CAC3BuF,SAAU,OACV,SAAU,CACRvD,YAAa,iBACbjC,aAAc,KAIpBoL,SAAU,CACRzS,gBAAiB,OACjBG,aAAc,EACdlB,UAAW,GAEXI,MAAO,UACP0Q,OAAQ,oBACRzI,UAAW,IAEboL,IAAK,CACHC,cAAe,EACfC,WAAY,EACZ3T,UAAW,GACXE,SAAU,KAEZ0T,YAAa,CACX7S,gBAAiB,UACjBX,MAAO,QAETyT,WAAY,GAIZC,aAAc,CACZ/S,gBAAiB,OACjBtQ,OAAQ,GAEVsjB,iBAAkB,CAChB7T,SAAU,GACVmI,UAAW,GAEb2L,aAAc,CACZrL,WAAY,IACZvI,MAAO,WAET6T,YAAa,CACXtjB,KAAM,WAERujB,cAAe,CACbvL,WAAY,MACZP,aAAc,OAEhB+L,aAAc,CACZhK,WAAY,QACZiK,OAAQ,WAEVC,aAAc,CACZnU,SAAU,KAEZoU,SAAU,CACRtU,UAAW,KAEb6N,eAAgB,CACd7Z,QAAS,OACTmW,WAAY,SACZ9B,UAAW,GAEbyF,aAAc,CACZ9M,SAAU,GACVqJ,YAAa,GACbjK,MAAO,UACP5P,MAAO,OAiCX,IA+NemxB,GAxIY,SAACrxB,GAC1B,IAAMuR,EAAUpC,KADoB,EAMhCmC,qBAAWtM,GADbiB,GALkC,EAIlClE,MAASyC,KAJyB,EAKlCyB,UALkC,GAQvB,UAAMsT,GAAN,YAAgBC,IAIW5H,sBAZJ,mBAY7B0J,EAZ6B,KAYfwC,EAZe,OAaQlM,qBAbR,mBAa7BiK,EAb6B,KAabkC,EAba,OAcAnM,qBAdA,mBAc7B4K,EAd6B,KAcjBwB,EAdiB,OAgBVpM,mBADL,wCAfe,mBAgB7BhN,EAhB6B,KAgBtBT,EAhBsB,OAiBJyN,mBAAS,GAjBL,6BAqCpCU,qBAAU,WACJgJ,GACFrV,EAAS,CACP7D,KAAMyB,EACN0B,QAAS,CACPC,QAAS8V,OAId,CAACA,IAoBJ,OACE,sBAAKrE,UAAW1F,EAAQ+F,KAAxB,UACE,sBAAKL,UAAW1F,EAAQ2L,KAAxB,UACE,mDACA,qGAGA,4CACA,cAAC,GAAD,CACEkB,MAAM,oCACNC,aAAa,GACbC,SAAU,SAAC5b,GACTyB,EAASzB,EAAE0W,OAAOlT,QAEpBA,MAAOtB,IAET,sBAAKqS,UAAW1F,EAAQgM,eAAxB,UACE,qBAAKtG,UAAW1F,EAAQiM,aAAxB,4BACA,cAACe,GAAA,EAAD,CACEC,KAAG,EACHC,aAAW,eACXlU,KAAK,eACLrE,MAAO,IAJT,SAME,cAACwY,GAAA,EAAD,CACExY,MAAM,IACNyY,QAAS,cAACC,GAAA,EAAD,CAAO9O,MAAM,YACtBsO,MAAM,SACNS,eAAe,aAKrB,cAACtH,EAAA,EAAD,CACEC,QAAS,YACT1H,MAAM,UACNrN,QAnFY,WAClB,IAAMqc,EACJ,yEAEAla,EACA,uBACFoZ,EAAcc,GAEdC,MAAMD,GACHvE,MAAK,SAACyE,GAEL,OADAjB,EAAkBiB,EAASC,QACpBD,EAASE,UAEjB3E,MAAK,SAACjF,GACLwI,EAAgBxI,OAsEd2H,WAAW,EACXhG,UAAW1F,EAAQ6L,aALrB,+BAUA,cAAC,GAAD,OAGDvB,GACC,sBAAK5E,UAAW1F,EAAQ2L,KAAxB,UACE,2CAEA,cAAC,GAAD,CAAYV,WAAYA,IACxB,sBAAKvF,UAAW1F,EAAQ4K,kBAAxB,UACE,qBAAKlF,UAAW1F,EAAQ6J,aAAxB,SAAuCS,IACvC,sBAAK5E,UAAW1F,EAAQ6K,eAAxB,UACE,+BACsB,MAAnBP,GAA0B,uBAAwB,IAC/B,MAAnBA,GAA0B,qCAE7B,cAAC,GAAD,CACEP,aAAcA,EACdO,eAAgBA,iBC/Z1B1M,GAAYC,YAAW,CAC3BkiB,OAAQ,CACNpxB,MAAO,IACP,4BAA6B,CAC3BA,MAAO,QACPqb,UAAW,IACXC,UAAW,WAGflE,KAAM,CACJpX,MAAO,IACP,4BAA6B,CAC3BA,MAAO,QACPqb,UAAW,KAEb9K,gBAAiB,UACjBC,SAAU,GACV,OAAQ,CACNA,SAAU,GACVmH,WAAY,IACZI,OAAQ,IAGZiF,KAAM,CACJlN,QAAS,YACT4H,UAAW,aACX9H,MAAO,UACPW,gBAAiB,OACjBqH,aAAc,EACd,OAAQ,CACND,WAAY,OACZC,aAAc,EACdhI,MAAO,WAET,OAAQ,CACNA,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,GAEV,OAAQ,CACNnI,MAAO,UACPY,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZJ,OAAQ,IAIZoE,KAAM,CACJ3Y,QAAS,QAEXyZ,MAAO,CACLd,KAAM,GAERI,UAAW,CACT7L,aAAc,GAEhB2gB,kBAAmB,CACjB9gB,gBAAiB,QAEnBsK,OAAQ,CACN7a,MAAO,OACPwQ,SAAU,GACVmH,WAAY,OACZQ,WAAY,IACZgL,WAAY,MACZD,cAAe,MACfzT,YAAa,OAEf6hB,gBAAiB,CACf,YAAa,CACXC,kBAAmB,cA2IVC,GAtIK,SAAC1xB,GACnB,IAAMuR,EAAUpC,KACRoH,EAAkBvW,EAAlBuW,KAAMsC,EAAY7Y,EAAZ6Y,QAFe,EAOzBvH,qBAAWtM,GAPc,IAK3BjD,MAAsC4C,GALX,EAKlBH,KALkB,EAKZO,SALY,EAKWJ,WACtCsB,EAN2B,EAM3BA,SAN2B,EASO2L,mBAASvL,OAAOsrB,YATvB,mBAStBC,EATsB,KASVC,EATU,KAqB7B,OAVAvf,qBAAU,WACR,IAAMwf,EAAe,WACnBD,EAAcxrB,OAAOsrB,aAKvB,OAFAtrB,OAAO6I,iBAAiB,SAAU4iB,GAE3B,kBAAMzrB,OAAO0rB,oBAAoB,SAAUD,MACjD,IAGD,cAAChZ,GAAA,EAAD,CACEC,OAAQ6Y,EAAa,IAAM,SAAW,QACtCrb,KAAMA,EACNsC,QAASA,EACTG,WAAY,CAAEC,cAAe,CAAEC,WAAW,IAC1C1B,QAAS,aACTP,UAAWV,EAAO,yBAA2B,oBAN/C,SAQE,sBAAKU,UAAW1F,EAAQ+F,KAAxB,UACE,qBAAKL,UAAW1F,EAAQggB,kBAAxB,SACE,eAACS,GAAA,EAAD,CACEpvB,GAAG,2BACH2O,QAAS,CACP+F,KAAM/F,EAAQwJ,OACdkX,KAAM1gB,EAAQmf,WACdwB,SAAU3gB,EAAQ2gB,UAEpBhsB,MAAOvB,EAAUG,IACjBwZ,SAAU,SAACwH,GACTxiB,QAAQC,IAAIuiB,EAAM1M,OAAOlT,MAAO,kBAChCD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAKghB,EAAM1M,OAAOlT,MAClBnB,SACyB,eAAvB+gB,EAAM1M,OAAOlT,OACU,SAAvB4f,EAAM1M,OAAOlT,MACT,iBACuB,UAAvB4f,EAAM1M,OAAOlT,MACb,aACA,OAIZisB,UAAW,CACTC,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,QAEdE,mBAAoB,MAEtBvV,WAAW,EAnCb,UAsCsB,qBAAnBtY,EAAUvC,MACT,eAACkpB,GAAA,EAAD,CAAUplB,MAAO,aAAjB,2CACiC,OAGf,qBAAnBvB,EAAUvC,MACT,eAACkpB,GAAA,EAAD,CAAUplB,MAAO,aAAjB,2CACiC,OAGf,qBAAnBvB,EAAUvC,MACT,cAACkpB,GAAA,EAAD,CAAUplB,MAAO,QAAjB,4BAEkB,qBAAnBvB,EAAUvC,MACT,cAACkpB,GAAA,EAAD,CAAUplB,MAAO,OAAjB,mCAIkB,kBAAnBvB,EAAUvC,MACT,cAACkpB,GAAA,EAAD,CAAUplB,MAAO,MAAjB,+BAEkB,kBAAnBvB,EAAUvC,MACT,cAACkpB,GAAA,EAAD,CAAUplB,MAAO,OAAjB,2BAEkB,eAAnBvB,EAAUvC,MACT,eAACkpB,GAAA,EAAD,CAAUplB,MAAO,aAAjB,2CACiC,OAGf,eAAnBvB,EAAUvC,MACT,eAACkpB,GAAA,EAAD,CAAUplB,MAAO,aAAjB,2CACiC,OAGnC,cAAColB,GAAA,EAAD,CAAUplB,MAAO,WAAjB,sCAIgB,qBAAnBvB,EAAUvC,KACT,qCACqB,UAAlBuC,EAAUG,KAAmB,cAAC,GAAD,IACX,SAAlBH,EAAUG,KAAkB,cAAC,GAAD,KACT,eAAlBH,EAAUG,KACQ,eAAlBH,EAAUG,MAAyB,cAAC,GAAD,IAClB,aAAlBH,EAAUG,KAAsB,cAAC,GAAD,OAEd,kBAAnBH,EAAUvC,KACZ,qCACqB,QAAlBuC,EAAUG,KAAiB,cAAC,GAAD,IACT,SAAlBH,EAAUG,KAAkB,cAAC,GAAD,IACV,aAAlBH,EAAUG,KAAsB,cAAC,GAAD,OAGnC,sCACsB,eAAlBH,EAAUG,KACQ,eAAlBH,EAAUG,MAAyB,cAAC,GAAD,IAClB,aAAlBH,EAAUG,KAAsB,cAAC,GAAD,aCzLvCqK,GAAYC,aAAW,SAACmd,GAAD,MAAY,CACvCgF,kBAAmB,CACjBjiB,SAAU,WACVE,IAAK,GACLD,KAAM,GACNE,OAAQ,EACR/L,QAAS,OACT,SAAU,CACRqW,YAAa,EACbjC,aAAc,GAEhB,4BAA6B,CAC3B2a,cAAe,WAGnB1X,OAAQ,CACNsI,WAAY,GACZD,cAAe,GACf3S,gBAAiB,OACjBb,SAAU,IACVC,UAAW,OAKXwI,WAAY,IACZ,UAAW,CACT5H,gBAAiB,OACjBG,aAAc,EACd4P,OAAQ,SAGZkS,YAAa,CACX,UAAW,CACTlS,OAAQ,sBAIZ0R,SAAU,GACVxB,WAAY,CACV5gB,MAAOyc,EAAMoE,QAAQ5L,QAAQ6L,MAE/B+B,kBAAmB,CACjBliB,gBAAiB,OACjB+P,OAAQ,OACR9c,QAAS,eACTkN,aAAc,EACdZ,QAAS,EACTiR,WAAY,IAEd2R,aAAc,CACZva,WAAY,IACZE,cAAe,aACf9H,gBAAiB,OACjBR,UAAW,OACXW,aAAc,EACd,UAAW,CACTH,gBAAiB8b,EAAMoE,QAAQ5L,QAAQ8N,MACvC5iB,UAAW,SAGf6iB,mBAAoB,CAClBriB,gBAAiB8b,EAAMoE,QAAQ5L,QAAQ6L,KACvC,UAAW,CACTngB,gBAAiB8b,EAAMoE,QAAQ5L,QAAQgO,OAG3CC,gBAAiB,CACf1jB,SAAU,WACVe,OAAQ,GACRd,KAAM,GACNE,OAAQ,EACRoI,WAAY,QAEdob,sBAAuB,CACrBxiB,gBAAiB,OACjB,UAAW,CACTA,gBAAiB,QAEnB8H,cAAe,aACfzI,MAAO,UACPuI,WAAY,KAEd6a,SAAU,CACR7yB,KAAM,OACNG,OAAQ,UACRuZ,YAAa,GAEfzJ,SAAU,CACRjQ,KAAM,QAER8yB,aAAc,CACZ7jB,SAAU,WACVC,KAAM,GACNC,IAAK,OACLiB,gBAAiB,OACjBG,aAAc,EACdZ,QAAS,QACTH,UAAW,SACX,4BAA6B,CAC3BL,IAAK,UAGT4jB,UAAW,CACT1iB,SAAU,GACVmH,WAAY,IACZQ,WAAY,IACZrI,QAAS,QACT,aAAc,CACZxP,OAAQ,WAEVsjB,OAAQ,WAEVuP,gBAAiB,CACfvjB,MAAO,UACP,aAAc,CACZtP,OAAQ,WAEVkQ,SAAU,QAKRvK,GAFS,IAAIC,gBAAgBC,OAAOV,SAASW,QAE5BC,IAAI,kBA4aZ+sB,GA3aC,WACd,IAAM/hB,EAAUpC,KADI,EAEYyC,mBAAS,cAFrB,gCAGQA,mBAAS,WAHjB,mBAGb2hB,EAHa,KAGLC,EAHK,OAQhBliB,qBAAWtM,GARK,IAMlBjD,MAAsC4C,GANpB,EAMTH,KANS,EAMHO,SANG,EAMoBJ,WACtCsB,GAPkB,EAM+BN,SAN/B,EAOlBM,UAIIwtB,EAAcptB,OAAOV,SAASuO,KAChC7N,OAAOV,SAASuO,KAAKwf,OAAO,GAAGxd,MAAM,KAAK,GAC1C,GAbgB,EAcItE,mBAAS6hB,GAdb,mBAcb3oB,EAda,KAcP2G,EAdO,OAe4BG,oBAAS,GAfrC,mBAeb+hB,EAfa,KAeKC,EAfL,OAgB8BhiB,oBAAS,GAhBvC,mBAgBbD,EAhBa,KAgBMkiB,EAhBN,KAsBdC,EAAenvB,GAAS,YACzB8N,OAAO0a,KAAKhjB,GAAYxF,EAAUvC,QAWvC,OATA+D,IACE2tB,EAAavR,KAAK,CAChBjY,OAAQ,EAAE,UAAW,UACrBQ,KAAM,GACNP,KAAM,SACNC,aAAc,OAGlBlH,QAAQC,IAAIoW,GAAgB,kBAE1B,sBAAK1C,UAAU,iBAAf,UACE,sBAAKA,UAAW1F,EAAQggB,kBAAxB,UACE,eAACxO,GAAA,EAAD,WACE,cAACgR,GAAA,EAAD,CAAY/W,QAAM,EAACpa,GAAG,6CAAtB,sBAGA,cAACovB,GAAA,EAAD,CACExa,QAAQ,WACRwc,QAAQ,6CACRpxB,GAAG,uCACH2O,QAAS,CACP+F,KAAM/F,EAAQwJ,OACdkX,KAAM1gB,EAAQmf,WACdwB,SAAU3gB,EAAQ2gB,UAEpBhsB,MAAOqtB,EACPjV,SAAU,SAACwH,GACT0N,EAAU1N,EAAM1M,OAAOlT,OACvBD,EAAS,CACP7D,KAAM6B,EACNsB,QAAS,CACPI,SAAUwE,GAAYxF,EAAUvC,MAAM0jB,EAAM1M,OAAOlT,WAIzDisB,UAAW,CACTC,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,QAEdE,mBAAoB,MA5BxB,SA+BG7tB,GACC8N,OAAO0a,KAAKhjB,GAAYxF,EAAUvC,OAAOa,KAAI,SAACqqB,GAC5C,OACE,eAAChC,GAAA,EAAD,CAAoBplB,MAAOonB,EAA3B,UACGnjB,GAAYxF,EAAUvC,MAAMkrB,GAAK/iB,KAClC,qBACE8O,IAAG,oCACDlP,GAAYxF,EAAUvC,MAAMkrB,GAAK9iB,aADhC,QAGHtK,MAAM,KACNC,OAAO,OACP8W,UAAU,OACV2N,IAAKza,GAAYxF,EAAUvC,MAAMkrB,GAAK9iB,iBAT3B8iB,WAgBzB,eAACvK,GAAA,EAAD,WACE,cAACgR,GAAA,EAAD,CAAY/W,QAAM,EAACpa,GAAG,6CAAtB,wBAGA,eAACovB,GAAA,EAAD,CACExa,QAAQ,WACRwc,QAAQ,6CACRpxB,GAAG,uCACH2O,QAAS,CACP+F,KAAM/F,EAAQwJ,OACdkX,KAAM1gB,EAAQmf,WACdwB,SAAU3gB,EAAQ2gB,UAEpBhsB,MAAOvB,EAAUvC,KACjBkc,SAAU,SAACwH,EAAOngB,GAChB,IAAMsuB,EAAiCxhB,OAAO0a,KAC5ChjB,GAAY2b,EAAM1M,OAAOlT,QAErBguB,EAAcD,EAA+BlG,MACjD,SAACoG,GAAD,OACEhqB,GAAY2b,EAAM1M,OAAOlT,OAAOiuB,GAAiB5pB,OACjD5E,EAAS4E,QAET0pB,EAA+BlG,MAC7B,SAACoG,GAAD,OACEhqB,GAAY2b,EAAM1M,OAAOlT,OAAOiuB,GAAiB5pB,OACjD5E,EAAS4E,QAEb0pB,EAA+B,GAEnCT,EAAUU,GAEV,IAAME,EAAiB,CACrBzuB,SAAUwE,GAAY2b,EAAM1M,OAAOlT,OAAOguB,IAK5C5wB,QAAQC,IAAI,iBAAkB6wB,GAC9B,IAAMC,EAAmB,CACvBjyB,KAAM0jB,EAAM1M,OAAOlT,MACnBpB,IACyB,qBAAvBghB,EAAM1M,OAAOlT,MACT,QACuB,kBAAvB4f,EAAM1M,OAAOlT,MACbwT,GACE,MACA,WACF,aACN3U,SACwB,oBAAtB+gB,EAAM1M,OAAOlT,MACT,oBACuB,kBAAvB4f,EAAM1M,OAAOlT,WACbzB,EACA,kBAGFc,EACmB,eAAvBugB,EAAM1M,OAAOlT,MAAb,aAEMvB,UAAW0vB,GACRD,GAEL,CAAEzvB,UAAW0vB,GACnBpuB,EAAS,CACP7D,KAAM8B,EACNqB,QAASA,KAGb4sB,UAAW,CACTC,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,QAEdE,mBAAoB,MA1ExB,UA6EE,cAAClH,GAAA,EAAD,CAAUplB,MAAO,mBAAjB,+BACA,cAAColB,GAAA,EAAD,CAAUplB,MAAO,gBAAjB,gCACCyT,GACC,cAAC2R,GAAA,EAAD,CAAUplB,MAAO,aAAjB,8BAEA,YAMR,cAAC,GAAD,CACEqQ,KAAMod,EACN9a,QAAS,kBAAM+a,GAAoB,MAGrC,cAAC,GAAD,CACEpiB,MAAO7M,EAAUvC,KACjB0I,KAAMA,EACN2G,QAASA,EACTC,kBA9KoB,WACxBmiB,GAAsBliB,IA8KlBA,kBAAmBA,IAKD,qBAAnBhN,EAAUvC,KACT,sBAAK6U,UAAW1F,EAAQ4hB,aAAxB,UACE,sBACElc,UAAW,CACT1F,EAAQ6hB,UACU,eAAlBzuB,EAAUG,KAA0C,eAAlBH,EAAUG,IACxCyM,EAAQ8hB,gBACR,IACJ/Z,KAAK,KACP6K,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,qBAblB,UAkBE,cAAChF,EAAD,IACA,8CAEF,sBACEkX,UACoB,UAAlBtS,EAAUG,IACN,CAACyM,EAAQ8hB,gBAAiB9hB,EAAQ6hB,WAAW9Z,KAAK,KAClD,CAAC/H,EAAQ6hB,WAEfjP,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,QACLC,SAAU,wBAZlB,UAiBE,cAAC3D,EAAD,CAAamQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACtC,2CAEF,sBACE2G,UACoB,SAAlBtS,EAAUG,IACN,CAACyM,EAAQ8hB,gBAAiB9hB,EAAQ6hB,WAAW9Z,KAAK,KAClD,CAAC/H,EAAQ6hB,WAEfjP,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,OACLC,SAAU,qBAZlB,UAiBE,cAAC1D,EAAD,CAAUkQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACnC,0CAEF,sBACE2G,UACoB,aAAlBtS,EAAUG,IACN,CAACyM,EAAQ8hB,gBAAiB9hB,EAAQ6hB,WAAW9Z,KAAK,KAClD,CAAC/H,EAAQ6hB,WAEfjP,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,WACLC,SAAU,OAZlB,UAiBE,cAACxD,EAAD,CAAcgQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACvC,iDAGiB,kBAAnB3L,EAAUvC,KACZ,sBAAK6U,UAAW1F,EAAQ4hB,aAAxB,UACGzZ,IACC,qCACE,sBACEzC,UAAW,CACT1F,EAAQ6hB,UACU,QAAlBzuB,EAAUG,IAAgByM,EAAQ8hB,gBAAkB,IACpD/Z,KAAK,KACP6K,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,UAVb,UAgBE,cAAC/E,EAAD,IACA,8CAEF,sBACEkX,UAAW,CACT1F,EAAQ6hB,UACU,SAAlBzuB,EAAUG,IAAiByM,EAAQ8hB,gBAAkB,IACrD/Z,KAAK,KACP6K,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,OACLC,SAAU,qBAXlB,UAgBE,cAAC1D,EAAD,CAAUkQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACnC,6CAKN,sBACE2G,UACoB,aAAlBtS,EAAUG,IACN,CAACyM,EAAQ8hB,gBAAiB9hB,EAAQ6hB,WAAW9Z,KAAK,KAClD,CAAC/H,EAAQ6hB,WAEfjP,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,WACLC,SAAU,OAZlB,UAiBE,cAACxD,EAAD,CAAcgQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACvC,iDAIJ,sBAAK2G,UAAW1F,EAAQ4hB,aAAxB,UACE,sBACElc,UAAW,CACT1F,EAAQ6hB,UACU,eAAlBzuB,EAAUG,KAA0C,eAAlBH,EAAUG,IACxCyM,EAAQ8hB,gBACR,IACJ/Z,KAAK,KACP6K,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,aACLC,SAAU,qBAblB,UAkBE,cAAChF,EAAD,IACA,8CAEF,sBACEkX,UACoB,aAAlBtS,EAAUG,IACN,CAACyM,EAAQ8hB,gBAAiB9hB,EAAQ6hB,WAAW9Z,KAAK,KAClD,CAAC/H,EAAQ6hB,WAEfjP,KAAK,SACL1hB,QAAS,kBACPwD,EAAS,CACP7D,KAAMiC,EACNkB,QAAS,CACPT,IAAK,WACLC,SAAU,OAZlB,UAiBE,cAACxD,EAAD,CAAcgQ,QAAS,CAAE+F,KAAM/F,EAAQjB,YACvC,iDAKN,sBAAK2G,UAAW1F,EAAQyhB,gBAAxB,UACE,eAACzb,EAAA,EAAD,CACEN,UAAW1F,EAAQ0hB,sBACnBxwB,QAAS,kBAAMmxB,GAAoB,IACnCpc,QAAQ,YAHV,UAKE,cAAC1W,EAAD,CAAUyQ,QAAS,CAAE+F,KAAM/F,EAAQ2hB,YALrC,wBAOA,uBACA,uBACA,eAAC3b,EAAA,EAAD,CACEN,UAAW1F,EAAQ0hB,sBACnBzb,QAAQ,YACRwL,UAAWsR,KACXlb,OAAO,SACPD,KAAK,0CACLob,UAAU,OANZ,UAQE,cAACjzB,EAAD,CAAmBiQ,QAAS,CAAE+F,KAAM/F,EAAQ2hB,YAR9C,4BAaF,cAAC,GAAD,CACE3c,KAAM5E,EACNkH,QAAS,WACPgb,GAAqB,U,oBCxjBzBtH,GAAQiI,aAAe,CAC3BC,WAAY,CACVC,WAAY,CACV,QACA,gBACA,qBACA,aACA,SACA,mBACA,QACA,aACA,sBACA,mBACA,qBACApb,KAAK,MAETqX,QAAS,CACP5L,QAAS,CACP8N,MAAO,UACPjC,KAAM,UACNmC,KAAM,UACN4B,aAAc,QAEhBxa,KAAM,CACJ4K,QAAS,UACTE,UAAW,YAGf2P,MAAO,CACLhkB,aAAc,GAEhBikB,UAAW,CACTC,YAAa,CACXxd,KAAM,CACJe,WAAY,SAkBL0c,OAZf,WACE,OACE,cAACC,GAAA,EAAD,CAAezI,MAAOA,GAAtB,SACE,cAAC,EAAD,UACE,qBAAKtV,UAAU,MAAf,SACE,cAAC,GAAD,WCzCKge,GAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,8BAAqB5a,MAAK,YAAkD,IAA/C6a,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,OCDdO,IAAS1I,OACP,cAAC,IAAM2I,WAAP,UACE,cAAC,GAAD,MAEFhb,SAASib,eAAe,SAM1BV,M","file":"static/js/main.f165161b.chunk.js","sourcesContent":["import React from \"react\";\r\nimport SvgIcon from \"@material-ui/core/SvgIcon\";\r\n\r\nfunction GlobeIcon(props) {\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\nfunction PerformanceIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction LineGlobeIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction StarIcon(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nfunction InfoIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction PointerIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction BBoxIcon(props) {\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\nfunction DocumentationIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction CoverageIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction MarkerIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction MarkerIconOrange(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction GlobeFinanceIcon(props) {\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\nexport {\r\n GlobeIcon,\r\n PerformanceIcon,\r\n LineGlobeIcon,\r\n StarIcon,\r\n InfoIcon,\r\n PointerIcon,\r\n BBoxIcon,\r\n DocumentationIcon,\r\n CoverageIcon,\r\n MarkerIcon,\r\n MarkerIconOrange,\r\n GlobeFinanceIcon,\r\n};\r\n","import MapboxDraw from \"@mapbox/mapbox-gl-draw\";\nimport hat from \"hat\";\nconst SinglePointMode = MapboxDraw.modes.draw_point;\n\nSinglePointMode.onSetup = function (opts) {\n var state = {};\n state.count = opts.count || 0;\n var point = this.newFeature({\n type: \"Feature\",\n properties: {\n count: state.count,\n },\n geometry: {\n type: \"Point\",\n coordinates: [],\n },\n });\n this.addFeature(point);\n state.point = point;\n return state;\n};\n\nSinglePointMode.onClick = function (state, e) {\n this.deleteFeature(state.point.id, { silent: true });\n var point = this.newFeature({\n type: \"Feature\",\n properties: {\n count: state.count,\n },\n geometry: {\n type: \"Point\",\n coordinates: [e.lngLat.lng, e.lngLat.lat],\n },\n });\n state.point = point;\n this.addFeature(point); // puts the point on the map\n\n this.map.fire(\"draw.create\", {\n features: [state.point.toGeoJSON()],\n });\n};\n\nSinglePointMode.onStop = function () {\n console.log(\"stopped\");\n};\n\nSinglePointMode.toDisplayFeatures = function (state, geojson, display) {\n display(geojson);\n};\n\nexport default SinglePointMode;\n","const setMode = \"setMode\";\r\nconst setPoint = \"setPoint\";\r\nconst setPolygon = \"setPolygon\";\r\nconst setFeature = \"setFeature\";\r\nconst setDrawMode = \"setDrawMode\";\r\nconst setTile = \"setTile\";\r\nconst setFieldId = \"setFieldId\";\r\nconst setLocation = \"setLocation\";\r\nconst setDataLayer = \"setDataLayer\";\r\nconst setToken = \"setToken\";\r\nconst setTiles = \"setTiles\";\r\nconst setAPI = \"setAPI\";\r\nconst setTileURL = \"setTileURL\";\r\n\r\nexport {\r\n setMode,\r\n setPoint,\r\n setPolygon,\r\n setFeature,\r\n setDrawMode,\r\n setTile,\r\n setFieldId,\r\n setLocation,\r\n setDataLayer,\r\n setToken,\r\n setTiles,\r\n setAPI,\r\n setTileURL,\r\n};\r\n","import React, { createContext, useReducer } from \"react\";\r\nimport { act } from \"react-dom/test-utils\";\r\n\r\nimport {\r\n setMode,\r\n setPoint,\r\n setPolygon,\r\n setFeature,\r\n setDrawMode,\r\n setTile,\r\n setFieldId,\r\n setLocation,\r\n setDataLayer,\r\n setToken,\r\n setTiles,\r\n setAPI,\r\n setTileURL,\r\n} from \"./actions\";\r\nconst initialState = {\r\n mode: \"\",\r\n point: undefined,\r\n polygon: undefined,\r\n dataLayer: \"delineatedFields\",\r\n token: \"a0731a8c-5259-4c68-af3a-7ad4f6d53faa\",\r\n tileUrlCounter: 0,\r\n dataLayer: {\r\n type: \"delineatedFields\",\r\n api: \"point\",\r\n drawMode: \"draw_single_point\",\r\n },\r\n};\r\n\r\nconst store = createContext(initialState);\r\nconst { Provider } = store;\r\n\r\n// State needs to be structured in a better way:\r\n\r\n// General - location, dataLayer\r\n// DR, Delineation (comes under datalayer)\r\n// mode/api - location, bbox, coverage, fieldId. For DR Tile url, bbox, coverage\r\n// Draw modes.\r\n// Map payloads- features, image (in case of DR)\r\n// Maybe Map related payload should go into the dataLayer.\r\n// Draw will have common behavior but dispatch might differ based on the dataLayer/mode\r\n\r\nconst StateProvider = ({ children }) => {\r\n const [state, dispatch] = useReducer((state, action) => {\r\n console.log(action, \"actions\");\r\n switch (action.type) {\r\n case setMode:\r\n return {\r\n token: state.token,\r\n dataLayer: state.dataLayer,\r\n mode: action.payload.mode,\r\n drawMode: action.payload.drawMode,\r\n };\r\n case setPoint:\r\n return {\r\n ...state,\r\n point: action.payload.point,\r\n feature: undefined,\r\n };\r\n case setPolygon:\r\n return {\r\n ...state,\r\n polygon: action.payload.polygon,\r\n feature: undefined,\r\n };\r\n case setFeature:\r\n return {\r\n ...state,\r\n feature: action.payload.feature,\r\n };\r\n case setTile:\r\n return {\r\n ...state,\r\n tile: action.payload.tile,\r\n };\r\n case setFieldId:\r\n return {\r\n ...state,\r\n fieldId: action.payload.fieldId,\r\n };\r\n case setLocation:\r\n return {\r\n ...state,\r\n location: action.payload.location,\r\n };\r\n case setDataLayer:\r\n return {\r\n ...state,\r\n feature: undefined,\r\n dataLayer: action.payload.dataLayer,\r\n location: action.payload.location\r\n ? action.payload.location\r\n : state.location,\r\n };\r\n\r\n case setAPI:\r\n return {\r\n // ...state,\r\n token: state.token,\r\n dataLayer: {\r\n ...state.dataLayer,\r\n api: action.payload.api,\r\n drawMode: action.payload.drawMode ? action.payload.drawMode : \"\",\r\n },\r\n };\r\n case setToken:\r\n return {\r\n ...state,\r\n token: action.payload.token,\r\n };\r\n case setTiles:\r\n return {\r\n ...state,\r\n tiles: action.payload.tiles,\r\n };\r\n case setTileURL:\r\n return {\r\n ...state,\r\n tileUrlCounter: Math.random(),\r\n tileURL: action.payload.tileURL,\r\n };\r\n case setDrawMode:\r\n return {\r\n ...state,\r\n dataLayer: {\r\n ...state.dataLayer,\r\n drawMode: action.payload.drawMode,\r\n },\r\n };\r\n default:\r\n throw new Error();\r\n }\r\n }, initialState);\r\n\r\n return {children};\r\n};\r\n\r\nexport { store, StateProvider };\r\n","// import SphericalMercator from \"@mapbox/sphericalmercator\";\r\nimport tilebelt from \"@mapbox/tilebelt\";\r\n\r\nconst params = new URLSearchParams(window.location.search);\r\n\r\nconst isAegro = params.get(\"brazilLowResag\");\r\n\r\nconst raster_url =\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800\";\r\n\r\nlet BASEMAP_BASIC_URL =\r\n \"https://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4graatone&zoom={z}&x={x}&y={y}\";\r\nfunction addBaseMapLayers(map) {\r\n map.addLayer({\r\n id: \"basemap_sat2\",\r\n source: \"basemap_sat2\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n layout: { visibility: \"visible\" },\r\n });\r\n map.addLayer({\r\n id: \"iowa_sioux_basemap\",\r\n source: \"iowa_sioux_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n layout: { visibility: \"visible\" },\r\n });\r\n map.addLayer({\r\n id: \"punjab_india_basemap\",\r\n source: \"punjab_india_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n layout: { visibility: \"visible\" },\r\n });\r\n map.addLayer({\r\n id: \"czech_basemap\",\r\n source: \"czech_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n layout: { visibility: \"visible\" },\r\n });\r\n map.addLayer({\r\n id: \"brazil_basemap\",\r\n source: \"brazil_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"poland_basemap\",\r\n source: \"poland_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"punjab_43rfq_basemap\",\r\n source: \"punjab_43rfq_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"germany_basemap\",\r\n source: \"germany_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"belgium_basemap\",\r\n source: \"belgium_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"austria_basemap\",\r\n source: \"austria_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"italy_basemap\",\r\n source: \"italy_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"milan_basemap\",\r\n source: \"milan_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"tulare_basemap\",\r\n source: \"tulare_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"saskatchewan_basemap\",\r\n source: \"saskatchewan_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"switzerland_basemap\",\r\n source: \"switzerland_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n // map.addLayer({\r\n // id: \"czech_basemap\",\r\n // source: \"czech_basemap\",\r\n // type: \"raster\",\r\n // minzoom: 0,\r\n // maxzoom: 24,\r\n // });\r\n map.addLayer({\r\n id: \"denmark_basemap\",\r\n source: \"denmark_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"suphanburi_basemap\",\r\n source: \"suphanburi_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"france_basemap\",\r\n source: \"france_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"hungary_basemap\",\r\n source: \"hungary_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"england_basemap\",\r\n source: \"england_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"bulgaria_basemap\",\r\n source: \"bulgaria_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"netherlands_basemap\",\r\n source: \"netherlands_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"egypt_35rqq_basemap\",\r\n source: \"egypt_35rqq_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"egypt_36rvp_basemap\",\r\n source: \"egypt_36rvp_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"arizona_11sqs_basemap\",\r\n source: \"arizona_11sqs_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"mexico_basemap\",\r\n source: \"mexico_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"mp_india_43qdf_basemap\",\r\n source: \"mp_india_43qdf_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"turkey_basemap\",\r\n source: \"turkey_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"latvia_basemap\",\r\n source: \"latvia_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"vareva_ua_basemap\",\r\n source: \"varva_ua_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"ridhora_in_basemap\",\r\n source: \"ridhora_in_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"austria_kraxenberg_basemap\",\r\n source: \"austria_kraxenberg_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"varva_ua_basemap\",\r\n source: \"varva_ua_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"oxford_uk_basemap\",\r\n source: \"oxford_uk_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"cupar_ca_basemap\",\r\n source: \"cupar_ca_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"kamenca_pl_basemap\",\r\n source: \"kamenca_pl_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"soltepec_mx_basemap\",\r\n source: \"soltepec_mx_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"pedrola_es_basemap\",\r\n source: \"pedrola_es_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"ban_nong_kratum_th_basemap\",\r\n source: \"ban_nong_kratum_th_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"toulouse_fr_basemap\",\r\n source: \"toulouse_fr_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n map.addLayer({\r\n id: \"aramiro_nz_basemap\",\r\n source: \"aramiro_nz_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n map.addLayer({\r\n id: \"mekong_vn_basemap\",\r\n source: \"mekong_vn_basemap\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n });\r\n\r\n // map.showTileBoundaries = true;\r\n // map.showCollisionBoxes = true;\r\n}\r\n\r\nfunction turnOffBaseMapLayers(map) {\r\n // do this to all layers\r\n map.setLayoutProperty(\"basemap_sat2\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"iowa_sioux_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"punjab_india_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"czech_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"brazil_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"poland_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"punjab_43rfq_basemap\", \"visibility\", \"none\");\r\n // map.setLayoutProperty(\"norway_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"germany_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"belgium_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"austria_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"italy_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"milan_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"tulare_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"saskatchewan_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"switzerland_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"denmark_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"suphanburi_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"france_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"hungary_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"england_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"bulgaria_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"netherlands_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"mexico_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"mp_india_43qdf_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"varva_ua_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"ridhora_in_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"austria_kraxenberg_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"oxford_uk_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"cupar_ca_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"kamenca_pl_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"soltepec_mx_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"pedrola_es_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"ban_nong_kratum_th_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"toulouse_fr_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"aramiro_nz_basemap\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"mekong_vn_basemap\", \"visibility\", \"none\");\r\n}\r\nfunction turnOnBaseMapLayers(map) {\r\n // do this to all layers\r\n map.setLayoutProperty(\"basemap_sat2\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"iowa_sioux_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"punjab_india_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"czech_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"brazil_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"poland_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"punjab_43rfq_basemap\", \"visibility\", \"visible\");\r\n // map.setLayoutProperty(\"norway_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"germany_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"belgium_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"austria_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"italy_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"milan_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"tulare_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"saskatchewan_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"switzerland_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"denmark_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"suphanburi_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"france_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"hungary_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"england_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"bulgaria_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"netherlands_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"mexico_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"mp_india_43qdf_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"varva_ua_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"ridhora_in_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"austria_kraxenberg_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"oxford_uk_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"cupar_ca_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"kamenca_pl_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"soltepec_mx_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"pedrola_es_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"ban_nong_kratum_th_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"toulouse_fr_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"aramiro_nz_basemap\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"mekong_vn_basemap\", \"visibility\", \"visible\");\r\n}\r\n\r\nconst mapStyle = {\r\n version: 8,\r\n sources: {\r\n mapbox: {\r\n type: \"raster\",\r\n url: \"mapbox://mapbox.satellite\",\r\n },\r\n \"mapbox-streets\": {\r\n url: \"mapbox://mapbox.mapbox-streets-v8\",\r\n type: \"vector\",\r\n },\r\n basemap_basic: {\r\n type: \"raster\",\r\n tiles: [BASEMAP_BASIC_URL],\r\n tileSize: 256,\r\n },\r\n basemap_sat2: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/datasets/norway_orto_v1/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800\",\r\n ],\r\n tileSize: 256,\r\n bounds: [\r\n 10.27741236915756, 60.562768622993445, 11.840852714501409,\r\n 60.94270674642959,\r\n ],\r\n },\r\n iowa_sioux_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data/hr/us/us_io_cnh_gs_1_cog.tif\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -97.9738290057744, 41.91627585152915, -93.86449355652627,\r\n 43.09486553253598,\r\n ],\r\n },\r\n punjab_india_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n `https://rasters.digifarm.io/v1/rasters/datasets/bayer_india_gs2/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800`,\r\n ],\r\n tileSize: 256,\r\n bounds: [\r\n 76.39335871622285, 30.893985857608854, 76.56694188932494,\r\n 30.994603506042452,\r\n ],\r\n },\r\n czech_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/CZ/33UVR/S2_DR_T33UVR_20210617_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n //\r\n ],\r\n tileSize: 256,\r\n bounds: [\r\n 13.976738500423636, 50.27419730046995, 14.27362678967998,\r\n 50.366557833910804,\r\n ],\r\n },\r\n brazil_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/BR/21LYC/S2_DR_T21LYC_20210329_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -56.079750882427575, -15.852090599283218, -53.70790847716806,\r\n -15.25048902255923,\r\n ],\r\n },\r\n poland_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/PL/33UXT/S2_DR_T33UXT_20210609_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 16.999945363810127, 51.663479229296456, 17.097223088362853,\r\n 51.704013390375394,\r\n ],\r\n },\r\n punjab_43rfq_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/IN/43RFQ/S2_DR_T43RFQ_20211105_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 76.65113778274326, 30.929266718724662, 76.66092330876097,\r\n 30.935317185551853,\r\n ],\r\n },\r\n mp_india_43qdf_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/IN/43QDF/S2_DR_T43QDF_20220310_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 74.95791630251307, 23.417037459430247, 75.11233234640605,\r\n 23.528548400521117,\r\n ],\r\n },\r\n norway_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/NO/32VPN/S2_DR_T32VPN_20200919_rgbn.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 10.990990557539817, 60.68908840357494, 11.307863696935982,\r\n 60.80153442213208,\r\n ],\r\n },\r\n germany_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/DE/32UND/S2_DR_T32UND_20210618_rgbn.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 9.968411112332461, 52.21529431368526, 10.247957381237427,\r\n 52.33437773412081,\r\n ],\r\n },\r\n belgium_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/BE/31UES/S2_DR_T31UES_20220719_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 3.0341704812626347, 50.85786063012816, 3.0924066033940676,\r\n 50.884428501569346,\r\n ],\r\n },\r\n austria_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/AT/33UWP/S2_DR_T33UWP_20210724_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 15.486629393873102, 48.11358707025758, 15.975326556569087,\r\n 48.327018025975576,\r\n ],\r\n },\r\n italy_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/IT/32TQN/S2_DR_T32TQN_20200917_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 11.832688886883716, 43.02707871734063, 11.97873905804127,\r\n 43.099033100416534,\r\n ],\r\n },\r\n milan_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/IT/32TNR/S2_DR_T32TNR_20200406_rgbn.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 8.81122012583478, 45.25788940851356, 9.278418093862172,\r\n 45.48581780091456,\r\n ],\r\n },\r\n tulare_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/US/11SKA/S2_DR_T11SKA_20210720_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -119.53680869654569, 36.08946034016131, -119.30457570506414,\r\n 36.21984249530388,\r\n ],\r\n },\r\n saskatchewan_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/CA/13UES/S2_DR_T13UES_20210613_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -103.80025436589173, 51.1931908859747, -103.40175635489591,\r\n 51.37959945203818,\r\n ],\r\n },\r\n switzerland_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/CH/31TGM/S2_DR_T31TGM_20210529_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 6.235183380629451, 46.43876935571092, 6.667902930789893,\r\n 46.64416510991171,\r\n ],\r\n },\r\n denmark_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/DK/32VNH/S2_DR_T32VNH_20210716_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 9.504904235589066, 56.248496666194086, 9.949219097274266,\r\n 56.420052561846205,\r\n ],\r\n },\r\n suphanburi_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/TH/47PPS/S2_DR_T47PPS_20210521_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 100.37561918835615, 15.026804531815301, 100.46768081167232,\r\n 15.07681253380126,\r\n ],\r\n },\r\n france_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/FR/30UXV/S2_DR_T30UXV_20210531_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -0.3926917512560806, 48.97282149112618, -0.08531070166407062,\r\n 49.113050962966526,\r\n ],\r\n },\r\n hungary_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/HU/33TYN/S2_DR_T33TYN_20210810_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 17.92886232706593, 46.830681881088, 18.668573307995047,\r\n 47.178504465849585,\r\n ],\r\n },\r\n england_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/GB/30UXC/S2_DR_T30UXC_20210531_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -0.913396349838564, 51.65414926126533, -0.4611660247116447,\r\n 51.847732159932235,\r\n ],\r\n },\r\n bulgaria_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/BG/34TGN/S2_DR_T34TGN_20210727_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 23.422684822826483, 42.60836167314898, 23.73154667484829,\r\n 42.7645747405318,\r\n ],\r\n },\r\n netherlands_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/NL/31UFU/S2_DR_T31UFU_20210530_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 5.53038765023112, 52.45201308913039, 5.718750490452237,\r\n 52.53226952443359,\r\n ],\r\n },\r\n egypt_35rqq_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/EG/35RQQ/S2_DR_T35RQQ_20211107_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 29.559041452513185, 30.7675901036539, 29.67012599459113,\r\n 30.823771803681637,\r\n ],\r\n },\r\n egypt_36rvp_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/EG/36RVP/S2_DR_T36RVP_20211201_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n 32.43382713339841, 25.59230266402193, 32.61972448918422,\r\n 25.703143826878843,\r\n ],\r\n },\r\n arizona_11sqs_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n \"https://rasters.digifarm.io/v1/rasters/file/{z}/{x}/{y}.png?token=c3b3ffa9-a0fd-4a01-abdd-168b675e8800&filename=digi-data-v1/s2/dr/US/11SQS/S2_DR_T11SQS_20210318_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n tileSize: 512,\r\n bounds: [\r\n -114.77997359497918, 32.57531070680537, -114.67092237234668,\r\n 32.64121937798889,\r\n ],\r\n },\r\n mexico_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/MX/13QGB/S2_DR_T13QGB_20210519_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -102.23280868996288, 18.89083360203084, -102.04740476487353,\r\n 18.97733226773147,\r\n ],\r\n },\r\n turkey_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/TR/35TPE/S2_DR_T35TPE_20221001_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 28.287671545116467, 40.00337351064613, 28.510711794995842,\r\n 40.11726354007831,\r\n ],\r\n },\r\n latvia_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/LV/35VMD/S2_DR_T35VMD_20210531_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 25.44243267057206, 56.60995736014175, 27.54614873945914,\r\n 57.722292017461314,\r\n ],\r\n },\r\n austria_kraxenberg_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/AT/33UUP/S2_DR_T33UUP_20220816_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 13.283711213106926, 48.15965230982857, 13.457760572763647,\r\n 48.25191458263183,\r\n ],\r\n },\r\n varva_ua_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/UA/36UVA/S2_DR_T36UVA_20210626_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 32.491206841470614, 50.32854118925056, 33.00810324943723,\r\n 50.63537420930044,\r\n ],\r\n },\r\n // digi-data-v1/s2/dr/IN/44QKJ/S2_DR_T44QKJ_20210401_0_rgbn_cog.tif\r\n ridhora_in_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/IN/44QKJ/S2_DR_T44QKJ_20210401_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 78.60060469140649, 21.196751599376952, 78.65346858793316,\r\n 21.23082354788653,\r\n ],\r\n },\r\n // digi-data-v1/s2/dr/CA/13UES/S2_DR_T13UES_20210613_0_rgbn_cog.tif -104.67593283319835,50.554736452801905,-104.41932385742525,50.705002895412235\r\n\r\n cupar_ca_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/CA/13UES/S2_DR_T13UES_20210613_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -104.67593283319835, 50.554736452801905, -104.41932385742525,\r\n 50.705002895412235,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/GB/30UXC/S2_DR_T30UXC_20210531_0_rgbn_cog.tif -1.2293980806628042,51.64271943009189,-1.062527194789027,51.72982843675257\r\n oxford_uk_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/GB/30UXC/S2_DR_T30UXC_20210531_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -1.2293980806628042, 51.64271943009189, -1.062527194789027,\r\n 51.72982843675257,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/MX/14QPG/S2_DR_T14QPG_20210607_0_rgbn_cog.tif -97.92926377998987,19.28052232059629,-97.82604439341176,19.355598439169782\r\n\r\n soltepec_mx_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/MX/14QPG/S2_DR_T14QPG_20210607_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -97.92926377998987, 19.28052232059629, -97.82604439341176,\r\n 19.355598439169782,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/PL/34UDF/S2_DR_T34UDF_20210701_0_rgbn_cog.tif 19.793507371280754,54.33706222037998,19.984767482837356,54.45059589895635\r\n\r\n kamenca_pl_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/PL/34UDF/S2_DR_T34UDF_20210701_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 19.793507371280754, 54.33706222037998, 19.984767482837356,\r\n 54.45059589895635,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/ES/30TXM/S2_DR_T30TXM_20210722_0_rgbn_cog.tif -1.321200620828705,42.13739070666898,-1.1190867070255877,42.24598260001335\r\n\r\n pedrola_es_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/ES/30TXM/S2_DR_T30TXM_20210722_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n -1.321200620828705, 42.13739070666898, -1.1190867070255877,\r\n 42.24598260001335,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/FR/31TCJ/S2_DR_T31TCJ_20200410_0_rgbn_cog.tif 0.9889025167976513,43.59846333909471,1.1175779389652405,43.666999230823194\r\n\r\n toulouse_fr_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/FR/31TCJ/S2_DR_T31TCJ_20200410_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 0.9889025167976513, 43.59846333909471, 1.1175779389652405,\r\n 43.666999230823194,\r\n ],\r\n },\r\n\r\n // digi-data-v1/s2/dr/NZ/60HUD/S2_DR_T60HUD_20220413_0_rgbn_cog.tif 175.00347055083836,-37.914600073324564,175.07576610980198,-37.8671964263267\r\n aramiro_nz_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/NZ/60HUD/S2_DR_T60HUD_20220413_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 175.00347055083836, -37.914600073324564, 175.07576610980198,\r\n -37.8671964263267,\r\n ],\r\n },\r\n // digi-data-v1/s2/dr/TH/47PPS/S2_DR_T47PPS_20210521_0_rgbn_cog.tif 100.43851343049153,15.143600695467,100.52644945024298,15.207567854592213\r\n ban_nong_kratum_th_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/TH/47PPS/S2_DR_T47PPS_20210521_0_rgbn_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 100.43851343049153, 15.143600695467, 100.52644945024298,\r\n 15.207567854592213,\r\n ],\r\n },\r\n mekong_vn_basemap: {\r\n type: \"raster\",\r\n tiles: [\r\n raster_url +\r\n \"&filename=digi-data-v1/s2/dr/VN/48PWS/S2_DR_T48PWS_20230405_MS_cog.tif&render=rgbn_rgb\",\r\n ],\r\n bounds: [\r\n 105.74365972272625, 10.165494768802631, 105.80619350169303,\r\n 10.219194318151139,\r\n ],\r\n },\r\n },\r\n\r\n glyphs: \"mapbox://fonts/mapbox/{fontstack}/{range}.pbf\",\r\n sprite:\r\n \"mapbox://sprites/girishpallagatti/cl45u8192000414pmy8oydqbg/efa4z7hq1xkpmov5bzti9h7f2\",\r\n layers: [\r\n {\r\n id: \"mapbox\",\r\n source: \"mapbox\",\r\n type: \"raster\",\r\n maxzoom: 19,\r\n },\r\n {\r\n id: \"basemap_basic\",\r\n source: \"basemap_basic\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: 24,\r\n layout: { visibility: \"none\" },\r\n },\r\n ],\r\n};\r\n\r\nconst locationObj = {\r\n delineatedFields: {\r\n norway: {\r\n center: [11.1804734, 60.746268],\r\n name: \"Hamar, Norway\",\r\n country_code: \"no\",\r\n },\r\n iowa: {\r\n center: [-96.2173, 42.5226],\r\n name: \"Sioux City, Iowa\",\r\n country_code: \"us\",\r\n },\r\n germany: {\r\n center: [10.1151, 52.2768],\r\n name: \"Hanover, Germany\",\r\n country_code: \"de\",\r\n },\r\n belgium: {\r\n center: [3.063288542, 50.871144566],\r\n name: \"Roeselare,Belgium\",\r\n country_code: \"be\",\r\n mgrs: \"31UDS\",\r\n },\r\n austria: {\r\n center: [15.76011, 48.21714],\r\n zoom: 13,\r\n name: \"St Pölten, Austria\",\r\n country_code: \"at\",\r\n mgrs: \"33UWP\",\r\n },\r\n kraxenberg_at: {\r\n // 48.19986/13.36195\r\n center: [13.36195, 48.19986],\r\n zoom: 13.76,\r\n name: \"Kraxenberg, Austria\",\r\n country_code: \"at\",\r\n mgrs: \"33UWP\",\r\n },\r\n italy: {\r\n center: [11.90099, 43.06147],\r\n name: \"Montallese, Italy\",\r\n country_code: \"it\",\r\n },\r\n milan: {\r\n center: [9.06831356, 45.366777837],\r\n name: \"Milan, Italy\",\r\n country_code: \"it\",\r\n },\r\n tulare: {\r\n center: [-119.4085, 36.1532],\r\n name: \"Tulare, California\",\r\n country_code: \"us\",\r\n },\r\n saskatchewan: {\r\n center: [-103.64431, 51.26385],\r\n zoom: 14,\r\n name: \"Saskatchewan, Canada\",\r\n country_code: \"ca\",\r\n },\r\n cupar_ca: {\r\n // 13.2/50.62318/-104.55106\r\n center: [-104.55106, 50.62318],\r\n zoom: 13.2,\r\n name: \"Cupar, Canada\",\r\n country_code: \"ca\",\r\n },\r\n switzerland: {\r\n center: [6.45, 46.53],\r\n name: \"Morges, Switzerland\",\r\n country_code: \"ch\",\r\n },\r\n czech: {\r\n center: [14.125182645, 50.320377567],\r\n zoom: 12.4,\r\n name: \"Slaný, Czech Republic\",\r\n country_code: \"cz\",\r\n },\r\n denmark: {\r\n center: [9.70948, 56.33231],\r\n name: \"Bjerringbro, Denmark\",\r\n country_code: \"dk\",\r\n },\r\n newzealand: {\r\n center: [172.05914, -43.88638],\r\n zoom: 13.33,\r\n name: \"Ashburton, New Zealand\",\r\n country_code: \"nz\",\r\n },\r\n // 14.68/-37.89093/175.03974\r\n aramiro_nz: {\r\n center: [175.03974, -37.89093],\r\n zoom: 14.68,\r\n name: \"Aramiro, New Zealand\",\r\n country_code: \"nz\",\r\n },\r\n punjab: {\r\n zoom: 16.6,\r\n center: [76.655809, 30.932539],\r\n name: \"Punjab, India\",\r\n country_code: \"in\",\r\n },\r\n ridhora_in: {\r\n zoom: 15,\r\n center: [78.620256, 21.209539],\r\n name: \"Ridhora, India\",\r\n country_code: \"in\",\r\n },\r\n suphanburi: {\r\n center: [100.42462, 15.05134],\r\n zoom: 14.5,\r\n name: \"In Buri, Thailand\",\r\n country_code: \"th\",\r\n },\r\n // 15.25/15.171341/100.482818\r\n ban_nong_kratum_th: {\r\n center: [100.482818, 15.171341],\r\n zoom: 15.25,\r\n name: \"Ban Nong Kratum, Thailand\",\r\n country_code: \"th\",\r\n },\r\n france: {\r\n center: [-0.23497, 49.04343],\r\n zoom: 12.92,\r\n name: \"Caen, France\",\r\n country_code: \"fr\",\r\n },\r\n toulouse_fr: {\r\n // 14.22/43.63056/1.05744\r\n center: [1.05744, 43.63056],\r\n zoom: 14.22,\r\n name: \"Toulouse, France\",\r\n country_code: \"fr\",\r\n },\r\n hungary: {\r\n center: [18.3015, 47.0065],\r\n zoom: 11,\r\n name: \"Enying, Hungary\",\r\n country_code: \"hu\",\r\n },\r\n england: {\r\n center: [-0.6861, 51.7509],\r\n zoom: 11.59,\r\n name: \"Wendover, United Kingdom\",\r\n country_code: \"gb\",\r\n },\r\n oxford_uk: {\r\n center: [-1.15299, 51.68425],\r\n zoom: 13.67,\r\n name: \"Oxford, United Kingdom\",\r\n country_code: \"gb\",\r\n },\r\n bulgaria: {\r\n center: [23.57411, 42.68841],\r\n zoom: 12.26,\r\n name: \"Sofia, Bulgaria\",\r\n country_code: \"bg\",\r\n },\r\n netherlands: {\r\n center: [5.63017, 52.49108],\r\n zoom: 13.3,\r\n name: \"Lelystad, Netherlands\",\r\n country_code: \"nl\",\r\n mgrs: \"31UFU\",\r\n },\r\n poland: {\r\n center: [17.05136, 51.68528],\r\n zoom: 14.8,\r\n name: \"Rawicz County, Poland\",\r\n country_code: \"pl\",\r\n },\r\n kamenca_pl: {\r\n center: [19.88213, 54.41662],\r\n zoom: 13.8,\r\n name: \"Kamenca, Poland\",\r\n country_code: \"pl\",\r\n },\r\n brazil: {\r\n center: [-54.89431, -15.45116],\r\n zoom: 12.16,\r\n name: \"Mato Grosso, Brazil\",\r\n country_code: \"br\",\r\n },\r\n mexico: {\r\n center: [-102.13818, 18.947],\r\n zoom: 13.93,\r\n name: \"Michoacán, Mexico\",\r\n country_code: \"mx\",\r\n },\r\n soltepec_mx: {\r\n // 15.09/19.3314/-97.88409\r\n center: [-97.88409, 19.3314],\r\n zoom: 15.09,\r\n name: \"Soltepec, Mexico\",\r\n country_code: \"mx\",\r\n },\r\n turkey: {\r\n center: [28.393897063, 40.055537015],\r\n zoom: 13.93,\r\n name: \"Mustafakemalpaşa, Turkey\",\r\n country_code: \"tr\",\r\n },\r\n pedrola_es: {\r\n center: [-1.22724, 42.19469],\r\n zoom: 14.16,\r\n name: \"Pedrola, Spain\",\r\n country_code: \"es\",\r\n },\r\n varva_ua: {\r\n center: [32.74054, 50.47307],\r\n zoom: 12.71,\r\n name: \"Varva, Ukraine\",\r\n country_code: \"ua\",\r\n },\r\n\r\n hjellum_no: {\r\n // 14.21/60.79034/11.19913\r\n center: [11.19913, 60.79034],\r\n zoom: 14.21,\r\n name: \"Hjellum, Norway\",\r\n country_code: \"no\",\r\n },\r\n mekong_vn: {\r\n // 15.84/10.191471/105.766477\r\n center: [105.766477, 10.191471],\r\n zoom: 15.84,\r\n name: \"Mekong Delta, Vietnam\",\r\n country_code: \"vn\",\r\n },\r\n },\r\n deepResImages: {\r\n norway: {\r\n center: [11.18047, 60.74627],\r\n name: \"Hamar, Norway\",\r\n country_code: \"no\",\r\n },\r\n iowa: {\r\n center: [-96.2173, 42.5226],\r\n name: \"Sioux City, Iowa\",\r\n country_code: \"us\",\r\n },\r\n germany: {\r\n center: [10.1151, 52.2768],\r\n name: \"Germany\",\r\n country_code: \"de\",\r\n },\r\n belgium: {\r\n center: [2.48342, 50.83249],\r\n name: \"Belgium\",\r\n country_code: \"be\",\r\n mgrs: \"31UDS\",\r\n },\r\n austria: {\r\n center: [15.76011, 48.21714],\r\n zoom: 13,\r\n name: \"Austria\",\r\n country_code: \"at\",\r\n mgrs: \"33UWP\",\r\n },\r\n italy: { center: [11.90099, 43.06147], name: \"Italy\", country_code: \"it\" },\r\n milan: {\r\n center: [9.06831356, 45.366777837],\r\n name: \"Milan, Italy\",\r\n country_code: \"it\",\r\n },\r\n tulare: {\r\n center: [-119.4085, 36.1532],\r\n name: \"Tulare, California\",\r\n country_code: \"us\",\r\n },\r\n saskatchewan: {\r\n center: [-109.5701, 51.5225],\r\n zoom: 13,\r\n name: \"Saskatchewan, Canada\",\r\n country_code: \"ca\",\r\n },\r\n switzerland: {\r\n center: [6.45, 46.53],\r\n name: \"Switzerland\",\r\n country_code: \"ch\",\r\n },\r\n czech: {\r\n center: [14.125182645, 50.320377567],\r\n zoom: 12.4,\r\n name: \"Czech Republic\",\r\n country_code: \"cz\",\r\n },\r\n denmark: {\r\n center: [9.70948, 56.33231],\r\n name: \"Denmark\",\r\n country_code: \"dk\",\r\n },\r\n punjab: {\r\n zoom: 16.6,\r\n center: [76.655809, 30.932539],\r\n name: \"Punjab, India\",\r\n country_code: \"in\",\r\n },\r\n suphanburi: {\r\n center: [100.42462, 15.05134],\r\n zoom: 14.5,\r\n name: \"In Buri, Thailand\",\r\n country_code: \"th\",\r\n },\r\n france: {\r\n center: [-0.23497, 49.04343],\r\n zoom: 12.92,\r\n name: \"France\",\r\n country_code: \"fr\",\r\n },\r\n hungary: {\r\n center: [18.3015, 47.0065],\r\n zoom: 11,\r\n name: \"Hungary\",\r\n country_code: \"hu\",\r\n },\r\n england: {\r\n center: [-0.6861, 51.7509],\r\n zoom: 11.59,\r\n name: \"United Kingdom\",\r\n country_code: \"gb\",\r\n },\r\n bulgaria: {\r\n center: [23.57411, 42.68841],\r\n zoom: 12.26,\r\n name: \"Bulgaria\",\r\n country_code: \"bg\",\r\n },\r\n netherlands: {\r\n center: [5.63017, 52.49108],\r\n zoom: 13.3,\r\n name: \"Netherlands\",\r\n country_code: \"nl\",\r\n mgrs: \"31UFU\",\r\n },\r\n poland: {\r\n center: [17.05136, 51.68528],\r\n zoom: 14.8,\r\n name: \"Poland\",\r\n country_code: \"pl\",\r\n },\r\n brazil: {\r\n center: [-54.89431, -15.45116],\r\n zoom: 12.16,\r\n name: \"Mato Grosso, Brazil\",\r\n country_code: \"br\",\r\n },\r\n mexico: {\r\n center: [-102.13818, 18.947],\r\n zoom: 13.93,\r\n name: \"Michoacán, Mexico\",\r\n country_code: \"mx\",\r\n },\r\n // 14.68/-37.89093/175.03974\r\n },\r\n timeSeries: isAegro\r\n ? {\r\n brazil: {\r\n center: [-48.16594, -18.24563],\r\n zoom: 14,\r\n name: \"Brazil\",\r\n country_code: \"br\",\r\n },\r\n arizona: {\r\n center: [-114.72274, 32.6123],\r\n zoom: 13.7,\r\n name: \"Somerton, Arizona\",\r\n country_code: \"us\",\r\n },\r\n egypt_1: {\r\n center: [29.642966, 30.799378],\r\n name: \"New Borg El-Arab, Egypt\",\r\n zoom: 15,\r\n country_code: \"eg\",\r\n },\r\n egypt_2: {\r\n center: [32.514728, 25.628669],\r\n name: \"Luxor, Egypt\",\r\n zoom: 15.56,\r\n country_code: \"eg\",\r\n },\r\n estonia: {\r\n center: [26.99815, 58.28319],\r\n zoom: 13.12,\r\n name: \"Estonia\",\r\n country_code: \"ee\",\r\n },\r\n }\r\n : {\r\n arizona: {\r\n center: [-114.72274, 32.6123],\r\n zoom: 13.7,\r\n name: \"Somerton, Arizona\",\r\n country_code: \"us\",\r\n },\r\n egypt_1: {\r\n center: [29.642966, 30.799378],\r\n name: \"New Borg El-Arab, Egypt\",\r\n zoom: 15,\r\n country_code: \"eg\",\r\n },\r\n egypt_2: {\r\n center: [32.514728, 25.628669],\r\n name: \"Luxor, Egypt\",\r\n zoom: 15.56,\r\n country_code: \"eg\",\r\n },\r\n latvia: {\r\n center: [26.55111, 57.03422],\r\n zoom: 12.45,\r\n name: \"Vidzeme, Latvia\",\r\n country_code: \"lv\",\r\n },\r\n estonia: {\r\n center: [26.99815, 58.28319],\r\n zoom: 13.12,\r\n name: \"Estonia\",\r\n country_code: \"ee\",\r\n },\r\n india: {\r\n center: [75.022919, 23.48161],\r\n zoom: 16.6,\r\n name: \"India\",\r\n country_code: \"in\",\r\n },\r\n up_india: {\r\n center: [84.899865, 24.441187],\r\n zoom: 17.5,\r\n name: \"Uttar Pradesh, India\",\r\n country_code: \"in\",\r\n },\r\n kenya: {\r\n center: [34.51477, 0.363392],\r\n zoom: 15.7,\r\n name: \"Kenya\",\r\n country_code: \"ke\",\r\n },\r\n croatia: {\r\n center: [18.2243, 45.69668],\r\n zoom: [14.7],\r\n name: \"Croatia\",\r\n country_code: \"hr\",\r\n },\r\n mexico: {\r\n center: [-103.92988, 20.72969],\r\n zoom: [14.5],\r\n name: \"Mexico\",\r\n country_code: \"mx\",\r\n },\r\n malaysia: {\r\n center: [101.274866, 3.875061],\r\n zoom: [17],\r\n name: \"Malaysia\",\r\n country_code: \"my\",\r\n },\r\n netherlands: {\r\n center: [5.405234, 52.008142],\r\n zoom: [15.2],\r\n name: \"Netherlands\",\r\n country_code: \"nl\",\r\n },\r\n illinois: {\r\n center: [-88.09509, 40.59593],\r\n zoom: [13.97],\r\n name: \"Buckley, Illinois\",\r\n country_code: \"us\",\r\n },\r\n // illinois_2: {\r\n // center: [-88.54561, 40.48173],\r\n // zoom: [13.97],\r\n // name: \"Saybrook, Illinois\",\r\n // country_code: \"us\",\r\n // },\r\n },\r\n};\r\n\r\nfunction getTilesForCurrentBounds(map) {\r\n console.log(\"getTilesForCurrentBounds\");\r\n // var merc = new SphericalMercator({\r\n // size: 256,\r\n // // antimeridian: true\r\n // });\r\n\r\n // console.log();\r\n const bounds = map.getBounds();\r\n // [w, s, e, n]\r\n // doesnt' seem to work this way. Gotta see a example somewhere\r\n\r\n // -180,-85.05112877980659,180,85.0511287798066\r\n // console.log(\r\n // \"xyz\",\r\n // merc.xyz(\r\n // [bounds._sw.lng, bounds._sw.lat, bounds._ne.lng, bounds._ne.lat],\r\n // map.getZoom()\r\n // )\r\n // );\r\n\r\n const l2tiles = tilebelt.getChildren(\r\n tilebelt.bboxToTile([\r\n bounds._sw.lng,\r\n bounds._sw.lat,\r\n bounds._ne.lng,\r\n bounds._ne.lat,\r\n ])\r\n );\r\n\r\n const l3tiles = l2tiles.reduce((acc, tile) => {\r\n const children = tilebelt.getChildren(tile);\r\n return acc.concat(children);\r\n }, []);\r\n\r\n // console.log(\"l3tiles\", l3tiles);\r\n\r\n const isTileZoomPlus1 = l3tiles[0][2] < map.getZoom() ? true : false;\r\n\r\n const l4tiles = isTileZoomPlus1\r\n ? l3tiles.reduce((acc, tile) => {\r\n const children = tilebelt.getChildren(tile);\r\n return acc.concat(children);\r\n }, [])\r\n : l3tiles;\r\n\r\n // Two options -\r\n // 1. get point to tile (from the center/location of the map map.getcenter or center of the bbox) and then get siblings. That might be enough. If not one more round of siblings of all the corner tiles and then select distinct tiles of that. Get the tiles for those many.\r\n // 2. use the min max and get all the tiles between them\r\n\r\n // console.log(\"bbox\", merc.bbox(8701, 4690, 14));\r\n const center = map.getCenter();\r\n\r\n const centerTile = tilebelt.pointToTile(\r\n center.lng,\r\n center.lat,\r\n Math.round(map.getZoom()) + 1\r\n );\r\n\r\n const parentTile = tilebelt.getParent(\r\n tilebelt.getParent(tilebelt.getParent(centerTile))\r\n );\r\n\r\n const childrenTiles = tilebelt.getChildren(parentTile);\r\n const childrenTilesl2 = childrenTiles.reduce((acc, tile) => {\r\n const children = tilebelt.getChildren(tile);\r\n return acc.concat(children);\r\n }, []);\r\n\r\n const childrenTilesl3 = childrenTilesl2.reduce((acc, tile) => {\r\n const children = tilebelt.getChildren(tile);\r\n return acc.concat(children);\r\n }, []);\r\n\r\n // If the getbounds was working could have used the l3/l4 tiles. Since that doesn't seem to be working properly, using the center tile and then getting parents of that and then getting children of that.\r\n return childrenTilesl3;\r\n}\r\n\r\nfunction addPlaceLabelLayers(map) {\r\n map.addLayer({\r\n id: \"admin-1-boundary-bg\",\r\n type: \"line\",\r\n source: \"mapbox-streets\",\r\n \"source-layer\": \"admin\",\r\n minzoom: 7,\r\n filter: [\r\n \"all\",\r\n [\"==\", [\"get\", \"admin_level\"], 1],\r\n [\"==\", [\"get\", \"maritime\"], \"false\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n paint: {\r\n \"line-color\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 8,\r\n \"hsl(0, 0%, 14%)\",\r\n 16,\r\n \"hsl(0, 0%, 30%)\",\r\n ],\r\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 7, 3.75, 12, 5.5],\r\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 7, 0, 8, 0.75],\r\n \"line-dasharray\": [1, 0],\r\n \"line-blur\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 0, 8, 3],\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"admin-boundaries\",\r\n \"mapbox:group\": \"Administrative boundaries, admin\",\r\n },\r\n });\r\n map.addLayer({\r\n id: \"admin-0-boundary-bg\",\r\n type: \"line\",\r\n source: \"mapbox-streets\",\r\n \"source-layer\": \"admin\",\r\n minzoom: 1,\r\n filter: [\r\n \"all\",\r\n [\"==\", [\"get\", \"admin_level\"], 0],\r\n [\"==\", [\"get\", \"maritime\"], \"false\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n paint: {\r\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 5.25, 10, 12],\r\n \"line-color\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 6,\r\n \"hsl(0, 0%, 14%)\",\r\n 8,\r\n \"hsl(0, 0%, 30%)\",\r\n ],\r\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 0, 4, 0.5],\r\n \"line-blur\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 0, 10, 3],\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"admin-boundaries\",\r\n \"mapbox:group\": \"Administrative boundaries, admin\",\r\n },\r\n });\r\n map.addLayer({\r\n minzoom: 2,\r\n layout: { \"line-cap\": \"round\" },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"admin-boundaries\",\r\n \"mapbox:group\": \"Administrative boundaries, admin\",\r\n },\r\n filter: [\r\n \"all\",\r\n [\"==\", [\"get\", \"admin_level\"], 1],\r\n [\"==\", [\"get\", \"maritime\"], \"false\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n type: \"line\",\r\n source: \"mapbox-streets\",\r\n id: \"admin-1-boundary\",\r\n paint: {\r\n \"line-dasharray\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\"literal\", [2, 0]],\r\n 7,\r\n [\"literal\", [2, 2, 6, 2]],\r\n ],\r\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 7, 0.75, 12, 1.5],\r\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 2, 0, 3, 1],\r\n \"line-color\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 3,\r\n \"hsl(0, 0%, 0%)\",\r\n 7,\r\n \"hsl(0, 0%, 5%)\",\r\n ],\r\n },\r\n \"source-layer\": \"admin\",\r\n });\r\n map.addLayer({\r\n minzoom: 1,\r\n layout: { \"line-cap\": \"round\" },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"admin-boundaries\",\r\n \"mapbox:group\": \"Administrative boundaries, admin\",\r\n },\r\n filter: [\r\n \"all\",\r\n [\"==\", [\"get\", \"admin_level\"], 0],\r\n [\"==\", [\"get\", \"disputed\"], \"false\"],\r\n [\"==\", [\"get\", \"maritime\"], \"false\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n type: \"line\",\r\n source: \"mapbox-streets\",\r\n id: \"admin-0-boundary\",\r\n paint: {\r\n \"line-color\": \"hsl(0, 0%, 0%)\",\r\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 0.75, 10, 3],\r\n \"line-dasharray\": [10, 0],\r\n },\r\n \"source-layer\": \"admin\",\r\n });\r\n map.addLayer({\r\n id: \"admin-0-boundary-disputed\",\r\n type: \"line\",\r\n source: \"mapbox-streets\",\r\n \"source-layer\": \"admin\",\r\n minzoom: 1,\r\n filter: [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"==\", [\"get\", \"admin_level\"], 0],\r\n [\"==\", [\"get\", \"maritime\"], \"false\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n paint: {\r\n \"line-color\": \"hsl(0, 0%, 0%)\",\r\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 3, 0.75, 10, 3],\r\n \"line-dasharray\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\"literal\", [3.25, 3.25]],\r\n 6,\r\n [\"literal\", [2.5, 2.5]],\r\n 7,\r\n [\"literal\", [2, 2.25]],\r\n 8,\r\n [\"literal\", [1.75, 2]],\r\n ],\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"admin-boundaries\",\r\n \"mapbox:group\": \"Administrative boundaries, admin\",\r\n },\r\n });\r\n map.addLayer({\r\n minzoom: 10,\r\n layout: {\r\n \"text-field\": [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n \"text-transform\": \"uppercase\",\r\n \"text-font\": [\"DIN Pro Medium\", \"Arial Unicode MS Regular\"],\r\n \"text-letter-spacing\": [\"match\", [\"get\", \"type\"], \"suburb\", 0.15, 0.1],\r\n \"text-max-width\": 7,\r\n \"text-padding\": 3,\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"cubic-bezier\", 0.5, 0, 1, 1],\r\n [\"zoom\"],\r\n 11,\r\n [\"match\", [\"get\", \"type\"], \"suburb\", 11, 10.5],\r\n 15,\r\n [\"match\", [\"get\", \"type\"], \"suburb\", 15, 14],\r\n ],\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"place-labels\",\r\n \"mapbox:group\": \"Place labels, place-labels\",\r\n },\r\n maxzoom: 15,\r\n filter: [\r\n \"all\",\r\n [\r\n \"match\",\r\n [\"get\", \"class\"],\r\n \"settlement_subdivision\",\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n \"disputed_settlement_subdivision\",\r\n [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n false,\r\n ],\r\n [\"<=\", [\"get\", \"filterrank\"], 4],\r\n ],\r\n type: \"symbol\",\r\n source: \"mapbox-streets\",\r\n id: \"settlement-subdivision-label\",\r\n paint: {\r\n \"text-halo-color\": \"hsla(0, 5%, 0%, 0.75)\",\r\n \"text-halo-width\": 1,\r\n \"text-color\": \"hsl(0, 0%, 100%)\",\r\n \"text-halo-blur\": 0.5,\r\n },\r\n \"source-layer\": \"place_label\",\r\n });\r\n map.addLayer({\r\n minzoom: 3,\r\n layout: {\r\n \"text-line-height\": 1.1,\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"cubic-bezier\", 0.2, 0, 0.9, 1],\r\n [\"zoom\"],\r\n 3,\r\n [\r\n \"step\",\r\n [\"get\", \"symbolrank\"],\r\n 12,\r\n 9,\r\n 11,\r\n 10,\r\n 10.5,\r\n 12,\r\n 9.5,\r\n 14,\r\n 8.5,\r\n 16,\r\n 6.5,\r\n 17,\r\n 4,\r\n ],\r\n 13,\r\n [\r\n \"step\",\r\n [\"get\", \"symbolrank\"],\r\n 23,\r\n 9,\r\n 21,\r\n 10,\r\n 19,\r\n 11,\r\n 17,\r\n 12,\r\n 16,\r\n 13,\r\n 15,\r\n 15,\r\n 13,\r\n ],\r\n ],\r\n \"text-radial-offset\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\"match\", [\"get\", \"capital\"], 2, 0.6, 0.55],\r\n 8,\r\n 0,\r\n ],\r\n \"icon-image\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\r\n \"case\",\r\n [\"==\", [\"get\", \"capital\"], 2],\r\n \"border-dot-13\",\r\n [\"step\", [\"get\", \"symbolrank\"], \"dot-11\", 9, \"dot-10\", 11, \"dot-9\"],\r\n ],\r\n 8,\r\n \"\",\r\n ],\r\n \"text-font\": [\"DIN Pro Medium\", \"Arial Unicode MS Regular\"],\r\n \"text-justify\": \"auto\",\r\n \"text-anchor\": [\"step\", [\"zoom\"], [\"get\", \"text_anchor\"], 8, \"center\"],\r\n \"text-field\": [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n \"text-max-width\": 7,\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"place-labels\",\r\n \"mapbox:group\": \"Place labels, place-labels\",\r\n },\r\n maxzoom: 13,\r\n filter: [\r\n \"all\",\r\n [\"<=\", [\"get\", \"filterrank\"], 3],\r\n [\r\n \"match\",\r\n [\"get\", \"class\"],\r\n \"settlement\",\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n \"disputed_settlement\",\r\n [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n false,\r\n ],\r\n [\r\n \"step\",\r\n [\"zoom\"],\r\n [\">\", [\"get\", \"symbolrank\"], 6],\r\n 4,\r\n [\">=\", [\"get\", \"symbolrank\"], 7],\r\n 6,\r\n [\">=\", [\"get\", \"symbolrank\"], 8],\r\n 7,\r\n [\">=\", [\"get\", \"symbolrank\"], 10],\r\n 10,\r\n [\">=\", [\"get\", \"symbolrank\"], 11],\r\n 11,\r\n [\">=\", [\"get\", \"symbolrank\"], 13],\r\n 12,\r\n [\">=\", [\"get\", \"symbolrank\"], 15],\r\n ],\r\n ],\r\n type: \"symbol\",\r\n source: \"mapbox-streets\",\r\n id: \"settlement-minor-label\",\r\n paint: {\r\n \"text-color\": \"hsl(0, 0%, 95%)\",\r\n \"text-halo-color\": \"hsl(0, 5%, 0%)\",\r\n \"text-halo-width\": 1,\r\n \"text-halo-blur\": 1,\r\n },\r\n \"source-layer\": \"place_label\",\r\n });\r\n map.addLayer({\r\n minzoom: 3,\r\n layout: {\r\n \"text-line-height\": 1.1,\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"cubic-bezier\", 0.2, 0, 0.9, 1],\r\n [\"zoom\"],\r\n 3,\r\n [\"step\", [\"get\", \"symbolrank\"], 13, 6, 12],\r\n 6,\r\n [\"step\", [\"get\", \"symbolrank\"], 16, 6, 15, 7, 14],\r\n 8,\r\n [\"step\", [\"get\", \"symbolrank\"], 18, 9, 17, 10, 15],\r\n 15,\r\n [\r\n \"step\",\r\n [\"get\", \"symbolrank\"],\r\n 23,\r\n 9,\r\n 22,\r\n 10,\r\n 20,\r\n 11,\r\n 18,\r\n 12,\r\n 16,\r\n 13,\r\n 15,\r\n 15,\r\n 13,\r\n ],\r\n ],\r\n \"text-radial-offset\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\"match\", [\"get\", \"capital\"], 2, 0.6, 0.55],\r\n 8,\r\n 0,\r\n ],\r\n \"icon-image\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\r\n \"case\",\r\n [\"==\", [\"get\", \"capital\"], 2],\r\n \"border-dot-13\",\r\n [\"step\", [\"get\", \"symbolrank\"], \"dot-11\", 9, \"dot-10\", 11, \"dot-9\"],\r\n ],\r\n 8,\r\n \"\",\r\n ],\r\n \"text-font\": [\"DIN Pro Medium\", \"Arial Unicode MS Regular\"],\r\n \"text-justify\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\r\n \"match\",\r\n [\"get\", \"text_anchor\"],\r\n [\"left\", \"bottom-left\", \"top-left\"],\r\n \"left\",\r\n [\"right\", \"bottom-right\", \"top-right\"],\r\n \"right\",\r\n \"center\",\r\n ],\r\n 8,\r\n \"center\",\r\n ],\r\n \"text-anchor\": [\"step\", [\"zoom\"], [\"get\", \"text_anchor\"], 8, \"center\"],\r\n \"text-field\": [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n \"text-max-width\": 7,\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"place-labels\",\r\n \"mapbox:group\": \"Place labels, place-labels\",\r\n },\r\n maxzoom: 15,\r\n filter: [\r\n \"all\",\r\n [\"<=\", [\"get\", \"filterrank\"], 3],\r\n [\r\n \"match\",\r\n [\"get\", \"class\"],\r\n \"settlement\",\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n \"disputed_settlement\",\r\n [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n false,\r\n ],\r\n [\r\n \"step\",\r\n [\"zoom\"],\r\n false,\r\n 3,\r\n [\"<=\", [\"get\", \"symbolrank\"], 6],\r\n 4,\r\n [\"<\", [\"get\", \"symbolrank\"], 7],\r\n 6,\r\n [\"<\", [\"get\", \"symbolrank\"], 8],\r\n 7,\r\n [\"<\", [\"get\", \"symbolrank\"], 10],\r\n 10,\r\n [\"<\", [\"get\", \"symbolrank\"], 11],\r\n 11,\r\n [\"<\", [\"get\", \"symbolrank\"], 13],\r\n 12,\r\n [\"<\", [\"get\", \"symbolrank\"], 15],\r\n 13,\r\n [\">=\", [\"get\", \"symbolrank\"], 11],\r\n 14,\r\n [\">=\", [\"get\", \"symbolrank\"], 15],\r\n ],\r\n ],\r\n type: \"symbol\",\r\n source: \"mapbox-streets\",\r\n id: \"settlement-major-label\",\r\n paint: {\r\n \"text-color\": \"hsl(0, 0%, 95%)\",\r\n \"text-halo-color\": \"hsl(0, 5%, 0%)\",\r\n \"text-halo-width\": 1,\r\n \"text-halo-blur\": 1,\r\n },\r\n \"source-layer\": \"place_label\",\r\n });\r\n map.addLayer({\r\n minzoom: 3,\r\n layout: {\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"cubic-bezier\", 0.85, 0.7, 0.65, 1],\r\n [\"zoom\"],\r\n 4,\r\n [\"step\", [\"get\", \"symbolrank\"], 10, 6, 9.5, 7, 9],\r\n 9,\r\n [\"step\", [\"get\", \"symbolrank\"], 21, 6, 16, 7, 13],\r\n ],\r\n \"text-transform\": \"uppercase\",\r\n \"text-font\": [\"DIN Pro Bold\", \"Arial Unicode MS Bold\"],\r\n \"text-field\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\r\n \"step\",\r\n [\"get\", \"symbolrank\"],\r\n [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n 5,\r\n [\"coalesce\", [\"get\", \"abbr\"], [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n ],\r\n 5,\r\n [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n ],\r\n \"text-letter-spacing\": 0.15,\r\n \"text-max-width\": 6,\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"place-labels\",\r\n \"mapbox:group\": \"Place labels, place-labels\",\r\n },\r\n maxzoom: 9,\r\n filter: [\r\n \"match\",\r\n [\"get\", \"class\"],\r\n \"state\",\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n \"disputed_state\",\r\n [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n false,\r\n ],\r\n type: \"symbol\",\r\n source: \"mapbox-streets\",\r\n id: \"state-label\",\r\n paint: {\r\n \"text-color\": \"hsl(0, 0%, 95%)\",\r\n \"text-halo-color\": \"hsl(0, 5%, 0%)\",\r\n \"text-halo-width\": 1,\r\n },\r\n \"source-layer\": \"place_label\",\r\n });\r\n map.addLayer({\r\n minzoom: 1,\r\n layout: {\r\n \"icon-image\": \"\",\r\n \"text-field\": [\"coalesce\", [\"get\", \"name_en\"], [\"get\", \"name\"]],\r\n \"text-line-height\": 1.1,\r\n \"text-max-width\": 6,\r\n \"text-font\": [\"DIN Pro Medium\", \"Arial Unicode MS Regular\"],\r\n \"text-radial-offset\": [\"step\", [\"zoom\"], 0.6, 8, 0],\r\n \"text-justify\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\r\n \"match\",\r\n [\"get\", \"text_anchor\"],\r\n [\"left\", \"bottom-left\", \"top-left\"],\r\n \"left\",\r\n [\"right\", \"bottom-right\", \"top-right\"],\r\n \"right\",\r\n \"center\",\r\n ],\r\n 7,\r\n \"auto\",\r\n ],\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"cubic-bezier\", 0.2, 0, 0.7, 1],\r\n [\"zoom\"],\r\n 1,\r\n [\"step\", [\"get\", \"symbolrank\"], 11, 4, 9, 5, 8],\r\n 9,\r\n [\"step\", [\"get\", \"symbolrank\"], 22, 4, 19, 5, 17],\r\n ],\r\n },\r\n metadata: {\r\n \"mapbox:featureComponent\": \"place-labels\",\r\n \"mapbox:group\": \"Place labels, place-labels\",\r\n },\r\n maxzoom: 10,\r\n filter: [\r\n \"match\",\r\n [\"get\", \"class\"],\r\n \"country\",\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n \"disputed_country\",\r\n [\r\n \"all\",\r\n [\"==\", [\"get\", \"disputed\"], \"true\"],\r\n [\"match\", [\"get\", \"worldview\"], [\"all\", \"US\"], true, false],\r\n ],\r\n false,\r\n ],\r\n type: \"symbol\",\r\n source: \"mapbox-streets\",\r\n id: \"country-label\",\r\n paint: {\r\n \"icon-opacity\": [\r\n \"step\",\r\n [\"zoom\"],\r\n [\"case\", [\"has\", \"text_anchor\"], 1, 0],\r\n 7,\r\n 0,\r\n ],\r\n \"text-color\": \"hsl(0, 0%, 95%)\",\r\n \"text-halo-color\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 2,\r\n \"hsla(0, 5%, 0%, 0.75)\",\r\n 3,\r\n \"hsl(0, 5%, 0%)\",\r\n ],\r\n \"text-halo-width\": 1.25,\r\n },\r\n \"source-layer\": \"place_label\",\r\n });\r\n}\r\n\r\nfunction removePlaceLabelLayers(map) {\r\n if (map.getLayer(\"admin-1-boundary-bg\")) {\r\n map.removeLayer(\"admin-1-boundary-bg\");\r\n map.removeLayer(\"admin-0-boundary-bg\");\r\n map.removeLayer(\"admin-1-boundary\");\r\n map.removeLayer(\"admin-0-boundary\");\r\n\r\n map.removeLayer(\"admin-0-boundary-disputed\");\r\n\r\n map.removeLayer(\"settlement-subdivision-label\");\r\n map.removeLayer(\"settlement-major-label\");\r\n map.removeLayer(\"settlement-minor-label\");\r\n map.removeLayer(\"state-label\");\r\n map.removeLayer(\"country-label\");\r\n }\r\n}\r\nexport {\r\n addBaseMapLayers,\r\n mapStyle,\r\n getTilesForCurrentBounds,\r\n locationObj,\r\n addPlaceLabelLayers,\r\n removePlaceLabelLayers,\r\n turnOffBaseMapLayers,\r\n turnOnBaseMapLayers,\r\n};\r\n","import React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport mapboxgl from \"mapbox-gl\";\r\nimport MapboxDraw from \"@mapbox/mapbox-gl-draw\";\r\nimport {\r\n Button,\r\n Drawer,\r\n Icon,\r\n IconButton,\r\n makeStyles,\r\n Paper,\r\n} from \"@material-ui/core\";\r\nimport { GlobeIcon, LineGlobeIcon } from \"../icons\";\r\nimport SinglePointMode from \"./modes/draw_single_point\";\r\n\r\nimport \"@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css\";\r\nimport { store } from \"../contexts/store\";\r\nimport {\r\n setMode,\r\n setPoint,\r\n setPolygon,\r\n setTile,\r\n setFieldId,\r\n setTiles,\r\n setAPI,\r\n setDrawMode,\r\n} from \"../contexts/actions\";\r\n\r\nimport DrawRectangle from \"mapbox-gl-draw-rectangle-mode\";\r\nimport DrawAssistedRectangle from \"@geostarters/mapbox-gl-draw-rectangle-assisted-mode\";\r\nimport tilebelt from \"@mapbox/tilebelt\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport { KeyboardArrowDown, KeyboardArrowUp } from \"@material-ui/icons\";\r\nimport turf from \"turf\";\r\nimport {\r\n addBaseMapLayers,\r\n addPlaceLabelLayers,\r\n mapStyle,\r\n removePlaceLabelLayers,\r\n turnOffBaseMapLayers,\r\n turnOnBaseMapLayers,\r\n getTilesForCurrentBounds,\r\n locationObj,\r\n} from \"../util/mapUtils\";\r\nimport MapboxGeocoder from \"@mapbox/mapbox-gl-geocoder\";\r\nimport \"@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css\";\r\n\r\nmapboxgl.accessToken =\r\n \"pk.eyJ1IjoiZ2lyaXNocGFsbGFnYXR0aSIsImEiOiJja2h6NGVuc20wYndjMnlxaDExbzlsa3B2In0.e94ZfcoPleAA2nqjeX10ag\";\r\n// \"pk.eyJ1Ijoicm9oaXRzaGV0dHkwMCIsImEiOiJjanpmOXVoOXowOXF6M2lsdG95NmF5dWEzIn0.yuI5HCaw8Ka2-hMQM5RG4A\";\r\n\r\nlet heightOfTheWindow = window.innerHeight;\r\n\r\nwindow.addEventListener(\"resize\", () => {\r\n heightOfTheWindow = window.innerHeight;\r\n});\r\n\r\nconst useStyles = makeStyles({\r\n hoverDisplayContainer: {\r\n position: \"absolute\",\r\n left: 60,\r\n top: 0,\r\n zIndex: 1,\r\n minHeight: 220,\r\n paddingLeft: 8,\r\n minWidth: 160,\r\n textAlign: \"left\",\r\n color: \"#fff\",\r\n },\r\n shadowGenerator: {\r\n padding: 30,\r\n zIndex: 1,\r\n position: \"relative\",\r\n top: -60,\r\n boxShadow: \"-54px 72px 138px 62px rgba(0,0,0,0.85)\",\r\n },\r\n hoverContent: {\r\n position: \"relative\",\r\n zIndex: 2,\r\n },\r\n globeIconContainer: {\r\n position: \"absolute\",\r\n right: 8,\r\n bottom: 30,\r\n zIndex: 1,\r\n height: 48,\r\n width: 48,\r\n \"@media (max-width: 600px)\": {\r\n bottom: 56,\r\n },\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n },\r\n clearButtonContainer: {\r\n position: \"absolute\",\r\n right: 60,\r\n bottom: 12,\r\n // display: \"flex\",\r\n // width: \"100%\",\r\n // justifyContent: \"center\",\r\n },\r\n clearButton: {\r\n backgroundColor: \"#1D2023\",\r\n fontSize: 14,\r\n },\r\n drawerToggleContainer: {\r\n position: \"absolute\",\r\n right: 8,\r\n top: \"40vh\",\r\n backgroundColor: \"#fff\",\r\n borderRadius: 8,\r\n \"@media (max-width: 600px)\": {\r\n display: \"none\",\r\n },\r\n },\r\n collapseDrawerButton: {\r\n backgroundColor: \"#000\",\r\n color: \"#fff\",\r\n borderRadius: 8,\r\n padding: 8,\r\n \"&:hover\": {\r\n color: \"#999\",\r\n },\r\n },\r\n collapseDrawerButtonMobile: {\r\n backgroundColor: \"#000\",\r\n color: \"#fff\",\r\n borderRadius: 8,\r\n padding: 8,\r\n },\r\n drawerToggleMobileOpen: {\r\n position: \"absolute\",\r\n right: 68,\r\n top: heightOfTheWindow - 340,\r\n backgroundColor: \"#fff\",\r\n borderRadius: 8,\r\n \"@media (min-width: 600px)\": {\r\n display: \"none\",\r\n },\r\n },\r\n drawerToggleMobileClosed: {\r\n position: \"absolute\",\r\n right: 68,\r\n bottom: 64,\r\n backgroundColor: \"#fff\",\r\n borderRadius: 8,\r\n \"@media (min-width: 600px)\": {\r\n display: \"none\",\r\n },\r\n },\r\n});\r\n\r\nconst Map = (props) => {\r\n const mapContainerRef = useRef(null);\r\n const mapRef = useRef(null);\r\n const {\r\n state: {\r\n mode: mode,\r\n // drawMode: mapDrawMode,\r\n feature,\r\n point,\r\n polygon,\r\n location,\r\n dataLayer,\r\n tileURL,\r\n tiles,\r\n tileUrlCounter,\r\n fieldId,\r\n },\r\n dispatch,\r\n } = useContext(store);\r\n\r\n const classes = useStyles();\r\n\r\n const { layer, zoom, setZoom, toggleRightDrawer, isRightDrawerOpen } = props;\r\n\r\n const [lng, setLng] = useState(11.1804734);\r\n const [lat, setLat] = useState(60.746268);\r\n\r\n const [map, setMap] = useState(null);\r\n const [draw, setDraw] = useState(null);\r\n\r\n const modeRef = useRef(null);\r\n const drawModeRef = useRef(null);\r\n const [mapDrawMode, setMapDrawMode] = useState(dataLayer.drawMode);\r\n const [showClearButton, setShowClearButton] = useState(false);\r\n\r\n const [fieldIdLocal, setFieldIdLocal] = useState(\"\");\r\n const [localLocation, setLocalLocation] = useState(location);\r\n\r\n let onCreateListener;\r\n\r\n useEffect(() => {\r\n const mapDrawMode = dataLayer.drawMode;\r\n\r\n // if (map && mapDrawMode && drawModeRef.current !== mapDrawMode) {\r\n if (map && mapDrawMode) {\r\n console.log(\"adding draw\");\r\n console.log(\"ee\", mapDrawMode);\r\n const Draw = new MapboxDraw({\r\n displayControlsDefault: false,\r\n modes: Object.assign(\r\n {\r\n draw_single_point: SinglePointMode,\r\n draw_rectangle: DrawRectangle,\r\n },\r\n MapboxDraw.modes\r\n ),\r\n });\r\n\r\n map.addControl(Draw, \"top-left\");\r\n\r\n Draw.changeMode(mapDrawMode);\r\n setDraw(Draw);\r\n drawModeRef.current = mapDrawMode;\r\n return () => {\r\n console.log(\"Removing\");\r\n map.removeControl(Draw);\r\n };\r\n }\r\n if (mapDrawMode != \"draw_rectangle\") {\r\n setShowClearButton(false);\r\n }\r\n }, [dataLayer.drawMode, map, drawModeRef]);\r\n\r\n useEffect(() => {\r\n //Can try using modeRef as well - if that makes this better\r\n\r\n if (dataLayer.api === \"bbox\" || dataLayer.api === \"lowResBBOX\") {\r\n try {\r\n draw && draw.deleteAll();\r\n draw && draw.changeMode(dataLayer.drawMode);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n if (dataLayer.api === \"lowResTile\" && map) {\r\n map.on(\"click\", function (e) {\r\n console.log(e);\r\n var coord = mapboxgl.MercatorCoordinate.fromLngLat(e.lngLat, 0);\r\n console.log(coord);\r\n dispatch({\r\n type: setTile,\r\n payload: {\r\n tile: tilebelt.pointToTile(\r\n e.lngLat.lng,\r\n e.lngLat.lat,\r\n Math.round(map.getZoom()) + 1\r\n ),\r\n },\r\n });\r\n });\r\n }\r\n\r\n // This doesn't work. The else if condition should be executed only when the previous api was coverage\r\n if (dataLayer.api === \"coverage\" && map) {\r\n console.log(\"fly to 2\");\r\n // addPlaceLabelLayers(map);\r\n map.flyTo({ center: [20.6, 34.1], zoom: 1.4 });\r\n } else if (map) {\r\n console.log(\"fly to 1\", location, localLocation);\r\n // removePlaceLabelLayers(map);\r\n\r\n // map.flyTo({\r\n // center: Object.values(locationObj[dataLayer.type])[0].center,\r\n // zoom: Object.values(locationObj[dataLayer.type])[0].zoom,\r\n // }))\r\n const location2 = undefined;\r\n const defaultLocation = Object.values(locationObj[dataLayer.type])[0];\r\n console.log(\"default location of the dataLayer\", defaultLocation.center);\r\n // When datalayer changes this doesn't seem to change\r\n map.getZoom() < 2 &&\r\n (localLocation\r\n ? map.flyTo({\r\n center: localLocation.center,\r\n zoom: localLocation.zoom\r\n ? localLocation.zoom\r\n : mode === \"draw_coverage\"\r\n ? 7\r\n : 14,\r\n })\r\n : map.flyTo({\r\n center: defaultLocation.center,\r\n zoom: defaultLocation.zoom ? defaultLocation.zoom : 14,\r\n }));\r\n }\r\n\r\n if (map) {\r\n if (map && map.getSource(\"tileURL\")) {\r\n console.log(\"removing tileURL\");\r\n map.removeLayer(\"tileURL\");\r\n map.removeSource(\"tileURL\");\r\n }\r\n }\r\n }, [dataLayer.api]);\r\n\r\n useEffect(() => {\r\n console.log(\"tileURL\", tileURL, tileUrlCounter);\r\n if (map && map.getSource(\"tileURL\")) {\r\n console.log(\"removing tileURL\");\r\n map.removeLayer(\"tileURL\");\r\n map.removeSource(\"tileURL\");\r\n }\r\n\r\n if (tileURL && map && dataLayer.api === \"xyz\") {\r\n console.log(\"adding tileURL\");\r\n map.addSource(\"tileURL\", {\r\n type: \"raster\",\r\n tiles: [tileURL],\r\n tileSize: 256,\r\n bounds: [\r\n map.getBounds()._sw.lng,\r\n map.getBounds()._sw.lat,\r\n map.getBounds()._ne.lng,\r\n map.getBounds()._ne.lat,\r\n ],\r\n });\r\n\r\n map.addLayer({\r\n id: \"tileURL\",\r\n source: \"tileURL\",\r\n type: \"raster\",\r\n minzoom: 0,\r\n maxzoom: tiles[2],\r\n layout: { visibility: \"visible\" },\r\n });\r\n }\r\n\r\n if (map && map.getSource(\"bbox-image\")) {\r\n map.removeLayer(\"bbox-image\");\r\n map.removeSource(\"bbox-image\");\r\n }\r\n\r\n if (tileURL && map && dataLayer.api === \"bbox\") {\r\n map.addSource(\"bbox-image\", {\r\n type: \"image\",\r\n url: tileURL,\r\n coordinates: [\r\n polygon[0][0],\r\n polygon[0][1],\r\n polygon[0][2],\r\n polygon[0][3],\r\n ],\r\n });\r\n\r\n map.addLayer({\r\n id: \"bbox-image\",\r\n type: \"raster\",\r\n source: \"bbox-image\",\r\n paint: {\r\n \"raster-opacity\": 1,\r\n },\r\n layout: { visibility: \"visible\" },\r\n });\r\n }\r\n // this doesn't work since the tile url is mostly same. the bounds are going to be the same.\r\n // Either I need to set the bounds from the Drawer, or use some variable that changes everytime generate response is called.\r\n }, [tileURL, tileUrlCounter]);\r\n\r\n useEffect(() => {\r\n const map = new mapboxgl.Map({\r\n container: mapContainerRef.current,\r\n style: mapStyle,\r\n center: [lng, lat],\r\n zoom: zoom,\r\n hash: true,\r\n maxZoom: 17.2,\r\n });\r\n\r\n map.on(\"load\", () => {\r\n map.on(\"zoomend\", (e) => {\r\n setZoom(map.getZoom());\r\n });\r\n\r\n addBaseMapLayers(map);\r\n addPlaceLabelLayers(map);\r\n // map.showTileBoundaries = true;\r\n // map.showCollisionBoxes = true;\r\n\r\n onCreateListener = (e) => {\r\n console.log(\"create\", e.features[0]);\r\n\r\n mapDrawMode === \"draw_single_point\" &&\r\n dispatch({\r\n type: setPoint,\r\n payload: {\r\n point: e.features[0].geometry.coordinates,\r\n },\r\n });\r\n\r\n mapDrawMode === \"draw_rectangle\" &&\r\n dispatch({\r\n type: setPolygon,\r\n payload: {\r\n polygon: e.features[0].geometry.coordinates,\r\n },\r\n });\r\n if (mapDrawMode === \"draw_rectangle\") {\r\n setShowClearButton(true);\r\n }\r\n };\r\n\r\n map.on(\"draw.create\", onCreateListener);\r\n\r\n dispatch({\r\n type: setAPI,\r\n payload: {\r\n api: \"point\",\r\n drawMode: \"draw_single_point\",\r\n },\r\n });\r\n map.loadImage(\"./Group.png\", function (error, image) {\r\n console.log(\"XXXXXXX\");\r\n if (error) {\r\n console.log(error);\r\n } else {\r\n map.addImage(\"coverageMarker\", image, { sdf: true });\r\n }\r\n });\r\n });\r\n\r\n map.addControl(new mapboxgl.NavigationControl(), \"bottom-right\");\r\n map.addControl(\r\n new MapboxGeocoder({\r\n accessToken: mapboxgl.accessToken,\r\n mapboxgl: mapboxgl,\r\n types: \"country,region,district,place,locality,postcode\",\r\n collapsed: true,\r\n marker: {\r\n color: \"#01B075\",\r\n },\r\n })\r\n );\r\n\r\n setMap(map);\r\n mapRef.current = map;\r\n\r\n // Clean up on unmount\r\n return () => map.remove();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const mapDrawMode = dataLayer.drawMode;\r\n console.log(\"mapdrawmode: \", mapDrawMode);\r\n if (map) {\r\n console.log(\"mapdrawMode: map\");\r\n if (onCreateListener) {\r\n map.off(\"draw.create\", onCreateListener);\r\n }\r\n onCreateListener = (e) => {\r\n console.log(\"create\", e.features[0]);\r\n console.log(mapDrawMode);\r\n\r\n mapDrawMode === \"draw_single_point\" &&\r\n dispatch({\r\n type: setPoint,\r\n payload: {\r\n point: e.features[0].geometry.coordinates,\r\n },\r\n });\r\n\r\n mapDrawMode === \"draw_rectangle\" &&\r\n dispatch({\r\n type: setPolygon,\r\n payload: {\r\n polygon: e.features[0].geometry.coordinates,\r\n },\r\n });\r\n if (mapDrawMode === \"draw_rectangle\") {\r\n setShowClearButton(true);\r\n }\r\n };\r\n\r\n map.on(\"draw.create\", onCreateListener);\r\n\r\n console.log(\"mapdrawMode: attaching Listener\", onCreateListener);\r\n\r\n map.on(\"draw.delete\", (e) => {\r\n console.log(\"del\", e.features[0]);\r\n });\r\n map.on(\"draw.update\", (e) => {\r\n console.log(\"update\", e);\r\n });\r\n }\r\n }, [dataLayer.drawMode]);\r\n\r\n useEffect(() => {\r\n console.log(\"feature\");\r\n let hoveredField = null;\r\n if (map) {\r\n //Remove previously added feature if it is present\r\n if (map.getSource(\"feature\")) {\r\n console.log(\"removing\");\r\n map.removeLayer(\"feature\");\r\n if (map.getLayer(\"markers\")) {\r\n map.removeLayer(\"markers\");\r\n }\r\n map.removeLayer(\"feature-line\");\r\n if (map.getLayer(\"feature-text\")) {\r\n //The layers added to show 'View DR Image' and 'The Area is in development' in DR coverage\r\n map.removeLayer(\"feature-text\");\r\n map.removeLayer(\"feature-link\");\r\n map.removeLayer(\"feature-text2\");\r\n if (map.getLayer(\"feature-text3\")) map.removeLayer(\"feature-text3\");\r\n }\r\n map.removeSource(\"feature\");\r\n\r\n if (map.getSource(\"selected-feature-timeseries\")) {\r\n map.removeLayer(\"selected-feature-timeseries\");\r\n map.removeSource(\"selected-feature-timeseries\");\r\n }\r\n }\r\n\r\n if (feature && feature.type) {\r\n console.log(\"adding feature\", dataLayer.api);\r\n map.addSource(\"feature\", {\r\n type: \"geojson\",\r\n data: feature,\r\n generateId: dataLayer.api === \"coverage\" ? true : false,\r\n });\r\n\r\n // if (dataLayer.api === \"coverage\") {\r\n // map.addLayer({\r\n // id: \"feature\",\r\n // type: \"fill\",\r\n // source: \"feature\",\r\n // paint: {\r\n // \"fill-color\": [\r\n // \"match\",\r\n // [\"get\", \"status\"],\r\n // \"archived\",\r\n // [\r\n // [\"boolean\", [\"feature-state\", \"hover\"], false],\r\n // \"rgba(234, 137, 29,0.8)\",\r\n // \"rgba(234, 137, 29,0.3)\",\r\n // ],\r\n // \"rgba(255,255,255,0.3)\",\r\n // ],\r\n // },\r\n // });\r\n // } else {\r\n map.addLayer({\r\n id: \"feature\",\r\n type: \"fill\",\r\n source: \"feature\",\r\n paint: {\r\n \"fill-color\": [\r\n \"case\",\r\n [\"boolean\", [\"feature-state\", \"hover\"], false],\r\n dataLayer.api === \"coverage\"\r\n ? \"rgba(255, 255, 255, 0.8)\"\r\n : \"rgba(255,255,255,0.3)\",\r\n \"rgba(255,255,255,0.3)\",\r\n ],\r\n },\r\n });\r\n // }\r\n map.addLayer({\r\n id: \"feature-line\",\r\n type: \"line\",\r\n source: \"feature\",\r\n paint: {\r\n \"line-width\": dataLayer.api === \"coverage\" ? 3 : 2,\r\n \"line-color\": [\r\n \"match\",\r\n [\"get\", \"status\"],\r\n \"archived\",\r\n \"#EA891D\",\r\n \"#fff\",\r\n ],\r\n },\r\n });\r\n\r\n if (\r\n dataLayer.api === \"coverage\" &&\r\n (dataLayer.type === \"delineatedFields\" ||\r\n dataLayer.type === \"timeSeries\")\r\n ) {\r\n feature.features && console.log(feature.features);\r\n const paintStyle =\r\n dataLayer.type === \"delineatedFields\"\r\n ? {\r\n \"icon-color\": [\r\n \"match\", // Use the 'match' expression: https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions-match\r\n [\"get\", \"delineation_status\"], // Use the result 'STORE_TYPE' property\r\n \"done\",\r\n \"#01B075\",\r\n \"in development\",\r\n \"#FF8C00\",\r\n \"#FF0000\",\r\n ],\r\n }\r\n : { \"icon-color\": \"#01B075\" };\r\n\r\n map.addLayer({\r\n id: \"markers\",\r\n type: \"symbol\",\r\n source: \"feature\",\r\n minzoom: 0,\r\n maxzoom: 5.4,\r\n layout: {\r\n \"icon-image\": \"coverageMarker\",\r\n },\r\n paint: paintStyle,\r\n });\r\n map.on(\"click\", \"markers\", function (e) {\r\n console.log(e.features[0].id);\r\n\r\n map.getZoom() < 5.4 && map.flyTo({ center: e.lngLat, zoom: 5.4 });\r\n });\r\n } else if (\r\n dataLayer.api === \"coverage\" &&\r\n dataLayer.type !== \"delineatedFields\"\r\n ) {\r\n map.addLayer({\r\n id: \"feature-text\",\r\n type: \"symbol\",\r\n source: \"feature\",\r\n layout: {\r\n \"text-field\": [\"get\", \"mgrs_tile\"],\r\n \"text-justify\": \"center\",\r\n \"text-anchor\": \"top\",\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 0,\r\n 0,\r\n 2,\r\n 0,\r\n 4,\r\n 6,\r\n 6,\r\n 12,\r\n 8,\r\n 14,\r\n ],\r\n },\r\n paint: {\r\n \"text-color\": \"#fff\",\r\n },\r\n });\r\n map.addLayer({\r\n id: \"feature-link\",\r\n type: \"symbol\",\r\n source: \"feature\",\r\n layout: {\r\n \"text-justify\": \"center\",\r\n \"text-anchor\": \"top\",\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 0,\r\n 0,\r\n 2,\r\n 0,\r\n 4,\r\n 6,\r\n 6,\r\n 12,\r\n 8,\r\n 14,\r\n ],\r\n \"text-font\": [\"Open Sans Bold\"],\r\n },\r\n paint: {\r\n \"text-color\": [\r\n \"case\",\r\n [\"boolean\", [\"feature-state\", \"hover\"], false],\r\n \"#01B075\",\r\n \"rgba(0, 152, 200, 0)\",\r\n ],\r\n \"text-translate\": [0, -20],\r\n },\r\n filter: [\"!=\", [\"get\", \"status\"], \"upcoming\"],\r\n });\r\n map.addLayer({\r\n id: \"feature-text2\",\r\n type: \"symbol\",\r\n source: \"feature\",\r\n layout: {\r\n \"text-field\": [\r\n \"format\",\r\n \"Archived\",\r\n { \"font-scale\": 1.2 },\r\n \"\\n\\n\",\r\n { \"font-scale\": 0.4 },\r\n [\"get\", \"mgrs_tile\"],\r\n {\r\n \"font-scale\": 0.9,\r\n },\r\n ],\r\n\r\n \"text-justify\": \"center\",\r\n \"text-anchor\": \"top\",\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 0,\r\n 0,\r\n 2,\r\n 0,\r\n 4,\r\n 6,\r\n 6,\r\n 12,\r\n 8,\r\n 14,\r\n ],\r\n \"text-font\": [\"Open Sans Bold\"],\r\n },\r\n paint: {\r\n \"text-color\": [\r\n \"case\",\r\n [\"boolean\", [\"feature-state\", \"hover\"], false],\r\n \"#EA891D\",\r\n \"rgba(0, 152, 200, 0)\",\r\n ],\r\n \"text-translate\": [0, -20],\r\n },\r\n\r\n filter: [\"==\", [\"get\", \"status\"], \"archived\"],\r\n });\r\n\r\n map.addLayer({\r\n id: \"feature-text3\",\r\n type: \"symbol\",\r\n source: \"feature\",\r\n layout: {\r\n \"text-field\": [\r\n \"format\",\r\n \"Available\",\r\n { \"font-scale\": 1.2 },\r\n \"\\n\\n\",\r\n { \"font-scale\": 0.4 },\r\n [\"get\", \"mgrs_tile\"],\r\n {\r\n \"font-scale\": 0.9,\r\n },\r\n ],\r\n\r\n \"text-justify\": \"center\",\r\n \"text-anchor\": \"top\",\r\n \"text-size\": [\r\n \"interpolate\",\r\n [\"linear\"],\r\n [\"zoom\"],\r\n 0,\r\n 0,\r\n 2,\r\n 0,\r\n 4,\r\n 6,\r\n 6,\r\n 12,\r\n 8,\r\n 14,\r\n ],\r\n \"text-font\": [\"Open Sans Bold\"],\r\n },\r\n paint: {\r\n \"text-color\": [\r\n \"case\",\r\n [\"boolean\", [\"feature-state\", \"hover\"], false],\r\n \"#01B075\",\r\n \"rgba(0, 152, 200, 0)\",\r\n ],\r\n \"text-translate\": [0, -20],\r\n },\r\n\r\n filter: [\"==\", [\"get\", \"status\"], \"ready\"],\r\n });\r\n\r\n map.on(\"mousemove\", \"feature\", (e) => {\r\n const layerId = \"feature\";\r\n if (e.features.length > 0) {\r\n if (hoveredField) {\r\n map.setFeatureState(\r\n { source: layerId, id: hoveredField },\r\n { hover: false }\r\n );\r\n }\r\n const newHoveredField = e.features[0].id;\r\n map.setFeatureState(\r\n { source: \"feature\", id: newHoveredField },\r\n { hover: true }\r\n );\r\n hoveredField = newHoveredField;\r\n }\r\n });\r\n map.on(\"mouseleave\", \"feature\", (e) => {\r\n if (hoveredField) {\r\n map.setFeatureState(\r\n { source: \"feature\", id: hoveredField },\r\n { hover: false }\r\n );\r\n }\r\n hoveredField = null;\r\n });\r\n }\r\n map.on(\"click\", \"feature\", function (e) {\r\n if (\r\n dataLayer.api === \"lowResBBOX\" ||\r\n dataLayer.api === \"lowResTile\"\r\n ) {\r\n console.log(e.features);\r\n dispatch({\r\n type: setFieldId,\r\n payload: {\r\n fieldId: e.features[0].properties.id,\r\n },\r\n });\r\n\r\n if (dataLayer.type === \"timeSeries\") {\r\n if (map.getSource(\"selected-feature-timeseries\")) {\r\n map.removeLayer(\"selected-feature-timeseries\");\r\n map.removeSource(\"selected-feature-timeseries\");\r\n }\r\n map.addSource(\"selected-feature-timeseries\", {\r\n type: \"geojson\",\r\n data: {\r\n ...feature,\r\n features: feature.features.filter(\r\n (feature) => feature.id === e.features[0].properties.id\r\n ),\r\n },\r\n });\r\n\r\n map.addLayer({\r\n id: \"selected-feature-timeseries\",\r\n type: \"fill\",\r\n source: \"selected-feature-timeseries\",\r\n paint: {\r\n \"fill-color\": \"rgba(234, 137, 29, 0.8)\",\r\n },\r\n });\r\n }\r\n } else if (\r\n mode === \"draw_coverage\" &&\r\n dataLayer.type === \"delineatedFields\"\r\n ) {\r\n map.getZoom() < 5.4 && map.flyTo({ center: e.lngLat, zoom: 5.4 });\r\n } else if (\r\n mode === \"draw_coverage\" &&\r\n dataLayer.type === \"deepResImages\"\r\n ) {\r\n // Needs to be source date.\r\n const availableDates =\r\n e.features[0].properties.availableDates &&\r\n JSON.parse(e.features[0].properties.availableDates);\r\n if (availableDates && availableDates[0].s3_cog) {\r\n const s2FileName = availableDates[0].s3_cog.split(\"//\")[1];\r\n const center = turf.center(e.features[0].geometry);\r\n const s2L2AFileName = s2FileName\r\n .replace(\"/dr/\", \"/L2A/\")\r\n .replace(\"S2_DR_T\", \"S2_L2A_\")\r\n .replace(\"S2_DR\", \"S2_L2A\")\r\n .replace(\"_cog.tif\", \"_rgb_cog.tif\");\r\n console.log(s2FileName, s2L2AFileName);\r\n\r\n const fileUrl = `https://demo-time-slider.s3.eu-central-1.amazonaws.com/index.html?leftFilename=${s2L2AFileName}&rightFilename=${s2FileName}&leftNames=L2AFile&rightNames=Deeply Resolved#14/${center.geometry.coordinates[1]}/${center.geometry.coordinates[0]}`;\r\n window.open(fileUrl, \"_blank\");\r\n } else {\r\n }\r\n }\r\n });\r\n\r\n if (dataLayer.api === \"lowResBBOX\") {\r\n try {\r\n draw.deleteAll();\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n }\r\n }, [feature]);\r\n\r\n useEffect(() => {\r\n if (\r\n draw &&\r\n point &&\r\n point.length &&\r\n dataLayer.drawMode === \"draw_single_point\"\r\n ) {\r\n let featureCollection = draw.getAll();\r\n featureCollection.features[0].geometry.coordinates = [\r\n parseFloat(point[0]),\r\n parseFloat(point[1]),\r\n ];\r\n\r\n draw.set(featureCollection);\r\n }\r\n }, [point]);\r\n\r\n // This is to set the draw rectangle on the map\r\n useEffect(() => {\r\n if (\r\n draw &&\r\n polygon &&\r\n polygon.length &&\r\n dataLayer.drawMode === \"draw_rectangle\"\r\n ) {\r\n let featureCollection = draw.getAll();\r\n\r\n !featureCollection.features.length &&\r\n (featureCollection.features = [\r\n {\r\n type: \"Feature\",\r\n geometry: { coordinates: [], type: \"Polygon\" },\r\n properties: {},\r\n },\r\n ]);\r\n\r\n featureCollection.features[0].geometry.coordinates = polygon;\r\n draw.set(featureCollection);\r\n }\r\n }, [polygon]);\r\n\r\n useEffect(() => {\r\n if (map && location) {\r\n console.log(\"fly to location\", location);\r\n setLocalLocation(location);\r\n map.flyTo({\r\n center: location.center,\r\n zoom: location.zoom ? location.zoom : mode === \"draw_coverage\" ? 7 : 14,\r\n });\r\n }\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n if (map && dataLayer) {\r\n if (\r\n dataLayer.type === \"delineatedFields\" ||\r\n dataLayer.type === \"timeSeries\"\r\n ) {\r\n turnOnBaseMapLayers(map);\r\n } else {\r\n turnOffBaseMapLayers(map);\r\n }\r\n }\r\n }, [dataLayer]);\r\n\r\n const toggleBaseLayer = () => {\r\n if (map.getLayer(\"basemap_sat\")) {\r\n const visibiltyofSatLayer = map.getLayoutProperty(\r\n \"basemap_sat\",\r\n \"visibility\"\r\n );\r\n if (visibiltyofSatLayer === \"visible\") {\r\n map.setLayoutProperty(\"basemap_basic\", \"visibility\", \"visible\");\r\n map.setLayoutProperty(\"basemap_sat\", \"visibility\", \"none\");\r\n } else {\r\n map.setLayoutProperty(\"basemap_basic\", \"visibility\", \"none\");\r\n map.setLayoutProperty(\"basemap_sat\", \"visibility\", \"visible\");\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n map && map.resize();\r\n }, [isRightDrawerOpen]);\r\n\r\n useEffect(() => {\r\n // Maybe once we need to do this without panning. i.e immediately after the mode is changed\r\n console.log(\"dataLayer/mode changed\", dataLayer);\r\n if (dataLayer.api === \"xyz\" && map && dataLayer.type === \"deepResImages\") {\r\n const tilesArray = getTilesForCurrentBounds(map);\r\n const tiles = [\r\n tilesArray.map((tile) => tile[0]),\r\n tilesArray.map((tile) => tile[1]),\r\n tilesArray[0][2],\r\n ];\r\n console.log(tilesArray);\r\n dispatch({\r\n type: setTiles,\r\n payload: {\r\n tiles: tiles,\r\n },\r\n });\r\n\r\n map.on(\"moveend\", function (e) {\r\n console.log(e);\r\n if (\r\n dataLayer.api === \"xyz\" &&\r\n map &&\r\n dataLayer.type === \"deepResImages\"\r\n ) {\r\n const tilesArray = getTilesForCurrentBounds(map);\r\n console.log(tilesArray);\r\n const tiles = [\r\n tilesArray.map((tile) => tile[0]),\r\n tilesArray.map((tile) => tile[1]),\r\n tilesArray[0][2],\r\n ];\r\n\r\n dispatch({\r\n type: setTiles,\r\n payload: {\r\n tiles: tiles,\r\n },\r\n });\r\n }\r\n });\r\n }\r\n }, [dataLayer]);\r\n\r\n useEffect(() => {\r\n // console.log();\r\n if (map) {\r\n const geojsonSource = map.getSource(\"selected-feature-timeseries\");\r\n if (map.getSource(\"selected-feature-timeseries\") && !fieldId) {\r\n map.removeLayer(\"selected-feature-timeseries\");\r\n map.removeSource(\"selected-feature-timeseries\");\r\n }\r\n }\r\n }, [fieldId]);\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 {showClearButton && (\r\n {\r\n draw.deleteAll();\r\n dispatch({\r\n type: setDrawMode,\r\n payload: {\r\n drawMode: \"draw_rectangle\",\r\n },\r\n });\r\n draw.changeMode(\"draw_rectangle\");\r\n }}\r\n >\r\n Clear\r\n \r\n )}\r\n
\r\n\r\n
\r\n \r\n {isRightDrawerOpen ? : }\r\n \r\n
\r\n \r\n \r\n {isRightDrawerOpen ? : }\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Map;\r\n","import { Button, Drawer, makeStyles } from \"@material-ui/core\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { GlobeIcon, PointerIcon, BBoxIcon, CoverageIcon } from \"../icons\";\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: 380,\r\n backgroundColor: \"#F8F9FA\",\r\n fontSize: 14,\r\n },\r\n infoRoot: {\r\n padding: \"24px 20px\",\r\n boxSizing: \"border-box\",\r\n color: \"#949EA7\",\r\n backgroundColor: \"#fff\",\r\n \"& h3\": {\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n marginTop: 24,\r\n },\r\n },\r\n apiType: {\r\n display: \"flex\",\r\n margin: \"24px 0\",\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n \"& path\": {\r\n stroke: \"#01B075\",\r\n },\r\n },\r\n apiInfo: {\r\n paddingLeft: 8,\r\n \"& h4\": {\r\n marginTop: 0,\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n },\r\n },\r\n mt8: {\r\n marginTop: 8,\r\n },\r\n delinationTitle: {\r\n fontSize: 18,\r\n fontWeight: 600,\r\n color: \"#1D2023\",\r\n marginBottom: 8,\r\n },\r\n discoverButton: {\r\n display: \"inline-block\",\r\n backgroundColor: \"#01B075\",\r\n color: \"#fff\",\r\n borderRadius: 4,\r\n textTransform: \"capitalize\",\r\n lineHeight: \"28px\",\r\n fontWeight: 600,\r\n padding: \"6px 24px\",\r\n marginTop: 24,\r\n textDecoration: \"none\",\r\n },\r\n email: {\r\n color: \"#01B075\",\r\n fontSize: 16,\r\n fontWeight: 600,\r\n textDecoration: \"underline\",\r\n },\r\n getInTouch: {\r\n color: \"#1D2023\",\r\n marginBottom: 4,\r\n lineHeight: \"24px\",\r\n fontSize: 16,\r\n },\r\n logo: {\r\n height: 36,\r\n },\r\n});\r\n\r\nconst LeftDrawer = (props) => {\r\n const classes = useStyles();\r\n const { open, onClose } = props;\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

3 types of API queries

\r\n
\r\n We can serve our field boundaries data via API so you can integrate\r\n it withing your application.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

By Field ID

\r\n We serve low res (simplified) boundaries inside a bbox or as\r\n vector tiles, so they can be displayed on a map in your app. After\r\n click the app queries our API with ID of the clicked field. Our\r\n API returns the field boundary in high res.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

By Point

\r\n Click on a map in your app, it makes a query to our API with\r\n latitude / longitude of the point and our API returns field\r\n boundary geojson data around that point.\r\n
\r\n
\r\n
\r\n
\r\n {\" \"}\r\n
\r\n
\r\n

By Bbox

\r\n User draws a polygon on a map and our API returns all field\r\n boundaries in that bbox.\r\n
\r\n
\r\n
\r\n
\r\n {\" \"}\r\n
\r\n
\r\n

Coverage

\r\n Returns polygons representing the areas where we have data.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Automatic Field Delineation Model\r\n
\r\n
\r\n We have developed state-of-the-art deep neural network model for\r\n Field Delineation (automatic detection of field boundaries and\r\n seeded acres).\r\n
\r\n \r\n Discover\r\n \r\n

\r\n For any questions please get in touch\r\n

\r\n
hello@digifarm.io
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default LeftDrawer;\r\n","// const domain = \"https://f3ad9fyuu0.execute-api.eu-central-1.amazonaws.com\";\r\n// const api_version = \"development\";\r\nconst domain = \"https://api.digifarm.io\";\r\nconst api_version = \"v1\";\r\n\r\nconst params = new URLSearchParams(window.location.search);\r\nconst showDRAPI = params.get(\"showDRAPI\")\r\n ? params.get(\"showDRAPI\") === \"true\"\r\n : false;\r\nconst showTimeSeries =\r\n params.get(\"showTimeSeries\") && params.get(\"showTimeSeries\") === \"true\"\r\n ? true\r\n : false;\r\n// This stuff should taken appropraitely based on the npm run deploy:env command and should not have to be edited here.\r\n// Also even by the url of the deployed app, it should be able to determine the environment and the version of the API to use.\r\nexport { domain };\r\nexport { api_version };\r\nexport { showDRAPI };\r\nexport { showTimeSeries };\r\n","import { GlobeFinanceIcon } from \"../icons\";\r\nimport { makeStyles } from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles({\r\n email: {\r\n color: \"#01B075\",\r\n fontWeight: 600,\r\n textDecoration: \"underline\",\r\n display: \"inline\",\r\n },\r\n disclaimer: {\r\n boxShadow: \"0px 2px 8px rgba(0, 0, 0, 0.08)\",\r\n borderRadius: 8,\r\n padding: 12,\r\n marginTop: 24,\r\n display: \"flex\",\r\n color: \"#1D2023\",\r\n alignItems: \"center\",\r\n },\r\n disclaimerIconSection: {\r\n padding: 12,\r\n backgroundColor: \"#FDF5EC\",\r\n borderRadius: 8,\r\n marginRight: 8,\r\n },\r\n disclaimerIcon: {\r\n fill: \"none\",\r\n },\r\n});\r\nconst Disclaimer = (props) => {\r\n const classes = useStyles();\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Our Sandbox API only lets you query boundaries within a small sample\r\n area of each region. If you’d like to query boundaries in any of our\r\n regions, get in touch with us at{\" \"}\r\n \r\n hello@digifarm.io{\" \"}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Disclaimer;\r\n","function fallbackCopyTextToClipboard(text) {\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.value = text;\r\n \r\n // Avoid scrolling to bottom\r\n textArea.style.top = \"0\";\r\n textArea.style.left = \"0\";\r\n textArea.style.position = \"fixed\";\r\n \r\n document.body.appendChild(textArea);\r\n textArea.focus();\r\n textArea.select();\r\n \r\n try {\r\n var successful = document.execCommand('copy');\r\n var msg = successful ? 'successful' : 'unsuccessful';\r\n console.log('Fallback: Copying text command was ' + msg);\r\n } catch (err) {\r\n console.error('Fallback: Oops, unable to copy', err);\r\n }\r\n \r\n document.body.removeChild(textArea);\r\n }\r\n function copyTextToClipboard(text) {\r\n if (!navigator.clipboard) {\r\n fallbackCopyTextToClipboard(text);\r\n return;\r\n }\r\n navigator.clipboard.writeText(text).then(function() {\r\n console.log('Async: Copying to clipboard was successful!');\r\n }, function(err) {\r\n console.error('Async: Could not copy text: ', err);\r\n });\r\n }\r\n\r\n export default copyTextToClipboard;","import { Button, makeStyles } from \"@material-ui/core\";\r\nimport copyToClipboard from \"../util/copyToClipboard\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nconst useStyles = makeStyles({\r\n mt8: {\r\n marginTop: 8,\r\n },\r\n\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n responseJsonContainer: {\r\n position: \"relative\",\r\n },\r\n responseJson: {\r\n backgroundColor: \"#EEEFF1\",\r\n borderRadius: 4,\r\n padding: \"8px 16px\",\r\n maxHeight: 520,\r\n overflowY: \"scroll\",\r\n maxWidth: 440,\r\n \"& pre\": {\r\n maxWidth: \"100%\",\r\n },\r\n },\r\n\r\n copyButton: {\r\n position: \"absolute\",\r\n top: 16,\r\n right: 16,\r\n textTransform: \"capitalize\",\r\n borderRadius: 4,\r\n backgroundColor: \"#E5F7F1\",\r\n \"@media (max-width: 600px)\": {\r\n position: \"static\",\r\n marginBottom: 8,\r\n },\r\n \"&:hover\": {\r\n backgroundColor: \"#E5F7F1\",\r\n },\r\n },\r\n downloadButton: {\r\n position: \"absolute\",\r\n top: 60,\r\n right: 16,\r\n textTransform: \"capitalize\",\r\n borderRadius: 4,\r\n backgroundColor: \"#E5F7F1\",\r\n \"@media (max-width: 600px)\": {\r\n position: \"static\",\r\n marginBottom: 8,\r\n },\r\n \"&:hover\": {\r\n backgroundColor: \"#E5F7F1\",\r\n },\r\n },\r\n});\r\n\r\nconst ResponseDisplay = (props) => {\r\n const classes = useStyles();\r\n const { responseJson, responseStatus } = props;\r\n\r\n const copyContent = () => {\r\n copyToClipboard(JSON.stringify(responseJson));\r\n };\r\n const downloadGeoJSON = () => {\r\n const blob = new Blob([JSON.stringify(responseJson, null, 2)], {\r\n type: \"application/json\",\r\n });\r\n saveAs(blob, \"Response.json\");\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {responseStatus === 200 && (\r\n <>\r\n \r\n Copy to clipboard\r\n \r\n \r\n Save as GeoJSON\r\n \r\n \r\n )}\r\n {responseJson &&
{JSON.stringify(responseJson, null, 2)}
}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ResponseDisplay;\r\n","import { makeStyles } from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles({\r\n responseContainer: {\r\n display: \"flex\",\r\n marginBottom: 16,\r\n fontWeight: 700,\r\n },\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n rightContainer: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n color: \"#1D2023\",\r\n \"& h6\": {\r\n marginBottom: 16,\r\n },\r\n },\r\n url: {\r\n color: \"#EA891D\",\r\n },\r\n});\r\n\r\nconst UrlDisplay = (props) => {\r\n const classes = useStyles();\r\n const { requestUrl } = props;\r\n\r\n return (\r\n <>\r\n
\r\n
Curl
\r\n
\r\n curl -X GET\r\n
\"{requestUrl}\"   -H\r\n accept: application/json\r\n
\r\n
\r\n
\r\n
Request Url
\r\n
\r\n {requestUrl}\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default UrlDisplay;\r\n","import { makeStyles, TextField } from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles({\r\n inputRoot: {\r\n borderRadius: 4,\r\n },\r\n\r\n shrinkLabel: {\r\n fontSize: 14,\r\n },\r\n});\r\n\r\nconst InputField = (props) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n","import {\r\n Button,\r\n FilledInput,\r\n makeStyles,\r\n TextField,\r\n FormControlLabel,\r\n Radio,\r\n RadioGroup,\r\n} from \"@material-ui/core\";\r\nimport React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { store } from \"../contexts/store\";\r\nimport { setFeature, setMode, setPoint } from \"../contexts/actions\";\r\nimport debounce from \"lodash.debounce\";\r\n\r\nimport { domain, api_version } from \"../config\";\r\nimport Disclaimer from \"./Disclaimer\";\r\nimport ResponseDisplay from \"./ResponseDisplay\";\r\nimport UrlDisplay from \"./UrlDisplay\";\r\nimport InputField from \"./InputField\";\r\n\r\nconst useStyles = makeStyles({\r\n info: {\r\n padding: \"24px 20px\",\r\n boxSizing: \"border-box\",\r\n color: \"#949EA7\",\r\n backgroundColor: \"#fff\",\r\n marginBottom: 8,\r\n \"& h3\": {\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n },\r\n \"& h4\": {\r\n color: \"#1D2023\",\r\n fontSize: 18,\r\n lineHeight: \"24px\",\r\n fontWeight: 600,\r\n margin: 0,\r\n },\r\n \"& h6\": {\r\n color: \"#1D2023\",\r\n fontSize: 14,\r\n lineHeight: \"20px\",\r\n fontWeight: 700,\r\n margin: 0,\r\n },\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n },\r\n\r\n mt8: {\r\n marginTop: 8,\r\n },\r\n\r\n discoverButton: {\r\n backgroundColor: \"#01B075\",\r\n color: \"#fff\",\r\n borderRadius: 4,\r\n textTransform: \"capitalize\",\r\n lineHeight: \"28px\",\r\n fontWeight: 600,\r\n padding: \"6px 24px\",\r\n marginTop: 24,\r\n },\r\n email: {\r\n color: \"#01B075\",\r\n fontSize: 16,\r\n fontWeight: 600,\r\n textDecoration: \"underline\",\r\n },\r\n getInTouch: {\r\n color: \"#1D2023\",\r\n marginBottom: 4,\r\n lineHeight: \"24px\",\r\n fontSize: 16,\r\n },\r\n flex: {\r\n display: \"flex\",\r\n },\r\n flex1: {\r\n flex: 1,\r\n },\r\n rightContainer: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n color: \"#1D2023\",\r\n \"& h6\": {\r\n marginBottom: 16,\r\n },\r\n },\r\n responseContainer: {\r\n display: \"flex\",\r\n marginBottom: 16,\r\n fontWeight: 700,\r\n marginTop: 16,\r\n },\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n inputRoot: {\r\n borderRadius: 4,\r\n },\r\n generateResp: {\r\n marginTop: 16,\r\n minHeight: 48,\r\n borderRadius: 4,\r\n textTransform: \"capitalize\",\r\n fontWeight: 600,\r\n fontSize: 16,\r\n },\r\n textFields: {\r\n display: \"flex\",\r\n marginTop: 12,\r\n \"@media (max-width: 600px)\": {\r\n flexWrap: \"wrap\",\r\n \"& >div\": {\r\n marginRight: \"0px !important\",\r\n marginBottom: 8,\r\n },\r\n },\r\n },\r\n radioGroupRoot: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginTop: 8,\r\n },\r\n typeOfBiling: {\r\n fontSize: 16,\r\n marginRight: 32,\r\n color: \"#1D2023\",\r\n width: 118,\r\n },\r\n});\r\n\r\nconst PointDrawer = (props) => {\r\n const classes = useStyles();\r\n\r\n const {\r\n state: { mode: mapDrawMode, point },\r\n dispatch,\r\n } = useContext(store);\r\n\r\n const [coordinates, setCoordinates] = useState([]);\r\n\r\n useEffect(() => {\r\n let lng = point && point.length && point[0];\r\n let lat = point && point.length && point[1];\r\n lng && setCoordinates([lng, lat]);\r\n }, [point]);\r\n\r\n useEffect(() => {\r\n const debouncedSave = debounce(\r\n () =>\r\n dispatch({\r\n type: setPoint,\r\n payload: {\r\n point: coordinates,\r\n },\r\n }),\r\n 100\r\n );\r\n\r\n if (point && point.length) {\r\n if (point[0] != coordinates[0] || point[1] != coordinates[1]) {\r\n debouncedSave();\r\n }\r\n }\r\n }, [coordinates]);\r\n\r\n const defaultToken = \"a0731a8c-5259-4c68-af3a-7ad4f6d53faa\";\r\n const [token, setToken] = useState(defaultToken);\r\n const baseUrl = `${domain}/${api_version}`;\r\n\r\n // \"https://2aqfsaq392.execute-api.eu-central-1.amazonaws.com/production\";\r\n // \"https://api.digifarm.io/v1\";\r\n\r\n const [responseJson, setResponseJson] = useState();\r\n const [responseStatus, setResponseStatus] = useState();\r\n const [requestUrl, setRequestUrl] = useState();\r\n const [simplifiedGeometry, setSimplyfiedGeometry] = useState(\"false\");\r\n const [version, setVersion] = useState(\"latest\");\r\n\r\n const handleClick = () => {\r\n const fetchUrl =\r\n baseUrl +\r\n \"/delineated-fields/location\" +\r\n \"?token=\" +\r\n token +\r\n \"&location=\" +\r\n coordinates.join(\",\") +\r\n \"&data_version=\" +\r\n version +\r\n \"&simplified_geometry=\" +\r\n simplifiedGeometry;\r\n setRequestUrl(fetchUrl);\r\n\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n setResponseStatus(response.status);\r\n return response.json();\r\n })\r\n .then((data) => {\r\n setResponseJson(data);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (responseJson) {\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: responseJson,\r\n },\r\n });\r\n }\r\n }, [responseJson]);\r\n\r\n return (\r\n
\r\n
\r\n

/delineated-fields/location

\r\n

Returns the field for the given location

\r\n

Parameters

\r\n {\r\n setToken(e.target.value);\r\n }}\r\n >\r\n
\r\n
Data Version :
\r\n \r\n }\r\n label=\"Latest\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n
\r\n
Simplified Geometry :
\r\n {\r\n setSimplyfiedGeometry(e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"False\"\r\n labelPlacement=\"end\"\r\n />\r\n }\r\n label=\"True\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n
\r\n {\r\n setCoordinates([e.target.value, coordinates[1]]);\r\n }}\r\n >\r\n {\r\n setCoordinates([coordinates[0], e.target.value]);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setVersion(e.target.value);\r\n }}\r\n >\r\n
\r\n
\r\n\r\n \r\n Generate Response\r\n \r\n \r\n
\r\n\r\n {responseStatus && (\r\n
\r\n

Responses

\r\n \r\n
\r\n
{responseStatus}
\r\n
\r\n
\r\n {responseStatus === 200 && \"Successfully fetched\"}{\" \"}\r\n {responseStatus === 404 && \"Field not found at the location\"}\r\n
\r\n \r\n {!responseJson && (\r\n
\r\n Please check the coverage API to see if we have data for the\r\n region you are querying. The test token allows you to query to\r\n the DR API for only a sample area of each region. If you wish\r\n to query outside the sample region shown get in touch with us\r\n at hello@digifarm.io\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default PointDrawer;\r\n","import {\r\n Button,\r\n FilledInput,\r\n FormControlLabel,\r\n makeStyles,\r\n Radio,\r\n RadioGroup,\r\n TextField,\r\n} from \"@material-ui/core\";\r\nimport React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { store } from \"../contexts/store\";\r\nimport { setMode, setFeature, setPolygon } from \"../contexts/actions\";\r\n\r\nimport debounce from \"lodash.debounce\";\r\nimport { domain, api_version } from \"../config\";\r\nimport Disclaimer from \"./Disclaimer\";\r\nimport ResponseDisplay from \"./ResponseDisplay\";\r\nimport UrlDisplay from \"./UrlDisplay\";\r\nimport InputField from \"./InputField\";\r\n\r\nconst useStyles = makeStyles({\r\n info: {\r\n padding: \"24px 20px\",\r\n boxSizing: \"border-box\",\r\n color: \"#949EA7\",\r\n backgroundColor: \"#fff\",\r\n marginBottom: 8,\r\n \"& h3\": {\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n },\r\n \"& h4\": {\r\n color: \"#1D2023\",\r\n fontSize: 18,\r\n lineHeight: \"24px\",\r\n fontWeight: 600,\r\n margin: 0,\r\n },\r\n \"& h6\": {\r\n color: \"#1D2023\",\r\n fontSize: 14,\r\n lineHeight: \"20px\",\r\n fontWeight: 700,\r\n margin: 0,\r\n },\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n },\r\n\r\n mt8: {\r\n marginTop: 8,\r\n },\r\n\r\n flex: {\r\n display: \"flex\",\r\n },\r\n flex1: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n },\r\n rightContainer: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n color: \"#1D2023\",\r\n \"& h6\": {\r\n marginBottom: 16,\r\n },\r\n },\r\n responseContainer: {\r\n display: \"flex\",\r\n marginBottom: 16,\r\n fontWeight: 700,\r\n maxWidth: \"100%\",\r\n marginTop: 16,\r\n },\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n inputRoot: {\r\n borderRadius: 4,\r\n },\r\n generateResp: {\r\n marginTop: 16,\r\n textTransform: \"capitalize\",\r\n },\r\n\r\n textFields: {\r\n display: \"flex\",\r\n marginTop: 12,\r\n },\r\n shrinkLabel: {\r\n fontSize: 14,\r\n },\r\n radioGroupRoot: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginTop: 8,\r\n },\r\n typeOfBiling: {\r\n fontSize: 16,\r\n marginRight: 32,\r\n color: \"#1D2023\",\r\n width: 118,\r\n },\r\n});\r\n\r\nconst BBoxDrawer = (props) => {\r\n const classes = useStyles();\r\n\r\n const {\r\n state: { mode: mapDrawMode, polygon, feature },\r\n dispatch,\r\n } = useContext(store);\r\n\r\n const [bBoxPoints, setBBoxPoints] = useState([]);\r\n const [nextCursor, setNextCursor] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (polygon && polygon[0] && polygon[0].length) {\r\n let maxCallback = (max, cur) =>\r\n Math.max(parseFloat(max), parseFloat(cur));\r\n let minCallback = (max, cur) =>\r\n Math.min(parseFloat(max), parseFloat(cur));\r\n\r\n const minLng = polygon[0]\r\n .map((point) => point[0])\r\n .reduce(minCallback, Infinity);\r\n const maxLng = polygon[0]\r\n .map((point) => point[0])\r\n .reduce(maxCallback, -Infinity);\r\n\r\n const minLat = polygon[0]\r\n .map((point) => point[1])\r\n .reduce(minCallback, Infinity);\r\n const maxLat = polygon[0]\r\n .map((point) => point[1])\r\n .reduce(maxCallback, -Infinity);\r\n\r\n setBBoxPoints([minLng, minLat, maxLng, maxLat]);\r\n }\r\n }, [polygon]);\r\n\r\n const comparePolygonArrays = (array1, array2) => {\r\n return array1.every(\r\n (value, index) =>\r\n value[0] == array2[index][0] && value[1] == array2[index][1]\r\n );\r\n };\r\n\r\n const baseUrl = `${domain}/${api_version}`;\r\n // \"https://2aqfsaq392.execute-api.eu-central-1.amazonaws.com/production\";\r\n // \"https://api.digifarm.io/v1\";\r\n\r\n const [responseJson, setResponseJson] = useState();\r\n const [responseStatus, setResponseStatus] = useState();\r\n const [requestUrl, setRequestUrl] = useState();\r\n const defaultToken = \"a0731a8c-5259-4c68-af3a-7ad4f6d53faa\";\r\n const [token, setToken] = useState(defaultToken);\r\n const [billing, setBilling] = useState(\"by_field\");\r\n const [limit, setLimit] = useState(300);\r\n const [version, setVersion] = useState(\"latest\");\r\n\r\n const handleClick = () => {\r\n const nextCursorParam =\r\n api_version === \"development\" && nextCursor\r\n ? `&cursor=${nextCursor}`\r\n : \"\";\r\n const limitParam =\r\n api_version === \"development\" && limit ? `&limit=${limit}` : \"\";\r\n const fetchUrl =\r\n baseUrl +\r\n \"/delineated-fields\" +\r\n \"?token=\" +\r\n token +\r\n \"&bbox=\" +\r\n bBoxPoints.join(\",\") +\r\n \"&data_version=\" +\r\n version +\r\n \"&billing=\" +\r\n billing +\r\n nextCursorParam +\r\n limitParam;\r\n\r\n const rectangle = [\r\n [\r\n [bBoxPoints[0], bBoxPoints[3]],\r\n [bBoxPoints[2], bBoxPoints[3]],\r\n [bBoxPoints[2], bBoxPoints[1]],\r\n [bBoxPoints[0], bBoxPoints[1]],\r\n [bBoxPoints[0], bBoxPoints[3]],\r\n ],\r\n ];\r\n\r\n if (polygon && polygon.length) {\r\n if (!comparePolygonArrays(rectangle[0], polygon[0])) {\r\n dispatch({\r\n type: setPolygon,\r\n payload: {\r\n polygon: rectangle,\r\n },\r\n });\r\n }\r\n }\r\n\r\n setRequestUrl(fetchUrl);\r\n console.log(fetchUrl);\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n setResponseStatus(response.status);\r\n return response.json();\r\n })\r\n .then((data) => {\r\n setResponseJson(data);\r\n if (api_version === \"development\") {\r\n // nextCursor\r\n // If next cursor is present then take the previous feature and then add the current set of features to it.\r\n // The previous data is a feature collection, the current one will be too.\r\n // let newFeatures =\r\n\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: nextCursor\r\n ? {\r\n type: \"FeatureCollection\",\r\n features: [...feature.features, ...data.geojson.features],\r\n }\r\n : data.geojson,\r\n },\r\n });\r\n data.next_cursor\r\n ? setNextCursor(data.next_cursor)\r\n : setNextCursor(\"\");\r\n } else {\r\n console.log(\"data\", data);\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: data,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

/delineated-fields

\r\n

\r\n {api_version === \"development\"\r\n ? \"Returns GeoJSON of delineated fields in the given bbox. Returned GeoJSON features will be limited to max 300 features or 6 Megabytes. If there are more polygons that match the query than the ones already recieved in the response, next_cursor value present in the response can be used to query the next set of fields by passing it as the value of cursor parameter\"\r\n : \"Returns GeoJSON of delineated fields in the given bbox. Returned GeoJSON features will be limited to max 1000 features. In case you get 1000 features, split the querying bbox further to get complete features.\"}\r\n

\r\n

Parameters

\r\n {\r\n setToken(e.target.value);\r\n }}\r\n >\r\n
\r\n
Type of Billing :
\r\n {\r\n setBilling(e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"by Field\"\r\n labelPlacement=\"end\"\r\n />\r\n }\r\n label=\"by Haa\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n
\r\n
Data Version :
\r\n \r\n }\r\n label=\"Latest\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n\r\n
\r\n {\r\n setBBoxPoints([\r\n parseFloat(e.target.value),\r\n bBoxPoints[1],\r\n bBoxPoints[2],\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n >\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n parseFloat(e.target.value),\r\n bBoxPoints[2],\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n bBoxPoints[1],\r\n parseFloat(e.target.value),\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n >\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n bBoxPoints[1],\r\n bBoxPoints[2],\r\n parseFloat(e.target.value),\r\n ]);\r\n }}\r\n >\r\n
\r\n {api_version === \"development\" ? (\r\n <>\r\n
\r\n {\r\n setLimit(e.target.value);\r\n }}\r\n >\r\n {\r\n setVersion(e.target.value);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setNextCursor(e.target.value);\r\n }}\r\n >\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n Generate Response\r\n \r\n \r\n
\r\n\r\n {responseStatus && (\r\n
\r\n

Responses

\r\n \r\n
\r\n
{responseStatus}
\r\n
\r\n
\r\n {responseStatus === 200 && \"Successfully fetched\"}{\" \"}\r\n {responseStatus === 404 && \"Field not found at the location\"}\r\n
\r\n \r\n {responseJson &&\r\n responseJson.features &&\r\n !responseJson.features.length && (\r\n
\r\n Please check the coverage API to see if we have data for the\r\n region you are querying. The test token allows you to query\r\n to the DR API for only a sample area of each region. If you\r\n wish to query outside the sample region shown get in touch\r\n with us at hello@digifarm.io\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default BBoxDrawer;\r\n","import {\r\n Button,\r\n FilledInput,\r\n FormControl,\r\n FormControlLabel,\r\n Input,\r\n makeStyles,\r\n RadioGroup,\r\n TextField,\r\n Radio,\r\n} from \"@material-ui/core\";\r\nimport React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { store } from \"../contexts/store\";\r\nimport {\r\n setMode,\r\n setDrawMode,\r\n setFeature,\r\n setPolygon,\r\n setFieldId,\r\n setAPI,\r\n} from \"../contexts/actions\";\r\n\r\nimport { saveAs } from \"file-saver\";\r\nimport { VectorTile } from \"@mapbox/vector-tile\";\r\nimport Protobuf from \"pbf\";\r\nimport { domain, api_version } from \"../config\";\r\nimport Disclaimer from \"./Disclaimer\";\r\nimport UrlDisplay from \"./UrlDisplay\";\r\nimport ResponseDisplay from \"./ResponseDisplay\";\r\n\r\nimport InputField from \"./InputField\";\r\n\r\nconst useStyles = makeStyles({\r\n info: {\r\n padding: \"24px 20px\",\r\n boxSizing: \"border-box\",\r\n color: \"#949EA7\",\r\n backgroundColor: \"#fff\",\r\n marginBottom: 8,\r\n \"& h3\": {\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n },\r\n \"& h4\": {\r\n color: \"#1D2023\",\r\n fontSize: 18,\r\n lineHeight: \"24px\",\r\n fontWeight: 600,\r\n margin: 0,\r\n },\r\n \"& h6\": {\r\n color: \"#1D2023\",\r\n fontSize: 14,\r\n lineHeight: \"20px\",\r\n fontWeight: 700,\r\n margin: 0,\r\n },\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n },\r\n flex: {\r\n display: \"flex\",\r\n },\r\n flex1: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n },\r\n rightContainer: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n color: \"#1D2023\",\r\n \"& h6\": {\r\n marginBottom: 16,\r\n },\r\n },\r\n responseContainer: {\r\n display: \"flex\",\r\n marginBottom: 16,\r\n fontWeight: 700,\r\n maxWidth: \"100%\",\r\n marginTop: 16,\r\n },\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n responseJson: {\r\n backgroundColor: \"#EEEFF1\",\r\n borderRadius: 4,\r\n padding: \"8px 16px\",\r\n position: \"relative\",\r\n maxWidth: 420,\r\n minHeight: 100,\r\n maxHeight: 520,\r\n overflowY: \"scroll\",\r\n },\r\n inputRoot: {\r\n borderRadius: 4,\r\n },\r\n generateResp: {\r\n marginTop: 16,\r\n textTransform: \"capitalize\",\r\n },\r\n\r\n downloadButton: {\r\n position: \"absolute\",\r\n top: 60,\r\n right: 16,\r\n textTransform: \"capitalize\",\r\n borderRadius: 4,\r\n \"@media (max-width: 600px)\": {\r\n position: \"static\",\r\n marginBottom: 8,\r\n },\r\n },\r\n textFields: {\r\n display: \"flex\",\r\n marginTop: 12,\r\n },\r\n shrinkLabel: {\r\n fontSize: 14,\r\n },\r\n leftButton: {\r\n textTransform: \"lowercase\",\r\n lineHeight: \"24px\",\r\n padding: \"6px\",\r\n borderRadius: 0,\r\n flex: 1,\r\n border: \"1px solid #01B075\",\r\n color: \"#01B075\",\r\n fontWeight: 600,\r\n borderTopLeftRadius: 8,\r\n borderBottomLeftRadius: 8,\r\n },\r\n rightButton: {\r\n textTransform: \"lowercase\",\r\n lineHeight: \"24px\",\r\n padding: \"6px\",\r\n borderRadius: 0,\r\n flex: 1,\r\n border: \"1px solid #01B075\",\r\n color: \"#01B075\",\r\n fontWeight: 600,\r\n borderTopRightRadius: 8,\r\n borderBottomRightRadius: 8,\r\n },\r\n activeModeButton: {\r\n backgroundColor: \"#01B075\",\r\n color: \"#fff\",\r\n \"&:hover\": {\r\n backgroundColor: \"#01B075\",\r\n color: \"#fff\",\r\n },\r\n },\r\n radioFormControl: {\r\n verticalAlign: \"middle\",\r\n marginLeft: 16,\r\n },\r\n parameters: {\r\n marginTop: \"24px !important\",\r\n },\r\n radioGroupRoot: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginTop: 8,\r\n },\r\n typeOfBiling: {\r\n fontSize: 16,\r\n marginRight: 32,\r\n color: \"#1D2023\",\r\n width: 118,\r\n },\r\n});\r\n\r\nconst baseUrl = `${domain}/${api_version}`;\r\n// \"https://2aqfsaq392.execute-api.eu-central-1.amazonaws.com/production\";\r\n// \"https://api.digifarm.io/v1\";\r\n\r\nconst FieldIdDrawer = (props) => {\r\n const classes = useStyles();\r\n\r\n const {\r\n state: { mode, polygon, tile, fieldId, dataLayer },\r\n dispatch,\r\n } = useContext(store);\r\n\r\n const [bBoxPoints, setBBoxPoints] = useState([]);\r\n const [outputFormat, setOutputFormat] = useState(\"geojson\");\r\n const [tileCoordinates, setTileCoordinates] = useState([]);\r\n const [version, setVersion] = useState(\"latest\");\r\n useEffect(() => {\r\n if (polygon && polygon[0] && polygon[0].length) {\r\n let maxCallback = (max, cur) =>\r\n Math.max(parseFloat(max), parseFloat(cur));\r\n let minCallback = (max, cur) =>\r\n Math.min(parseFloat(max), parseFloat(cur));\r\n\r\n const minLng = polygon[0]\r\n .map((point) => point[0])\r\n .reduce(minCallback, Infinity);\r\n const maxLng = polygon[0]\r\n .map((point) => point[0])\r\n .reduce(maxCallback, -Infinity);\r\n\r\n const minLat = polygon[0]\r\n .map((point) => point[1])\r\n .reduce(minCallback, Infinity);\r\n const maxLat = polygon[0]\r\n .map((point) => point[1])\r\n .reduce(maxCallback, -Infinity);\r\n\r\n setBBoxPoints([minLng, minLat, maxLng, maxLat]);\r\n }\r\n }, [polygon]);\r\n\r\n useEffect(() => {\r\n if (tile && tile.length) {\r\n setTileCoordinates(tile);\r\n }\r\n }, [tile]);\r\n\r\n const comparePolygonArrays = (array1, array2) => {\r\n return array1.every(\r\n (value, index) =>\r\n value[0] == array2[index][0] && value[1] == array2[index][1]\r\n );\r\n };\r\n\r\n const defaultToken = \"a0731a8c-5259-4c68-af3a-7ad4f6d53faa\";\r\n\r\n const [token, setToken] = useState(defaultToken);\r\n const [responseJson, setResponseJson] = useState();\r\n const [responseStatus, setResponseStatus] = useState();\r\n const [requestUrl, setRequestUrl] = useState();\r\n const [fieldIdInput, setFieldIdInput] = useState();\r\n const [fieldResponseJson, setFieldResponseJson] = useState();\r\n const [fieldresponseStatus, setFieldResponseStatus] = useState();\r\n const [fieldRequestUrl, setFieldRequestUrl] = useState();\r\n const [mvtResponse, setMvtResponse] = useState();\r\n const step2DivRef = useRef(null);\r\n const [billing, setBilling] = useState(\"by_field\");\r\n const [simplifiedGeometry, setSimplyfiedGeometry] = useState(\"false\");\r\n const [mapDrawMode, setMapDrawMode] = useState(dataLayer.drawMode);\r\n\r\n useEffect(() => {\r\n setMapDrawMode(dataLayer.drawMode);\r\n }, [dataLayer.drawMode]);\r\n\r\n useEffect(() => {\r\n if (mvtResponse) {\r\n try {\r\n var tile = new VectorTile(new Protobuf(mvtResponse));\r\n\r\n const features = [];\r\n\r\n for (let i = 0; i < tile.layers[\"digifarm\"].length; i++) {\r\n features.push(\r\n tile.layers[\"digifarm\"]\r\n .feature(i)\r\n .toGeoJSON(\r\n tileCoordinates[0],\r\n tileCoordinates[1],\r\n tileCoordinates[2]\r\n )\r\n );\r\n }\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: {\r\n type: \"FeatureCollection\",\r\n features,\r\n },\r\n },\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }, [mvtResponse]);\r\n\r\n const handleClick = () => {\r\n if (mapDrawMode === \"draw_rectangle\") {\r\n const fetchUrl =\r\n baseUrl +\r\n \"/delineated-fields/low-res\" +\r\n \"?token=\" +\r\n token +\r\n \"&bbox=\" +\r\n bBoxPoints.join(\",\") +\r\n \"&data_version=\" +\r\n version;\r\n\r\n const rectangle = [\r\n [\r\n [bBoxPoints[0], bBoxPoints[3]],\r\n [bBoxPoints[2], bBoxPoints[3]],\r\n [bBoxPoints[2], bBoxPoints[1]],\r\n [bBoxPoints[0], bBoxPoints[1]],\r\n [bBoxPoints[0], bBoxPoints[3]],\r\n ],\r\n ];\r\n\r\n if (polygon && polygon.length) {\r\n if (!comparePolygonArrays(rectangle[0], polygon[0])) {\r\n dispatch({\r\n type: setPolygon,\r\n payload: {\r\n polygon: rectangle,\r\n },\r\n });\r\n }\r\n }\r\n\r\n setRequestUrl(fetchUrl);\r\n console.log(fetchUrl);\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n setResponseStatus(response.status);\r\n return response.json();\r\n })\r\n .then((data) => {\r\n setFieldIdInput(\"\");\r\n setFieldResponseStatus(null);\r\n setResponseJson(data);\r\n console.log(data, \"data\");\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: data,\r\n },\r\n });\r\n setTimeout(() => {\r\n step2DivRef.current &&\r\n step2DivRef.current.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"nearest\",\r\n });\r\n }, 200);\r\n });\r\n } else {\r\n if (tileCoordinates.length) {\r\n const fetchUrl =\r\n baseUrl +\r\n \"/delineated-fields/low-res/merc\" +\r\n \"?token=\" +\r\n token +\r\n \"&x=\" +\r\n tileCoordinates[0] +\r\n \"&y=\" +\r\n tileCoordinates[1] +\r\n \"&z=\" +\r\n tileCoordinates[2] +\r\n \"&ext=\" +\r\n outputFormat +\r\n \"&data_version=\" +\r\n version;\r\n\r\n setRequestUrl(fetchUrl);\r\n console.log(fetchUrl);\r\n if (outputFormat === \"mvt\") {\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n setResponseStatus(response.status);\r\n return response.arrayBuffer();\r\n })\r\n .then((buffer) => {\r\n setMvtResponse(buffer);\r\n setTimeout(() => {\r\n step2DivRef.current &&\r\n step2DivRef.current.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"nearest\",\r\n });\r\n }, 200);\r\n });\r\n\r\n return;\r\n }\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n console.log(response);\r\n setResponseStatus(response.status);\r\n\r\n return response.json();\r\n })\r\n .then((data) => {\r\n setFieldIdInput(\"\");\r\n setFieldResponseStatus(null);\r\n setResponseJson(data);\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: data,\r\n },\r\n });\r\n setTimeout(() => {\r\n step2DivRef.current &&\r\n step2DivRef.current.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"nearest\",\r\n });\r\n }, 200);\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fetchByFieldId = () => {\r\n const fetchUrl =\r\n baseUrl +\r\n `/delineated-fields/high-res/${fieldId}` +\r\n \"?token=\" +\r\n token +\r\n \"&data_version=latest\" +\r\n \"&simplified_geometry=\" +\r\n simplifiedGeometry;\r\n setFieldRequestUrl(fetchUrl);\r\n console.log(fetchUrl);\r\n fetch(fetchUrl)\r\n .then((response) => {\r\n setFieldResponseStatus(response.status);\r\n return response.json();\r\n })\r\n .then((data) => {\r\n setFieldResponseJson(data);\r\n dispatch({\r\n type: setFeature,\r\n payload: {\r\n feature: data,\r\n },\r\n });\r\n });\r\n };\r\n\r\n const downloadPbf = () => {\r\n const blob = new Blob([mvtResponse]);\r\n saveAs(\r\n blob,\r\n `${tileCoordinates[0]}_${tileCoordinates[1]}_${tileCoordinates[2]}.pbf`\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n setFieldIdInput(fieldId);\r\n }, [fieldId]);\r\n\r\n return (\r\n
\r\n
\r\n

Step 1. Area selection

\r\n

Returns low resolution fields for the given bbox/tile coordinates

\r\n
\r\n {\r\n setFieldResponseJson(null);\r\n setFieldRequestUrl(\"\");\r\n setFieldResponseStatus(null);\r\n setOutputFormat(\"geojson\");\r\n dispatch({\r\n type: setAPI,\r\n payload: {\r\n api: \"lowResBBOX\",\r\n drawMode: \"draw_rectangle\",\r\n },\r\n });\r\n }}\r\n >\r\n via bounding box\r\n \r\n {\r\n setResponseJson(null);\r\n setRequestUrl(\"\");\r\n setResponseStatus(null);\r\n dispatch({\r\n type: setAPI,\r\n payload: {\r\n api: \"lowResTile\",\r\n drawMode: \"\",\r\n },\r\n });\r\n }}\r\n >\r\n via vector tile\r\n \r\n
\r\n

Parameters

\r\n\r\n {\r\n setToken(e.target.value);\r\n }}\r\n >\r\n
\r\n\r\n {mapDrawMode === \"draw_rectangle\" ? (\r\n <>\r\n
\r\n
\r\n {\r\n setBBoxPoints([\r\n parseFloat(e.target.value),\r\n bBoxPoints[1],\r\n bBoxPoints[2],\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n />\r\n\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n parseFloat(e.target.value),\r\n bBoxPoints[2],\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n bBoxPoints[1],\r\n parseFloat(e.target.value),\r\n bBoxPoints[3],\r\n ]);\r\n }}\r\n >\r\n {\r\n setBBoxPoints([\r\n bBoxPoints[0],\r\n bBoxPoints[1],\r\n bBoxPoints[2],\r\n parseFloat(e.target.value),\r\n ]);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setVersion(e.target.value);\r\n }}\r\n >\r\n
\r\n \r\n Generate Response\r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n {\r\n setTileCoordinates([\r\n parseFloat(e.target.value),\r\n tileCoordinates[1],\r\n tileCoordinates[2],\r\n ]);\r\n }}\r\n >\r\n {\r\n setTileCoordinates([\r\n tileCoordinates[0],\r\n parseFloat(e.target.value),\r\n tileCoordinates[2],\r\n ]);\r\n }}\r\n >\r\n {\r\n setTileCoordinates([\r\n tileCoordinates[0],\r\n tileCoordinates[1],\r\n parseFloat(e.target.value),\r\n ]);\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setVersion(e.target.value);\r\n }}\r\n >\r\n
\r\n
\r\n Type of Output:\r\n \r\n {\r\n setOutputFormat(e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"GeoJson\"\r\n />\r\n }\r\n label=\"MVT\"\r\n />\r\n \r\n \r\n
\r\n Use \"digifarm\" as the source layer when using as a vector layer\r\n in mapbox\r\n
\r\n
\r\n \r\n Generate Response for Step 1\r\n \r\n \r\n
\r\n \r\n )}\r\n {responseStatus && (\r\n <>\r\n
\r\n

Responses

\r\n \r\n
\r\n
{responseStatus}
\r\n
\r\n {outputFormat === \"mvt\" && responseStatus !== 204 ? (\r\n
\r\n <>\r\n {\r\n downloadPbf(mvtResponse);\r\n }}\r\n className={classes.downloadButton}\r\n >\r\n Save as file\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n {((responseJson &&\r\n responseJson.features &&\r\n !responseJson.features.length &&\r\n outputFormat !== \"mvt\") ||\r\n (outputFormat === \"mvt\" && responseStatus === 204)) && (\r\n
\r\n Please check the coverage API to see if we have data for the\r\n region you are querying. The test token allows you to query\r\n to the DR API for only a sample area of each region. If you\r\n wish to query outside the sample region shown get in touch\r\n with us at hello@digifarm.io\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

Step 2. Field boundary selection

\r\n

Returns the high resolution polygon for the given field id

\r\n {\r\n dispatch({\r\n type: setFieldId,\r\n payload: {\r\n fieldId: e.target.value,\r\n },\r\n });\r\n }}\r\n >\r\n
\r\n
Data Version :
\r\n \r\n }\r\n label=\"Latest\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n
\r\n
Simplified Geometry :
\r\n {\r\n setSimplyfiedGeometry(e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"False\"\r\n labelPlacement=\"end\"\r\n />\r\n }\r\n label=\"True\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n \r\n Generate Response\r\n \r\n
\r\n {fieldresponseStatus && (\r\n
\r\n

Responses

\r\n \r\n
\r\n
\r\n {fieldresponseStatus}\r\n
\r\n
\r\n
\r\n {fieldresponseStatus === 200 && \"Successfully fetched\"}{\" \"}\r\n {fieldresponseStatus === 404 &&\r\n \"Field not found at the location\"}\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 FieldIdDrawer;\r\n","import {\r\n Button,\r\n FilledInput,\r\n makeStyles,\r\n Tabs,\r\n TextField,\r\n Tab,\r\n List,\r\n ListItem,\r\n ListItemText,\r\n ListItemIcon,\r\n FormControlLabel,\r\n Radio,\r\n RadioGroup,\r\n} from \"@material-ui/core\";\r\nimport React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { store } from \"../contexts/store\";\r\nimport {\r\n setFeature,\r\n setMode,\r\n setPoint,\r\n setLocation,\r\n dispatch,\r\n} from \"../contexts/actions\";\r\nimport { domain, api_version } from \"../config\";\r\n\r\nimport copyToClipboard from \"../util/copyToClipboard\";\r\nimport { saveAs } from \"file-saver\";\r\nimport turf from \"turf\";\r\n\r\nimport Disclaimer from \"./Disclaimer\";\r\nimport InputField from \"./InputField\";\r\nimport UrlDisplay from \"./UrlDisplay\";\r\nimport ResponseDisplay from \"./ResponseDisplay\";\r\n\r\nconst useStyles = makeStyles({\r\n info: {\r\n padding: \"24px 20px\",\r\n boxSizing: \"border-box\",\r\n color: \"#949EA7\",\r\n backgroundColor: \"#fff\",\r\n marginBottom: 8,\r\n \"& h3\": {\r\n lineHeight: \"24px\",\r\n marginBottom: 8,\r\n color: \"#1D2023\",\r\n },\r\n \"& h4\": {\r\n color: \"#1D2023\",\r\n fontSize: 18,\r\n lineHeight: \"24px\",\r\n fontWeight: 600,\r\n margin: 0,\r\n },\r\n \"& h6\": {\r\n color: \"#1D2023\",\r\n fontSize: 14,\r\n lineHeight: \"20px\",\r\n fontWeight: 700,\r\n margin: 0,\r\n },\r\n },\r\n iconRoot: {\r\n fill: \"none\",\r\n },\r\n\r\n mt8: {\r\n marginTop: 8,\r\n },\r\n\r\n getInTouch: {\r\n color: \"#1D2023\",\r\n marginBottom: 4,\r\n lineHeight: \"24px\",\r\n fontSize: 16,\r\n },\r\n flex: {\r\n display: \"flex\",\r\n },\r\n flex1: {\r\n flex: 1,\r\n },\r\n rightContainer: {\r\n flex: 1,\r\n wordWrap: \"anywhere\",\r\n color: \"#1D2023\",\r\n \"& h6\": {\r\n marginBottom: 16,\r\n },\r\n },\r\n responseContainer: {\r\n display: \"flex\",\r\n marginBottom: 16,\r\n fontWeight: 700,\r\n },\r\n responseCode: {\r\n marginRight: 24,\r\n width: 58,\r\n lineHeight: \"20px\",\r\n },\r\n\r\n generateResp: {\r\n marginTop: 16,\r\n minHeight: 48,\r\n borderRadius: 4,\r\n textTransform: \"capitalize\",\r\n fontWeight: 600,\r\n fontSize: 16,\r\n },\r\n\r\n textFields: {\r\n display: \"flex\",\r\n marginTop: 12,\r\n \"@media (max-width: 600px)\": {\r\n flexWrap: \"wrap\",\r\n \"& >div\": {\r\n marginRight: \"0px !important\",\r\n marginBottom: 8,\r\n },\r\n },\r\n },\r\n tabsRoot: {\r\n backgroundColor: \"#fff\",\r\n borderRadius: 8,\r\n minHeight: 36,\r\n // margin: \"0px 16px\",\r\n color: \"#1D2023\",\r\n border: \"1px solid #01B075\",\r\n marginTop: 12,\r\n },\r\n tab: {\r\n paddingBottom: 6,\r\n paddingTop: 6,\r\n minHeight: 36,\r\n minWidth: 120,\r\n },\r\n tabSelected: {\r\n backgroundColor: \"#01B075\",\r\n color: \"#fff\",\r\n },\r\n tabWrapper: {\r\n // paddingTop: 6,\r\n // paddingBottom: 6,\r\n },\r\n tabIndicator: {\r\n backgroundColor: \"#fff\",\r\n height: 0,\r\n },\r\n listItemIconRoot: {\r\n minWidth: 32,\r\n marginTop: 6,\r\n },\r\n listItemText: {\r\n fontWeight: 600,\r\n color: \"#1D2023\",\r\n },\r\n inDevMarker: {\r\n fill: \"#EA891D\",\r\n },\r\n showAllButton: {\r\n fontWeight: \"600\",\r\n marginBottom: \"1em\",\r\n },\r\n listItemRoot: {\r\n alignItems: \"start\",\r\n cursor: \"pointer\",\r\n },\r\n availableTab: {\r\n minWidth: 190,\r\n },\r\n listRoot: {\r\n minHeight: 180,\r\n },\r\n radioGroupRoot: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginTop: 8,\r\n },\r\n typeOfBiling: {\r\n fontSize: 16,\r\n marginRight: 32,\r\n color: \"#1D2023\",\r\n width: 118,\r\n },\r\n});\r\n\r\nfunction TabPanel(props) {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n