diff --git a/assets/index-vpHGUo9Y.js b/assets/index-CnFYD9tw.js similarity index 99% rename from assets/index-vpHGUo9Y.js rename to assets/index-CnFYD9tw.js index 452bce9ca..d92a14e0a 100644 --- a/assets/index-vpHGUo9Y.js +++ b/assets/index-CnFYD9tw.js @@ -6903,7 +6903,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var RYn="storage";function HYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new TYn(o,new xZ(o,i,r,new Sjn,n,ao.SDK_VERSION));return a}function MYn(t){var e={TaskState:Xh,TaskEvent:vjn,StringFormat:km,Storage:xZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(RYn,HYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(PYn,CYn)}MYn(ao);const Ttt=async(t,e,n)=>{const o={lng:M.getState().language};await ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Lo(O.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Lo(O.t("message.CannotOpenProject",o)+": "+i)})},IYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:ao.firestore.FieldValue.arrayRemove(n)}),mt.getState().set(i=>{i.updateProjectsFlag=!0}),ao.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),fn(O.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Lo(O.t("message.CannotDeleteCloudFile",o)+": "+i)})}catch(i){Lo(O.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},zYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?ao.firestore.FieldValue.arrayUnion(n):ao.firestore.FieldValue.arrayRemove(n)})}catch(r){Lo(O.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:ao.firestore.FieldValue.arrayUnion(n)})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},iCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},DYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},EYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},kYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},FYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},Ptt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=xe.countAllSolarPanels(),a=xe.countAllSolarPanelDailyYields(),l=xe.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},rCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=UYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},UYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},BYn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},aCe=(t,e,n,o)=>{const i={lng:M.getState().language};ao.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&ao.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{fn(O.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Lo(O.t("message.CannotWriteCloudFile",i)+": "+l)})}else Lo(O.t("message.CannotReadCloudFile",i))}).catch(r=>{Lo(O.t("message.CannotReadCloudFile",i)+": "+r)})},jYn=(t,e,n)=>{const o={lng:M.getState().language};ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Lo(O.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Lo(O.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},YYn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(mt.getState().set(l=>{l.waiting=!0}),await ao.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),mt.getState().setChanged(!1),r){const l=xe.resizeCanvas(r,o).toDataURL();ao.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Ptt(e,i,l),ao.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Lo(O.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),mt.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Lo(O.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},MX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),mt.getState().set(a=>{a.waiting=!0});try{const l=(await ao.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();if(l?M.getState().importContent(l,e):(fn(O.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),mt.getState().set(s=>{s.waiting=!1})),!o&&!i){const s=qp+"?client=web&userid="+t+"&title="+encodeURIComponent(e);window.history.pushState({},document.title,s)}}catch(a){Lo(O.t("message.CannotOpenCloudFile",r)+": "+a),mt.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),OYn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),mt.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Ttt(s,a,o).then(()=>{MX(s,a+" "+l,!0,!0,t).then(()=>{})}),mt.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:O.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:O.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:O.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:O.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),_Yn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},VYn=Ho.div` + */var RYn="storage";function HYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new TYn(o,new xZ(o,i,r,new Sjn,n,ao.SDK_VERSION));return a}function MYn(t){var e={TaskState:Xh,TaskEvent:vjn,StringFormat:km,Storage:xZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(RYn,HYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(PYn,CYn)}MYn(ao);const Ttt=async(t,e,n)=>{const o={lng:M.getState().language};await ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Lo(O.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Lo(O.t("message.CannotOpenProject",o)+": "+i)})},IYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:ao.firestore.FieldValue.arrayRemove(n)}),mt.getState().set(i=>{i.updateProjectsFlag=!0}),ao.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),fn(O.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Lo(O.t("message.CannotDeleteCloudFile",o)+": "+i)})}catch(i){Lo(O.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},zYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?ao.firestore.FieldValue.arrayUnion(n):ao.firestore.FieldValue.arrayRemove(n)})}catch(r){Lo(O.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:ao.firestore.FieldValue.arrayUnion(n)})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},iCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},DYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},EYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},kYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},FYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},Ptt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n,excluded:!1};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=xe.countAllSolarPanels(),a=xe.countAllSolarPanelDailyYields(),l=xe.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},rCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=UYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},UYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},BYn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},aCe=(t,e,n,o)=>{const i={lng:M.getState().language};ao.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&ao.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{fn(O.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Lo(O.t("message.CannotWriteCloudFile",i)+": "+l)})}else Lo(O.t("message.CannotReadCloudFile",i))}).catch(r=>{Lo(O.t("message.CannotReadCloudFile",i)+": "+r)})},jYn=(t,e,n)=>{const o={lng:M.getState().language};ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Lo(O.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Lo(O.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},YYn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(mt.getState().set(l=>{l.waiting=!0}),await ao.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),mt.getState().setChanged(!1),r){const l=xe.resizeCanvas(r,o).toDataURL();ao.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Ptt(e,i,l),ao.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Lo(O.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),mt.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Lo(O.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},MX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),mt.getState().set(a=>{a.waiting=!0});try{const l=(await ao.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();if(l?M.getState().importContent(l,e):(fn(O.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),mt.getState().set(s=>{s.waiting=!1})),!o&&!i){const s=qp+"?client=web&userid="+t+"&title="+encodeURIComponent(e);window.history.pushState({},document.title,s)}}catch(a){Lo(O.t("message.CannotOpenCloudFile",r)+": "+a),mt.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),OYn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),mt.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Ttt(s,a,o).then(()=>{MX(s,a+" "+l,!0,!0,t).then(()=>{})}),mt.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:O.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:O.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:O.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:O.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),_Yn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},VYn=Ho.div` width: 100px; `,GYn=Ho.img` position: absolute; diff --git a/index.html b/index.html index b568eb108..0489512ff 100644 --- a/index.html +++ b/index.html @@ -61,7 +61,7 @@ } Aladdin - +