{"version":3,"sources":["assets/icons/IconBack.svg","assets/images/ImageEmail.png","assets/images/EmailRedCircle.svg","assets/images/note.svg","assets/images/ImageFinalTwo.jpg","assets/images/ImagePdfFront.png","assets/icons/IconFlussiggas.svg","components/Header/header.js","components/Footer/footer.js","components/Modal/modal.js","constants.js","components/Context/Context.js","components/Button/button.js","components/Stepper/stepper.js","components/Steps/FirstStep.js","components/Steps/SecondStep.js","components/Steps/ThirdStep.js","components/Calculation/Calculation.js","components/Chart/Chart.js","components/Steps/FourthStep.js","components/ReportSection/ReportSection.js","components/Steps/FifthStep.js","components/Steps/SixthStep.js","components/SelectionChoice/selectionChoice.js","components/Layout/Layout.js","components/Tracker/tracker.js","App.js","index.js","assets/icons/IconErdgas.svg","assets/icons/IconHeizol.svg","assets/icons/IconFernwarme.svg","assets/icons/IconHouse.svg","assets/icons/IconCloud.svg","assets/images/ImageFinalThree.jpg","assets/images/pdfThreeOne.png","assets/icons/IconRight.svg","assets/icons/InfoIcon.svg","assets/icons/Techem-Logo-Shadow.png","assets/icons/Techem-Logo.svg","assets/icons/InfoHover.svg"],"names":["module","exports","__webpack_require__","p","Header","_ref","currentState","React","createElement","style","background","className","href","target","src","techemLogo","alt","concat","FooterLink","props","link","text","Footer","role","data-component-name","data-initialized","width","height","xmlns","viewBox","fill","d","InfoModal","_useState","useState","_useState2","_slicedToArray","show","setShow","_useState3","_useState4","hover","setHover","activeHover","inactiveHover","handleClose","modalHeadlineText","modalBodyText","selectedHeaderText","InfoToShow","selectedBodyText","Fragment","styleName","InfoHover","InfoIcon","onMouseEnter","onTouchStart","onMouseLeave","onTouchCancel","onClick","Modal","size","onHide","centered","closeButton","Body","Col","xs","Title","htmlParser","Button","variant","apiUrl","window","location","host","formId","CurrentContext","createContext","useCurrentContext","ctx","useContext","Error","CurrentContextProvider","children","setCurrentState","currentSelected","setCurrentSelected","_useState5","_useState6","canContinue","setCanContinue","_useState7","_useState8","Consumption","setConsumption","_useState9","_useState10","TotalArea","setTotalArea","_useState11","_useState12","Email","setEmail","_useState13","_useState14","loading","setLoading","_useState15","_useState16","discount","showDiscount","_useState17","Erdgas","Unit","EmissionFactor","Heizwert","Brennwert","Flüssiggas","Heizöl","Fernwärme","_useState18","fetchedData","setFetchedData","Provider","value","handleNext","console","log","input","document","getElementById","getElementsByClassName","forEach","element","display","opt","margin","image","type","quality","enableLinks","html2canvas","scale","jsPDF","unit","format","orientation","pagebreak","avoid","setTimeout","html2pdf","set","from","outputPdf","then","result","userData","data","FormData","formID","apiURI","leadFormFields","email","option1","name","option2","Value","option3","option4","mktoPreOptIn","mktoConsentHistory","preOptIn","append","JSON","stringify","axios","post","headers","Content-Type","response","catch","error","open","handlePrevious","ContinueButton","BtnName","customClass","disabled","BackButton","IconBack","StepperNav","StepperNavItem","addActive","_ref2","StepperText","_ref3","currentText","Stepper","Selection","imageUrl","id","data-id","dataId","onChange","changeHandler","defaultChecked","val","parseInt","FirstStep","_useCurrentContext","useEffect","handleRadioChange","event","selectedOption","getAttribute","IconErdgas","IconFlussiggas","IconHeizol","IconFernwarme","SecondStep","showEmissionBox","setShowEmissionBox","_objectSpread","selectedIcon","handleUnitChange","textContent","addPadding","selectedName","Form","onSubmit","e","preventDefault","Group","controlId","Control","placeholder","autoComplete","ButtonGroup","Check","label","checked","parseFloat","ThirdStep","IconHouse","length","TotalEmission","CalculateTotalEmission","filter","item","selectedData","CalculateShare","reduction","perMeterEmission","labels","getTenantData","map","index","toFixed","getDiscountedTenantData","getLandlordData","tenantData","getDiscountedLandlordData","discountedTenantData","Chart","landlordData","discountedLandlordData","floatingLabels","beforeDatasetsDraw","chart","chartToSelect","chart1","getDatasetMeta","chart2","left","chartArea","x","scales","i","xPostion","yPostion","y","save","strokeStyle","setLineDash","lineWidth","beginPath","moveTo","getPixelForValue","lineTo","stroke","fillText","$context","raw","toLocaleString","ChartJS","register","CategoryScale","LinearScale","BarElement","ChartDataLabels","chartData","datasets","backgroundColor","datalabels","color","anchor","align","font","family","formatter","minimumFractionDigits","maximumFractionDigits","barPercentage","categoryPercentage","Bar","options","responsive","maintainAspectRatio","plugins","title","stacked","grid","ticks","padding","weight","drawOnChartArea","layout","top","FourthStep","FuelType","ConsumptionUnit","ConsumptionValue","dataUploadUrl","ValidEmail","setValidEmail","Consent","setConsent","Container","Row","lg","triggerClick","Label","Validator","isEmail","sm","IconEmail","ImageEmail","fontSize","minHeight","IconCloud","sum","reduce","partial","current","CalculateYearlyCost","overflowX","postion","minWidth","rel","Note","marginLeft","techemLogoShadow","IconRight","ImageFinalTwo","borderRadius","ImageFinalThree","ImagePdfThreeOne","ReportSection","visible","useRef","ref","isIntersecting","setIntersecting","observer","IntersectionObserver","entry","observe","disconnect","useOnScreen","scrollBy","behavior","md","xl","whiteSpace","FifthStep","SixthStep","zIndex","ImagePdfFront","CalculateDiscountedYearlyCost","SelectionChoice","Layout","state","pageIdentifier","siteDataLayer","push","pageLanguage","pageName","pagePath","pathname","pageURL","virtualPagePath","hash","PageTracker","scrollTo","selected","SelectionTracker","body","LoadingOverlay","active","spinner","HTMLReactParser","App","replace","ReactDOM","render"],"mappings":"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","file":"static/js/main.52e0a7ba.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/IconBack.5fc426d4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ImageEmail.b1581a78.png\";","module.exports = __webpack_public_path__ + \"static/media/EmailRedCircle.11f936c2.svg\";","module.exports = __webpack_public_path__ + \"static/media/note.69caad55.svg\";","module.exports = __webpack_public_path__ + \"static/media/ImageFinalTwo.af64c88d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ImagePdfFront.c2b5b8c3.png\";","module.exports = __webpack_public_path__ + \"static/media/IconFlussiggas.3762665e.svg\";","import React from 'react';\nimport './style.css';\nimport techemLogo from '../../assets/icons/Techem-Logo.svg'\n\nconst Header = ({currentState}) => {\n return (\n
\n
\n
\n \n \n techem-logo\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default Header","import React from 'react';\nimport './style.css';\n\nconst FooterLink = (props) => {\n return (\n
  • \n {props.text}\n
  • \n )\n}\n\nconst Footer = () => {\n return (\n
    \n \n
    \n )\n}\n\nexport default Footer","import React, { useState } from 'react';\nimport { Button, Col } from 'react-bootstrap';\nimport Modal from 'react-bootstrap/Modal';\nimport htmlParser from 'html-react-parser';\n\nimport './style.css'\n\nimport InfoIcon from '../../assets/icons/InfoIcon.svg'\nimport InfoHover from '../../assets/icons/InfoHover.svg'\n\nconst InfoModal = (props) => {\n const [show, setShow] = useState(false)\n const [hover, setHover] = useState(false)\n\n const activeHover = () => {\n setHover(true)\n }\n\n const inactiveHover = () => {\n setHover(false)\n }\n\n const handleClose = () => setShow(false)\n const handleShow = () => setShow(true)\n\n const modalHeadlineText = ['Mit welcher Energiequelle wird geheizt?',\n 'Wie kann ich meinen Brennstoffverbrauch ermitteln?',\n 'Wie groß ist die Wohnfläche Ihrer Immobilie?',\n '',\n '',\n '']\n\n const modalBodyText = [`

    Mit dieser Angabe können wir Ihnen im nächsten Schritt die richtige Einheit zur Berechnung anbieten.\n Nutzen Sie eine Pelletheizung oder Wärmepumpe, so fallen keine CO2-Kosten für Sie an.

    `,\n `

    Den jährlichen Brennstoffverbrauch können Sie der Jahresrechnung Ihres Energieversorgungsunternehmens entnehmen.

    `,\n `

    Die CO2-Abgabe ist für alle Wohngebäude einschließlich Wohn-, Alten- und Pflegeheime sowie Gebäude mit gemischter\n Nutzung vorgesehen. Die Wohnfläche ist die Summe der Grundflächen aller Wohnräume.

    `,\n `

    Die voraussichtliche CO2-Emission Ihres Gebäudes wurde gemäß Ihrer Angabe des aktuellen\n Energieverbrauchs für einen Zeithorizont von 10 Jahren berechnet.

    `,\n `

    Damit Sie umfassend planen können, berechnen wir für Sie die voraussichtliche CO2-Abgabe mit einem Zeithorizont von 10 Jahren.\n Die Summe beinhaltet nur die Kosten, die Vermietende tragen müssen. Nach dem aktuellen Gesetzesentwurf sind bis 2026 jährlich steigende CO2-Abgaben angedacht.\n Die Höhe der von uns berechneten CO2-Abgaben könnte sich also noch ändern.

    `,\n `

    Untersuchungen belegen, dass die unterjährige Verbrauchsinformation zu einem 10 % geringeren Energieverbrauch führen kann.\n Dies hilft nicht nur Ihren Mietern, sondern auch Ihnen bei der Reduktion Ihrer CO2-Abgabe.\n Bitte beachten Sie, dass die Einsparung von 10% ein Durchschnittswert darstellt, welcher individuell abweichen kann.

    `,\n `

    Zur Verteilung der CO2-Bepreisung zwischen Mietenden und Vermietenden ist aktuell ein Zehn-Stufenmodell vorgesehen:\n Bei Wohnungen mit einer besonders schlechten Energiebilanz übernehmen Vermietende beispielsweise 95 % und Mietende 5 % der CO2-Kosten.\n Die Einstufung in unserem Rechner wird nach dem aktuellen Gesetzesentwurf anhand des CO2-Ausstoßes je Quadratmeter vorgenommen.\n Je mehr CO2-Ausstoß pro m2 vorliegt, desto höher entfällt die Beteiligung von Vermietenden.

    `,\n `Ihren individuellen CO2-Emissionsfaktor erfahren Sie von Ihrem Energieversorger. Mit diesem Wert erhalten Sie eine möglichst genaue CO2-Kosten-Prognose.\n Denn der Emissionsfaktor von Fernwärme kann je nach den eingesetzten Technologien, dem Energiemix und der lokal erforderlichen Transportnetze stark variieren.`];\n\n const selectedHeaderText = props.InfoToShow ? modalHeadlineText[props.InfoToShow] : modalHeadlineText[props.currentState]\n const selectedBodyText = props.InfoToShow ? modalBodyText[props.InfoToShow] : modalBodyText[props.currentState]\n return (\n <>\n info icon\n\n \n \n \n
    \n \n \n info-icon\n \n \n {selectedHeaderText ? ({selectedHeaderText}) : ''}\n {htmlParser(selectedBodyText)}\n \n \n
    \n \n \n \n\n
    \n \n );\n}\n\nexport default InfoModal","export const apiUrl = function () {\n if (window.location.host === 'techemco2app-uat.azurewebsites.net'\n || window.location.host === 'techemco2app.azurewebsites.net'\n || window.location.host === 'co2-rechner.azurewebsites.net'\n || window.location.host === 'co2-rechner-uat.azurewebsites.net'\n || window.location.host === 'co2-rechner.techem.com'\n || window.location.host === 'co2-rechner-uat.techem.com') {\n return 'https://techemco2server.azurewebsites.net';\n } else {\n return 'https://techemco2server-dev.azurewebsites.net';\n }\n};\n\nexport const formId = function () {\n if (window.location.host === 'techemco2app-uat.azurewebsites.net'\n || window.location.host === 'techemco2app.azurewebsites.net'\n || window.location.host === 'co2-rechner.azurewebsites.net'\n || window.location.host === 'co2-rechner-uat.azurewebsites.net'\n || window.location.host === 'co2-rechner.techem.com'\n || window.location.host === 'co2-rechner-uat.techem.com') {\n return 1609;\n } else {\n return 1241;\n }\n}","import React, { createContext, useContext, useState } from 'react';\nconst CurrentContext = createContext();\n\nexport const useCurrentContext = () => {\n const ctx = useContext(CurrentContext);\n if (!ctx) {\n throw new Error('useCurrentContext must be used within a CurrentContext');\n }\n return ctx;\n};\n\nexport const CurrentContextProvider = ({ children }) => {\n const [currentState, setCurrentState] = useState(0);\n const [currentSelected, setCurrentSelected] = useState({});\n const [canContinue, setCanContinue] = useState(false);\n const [Consumption, setConsumption] = useState({});\n const [TotalArea, setTotalArea] = useState();\n const [Email, setEmail] = useState();\n const [loading, setLoading] = useState(false);\n const [discount, showDiscount] = useState(false);\n const [fetchedData, setFetchedData] = useState({\n \"Erdgas\":\n [{ \"Unit\": \"kWh\", \"EmissionFactor\": 200.9, \"Heizwert\": 1, \"Brennwert\": 1.11 },\n { \"Unit\": \"m3\", \"EmissionFactor\": 200.9, \"Heizwert\": 10, \"Brennwert\": 1 }],\n \"Flüssiggas\":\n { \"Unit\": \"L\", \"EmissionFactor\": 235.8, \"Heizwert\": 6.57, \"Brennwert\": 1 },\n \"Heizöl\":\n { \"Unit\": \"L\", \"EmissionFactor\": 266.4, \"Heizwert\": 10, \"Brennwert\": 1 },\n \"Fernwärme\":\n { \"Unit\": \"kWh\", \"EmissionFactor\": 255.3, \"Heizwert\": 1, \"Brennwert\": 1 }\n });\n return (\n \n {children}\n \n )\n};\n\n","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport \"./style.css\";\nimport IconBack from '../../assets/icons/IconBack.svg';\nimport html2pdf from 'html2pdf.js';\nimport axios from 'axios';\nimport { apiUrl, formId } from '../../constants'\n\nimport { useCurrentContext } from '../Context/Context';\n\nconst handleNext = (props) => () => {\n console.log(props);\n if (props.currentState === 3) {\n props.setLoading(true);\n console.log(formId())\n console.log(apiUrl());\n const input = document.getElementById('pdf-section');\n const infoIcon = document.getElementsByClassName('modal-popup');\n infoIcon.forEach(element => {\n element.style.display = 'none'\n });\n const opt = {\n margin: [1,0,0,0],\n image: { type: 'jpeg', quality: 1 },\n enableLinks: true,\n html2canvas: { scale: 2 },\n jsPDF: { unit: 'in', format: 'a3', orientation: 'portrait' },\n pagebreak: { avoid: 'div' }\n };\n setTimeout(() => {\n input.style.display = 'flex'\n }, 1000);\n setTimeout(() => {\n const blob = html2pdf().set(opt).from(input).outputPdf('blob')\n blob.then((result) => {\n const data = new FormData();\n const formID = formId();\n const apiURI = apiUrl() + '/uploadPdf'\n let userData\n if (formID === 1609) {\n userData = {\n \"formId\": formID,\n \"input\": [\n {\n \"leadFormFields\": {\n \"email\": props.Email,\n \"option1\": props.currentSelected.name,\n \"option2\": props.Consumption.Value,\n \"option3\": props.Consumption.Unit,\n \"option4\": props.TotalArea,\n \"mktoPreOptIn\": true,\n \"mktoConsentHistory\": \"T1A\"\n }\n }\n ]\n }\n } else {\n userData = {\n \"formId\": formID,\n \"input\": [\n {\n \"leadFormFields\": {\n \"email\": props.Email,\n \"option1\": props.currentSelected.name,\n \"option2\": props.Consumption.Value,\n \"option3\": props.Consumption.Unit,\n \"option4\": props.TotalArea,\n \"preOptIn\": true,\n \"mktoConsentHistory\": \"T1A\"\n }\n }\n ]\n }\n }\n console.log(userData);\n data.append('pdf', result, result.name);\n data.append('userData', JSON.stringify(userData));\n const config = {\n headers: { 'Content-Type': 'multipart/form-data' }\n }\n // const url = URL.createObjectURL(result);\n // window.open(url, '_blank');\n axios.post(apiURI, data, config).then(response => {\n console.log(response);\n }).catch((error) => {\n return JSON.stringify(error);\n });\n props.setLoading(false);\n props.setCurrentState(props.currentState + 1);\n }).catch((error) => {\n console.log(error);\n });\n }, 2000)\n\n } else if (props.currentState === 5) {\n window.open('https://www.techem.com/de/de/immobilienservices/verbrauchsinformation?CID=referrer:organic:co2rechner:button:co2rechner:verbrauchsinfo:co2:targeting:nr:209202', '_blank');\n } else {\n props.setCurrentState(props.currentState + 1)\n props.setCanContinue(false)\n }\n}\n\nconst handlePrevious = (props) => () => {\n props.setCurrentState(props.currentState - 1)\n props.setCanContinue(false)\n}\n\nconst ContinueButton = () => {\n const props = useCurrentContext();\n let BtnName, customClass\n if (props.currentState === 3) {\n BtnName = 'Jetzt Prognose anzeigen'\n } else if (props.currentState === 4) {\n customClass = 'move-top'\n BtnName = 'Jetzt Kosten reduzieren'\n } else if (props.currentState === 5) {\n BtnName = 'Mehr zur unterjährigen Verbrauchsinformation'\n }\n else {\n BtnName = 'Weiter'\n }\n return (\n <>\n {props.canContinue\n ? ()\n : ()}\n \n )\n}\n\nconst BackButton = () => {\n const props = useCurrentContext();\n return (\n props.currentState > 4\n ? ('') :\n ()\n\n )\n}\n\nexport { ContinueButton, BackButton, handleNext }","import React from 'react'\nimport InfoModal from '../Modal/modal'\n\nimport { BackButton } from '../Button/button';\nimport { useCurrentContext } from '../Context/Context';\nimport './style.css'\n\nconst StepperNav = ({ currentState }) => {\n return (\n
    \n
    \n 0 ? 'nav-active' : ''}>\n 1 ? 'nav-active' : ''}>\n 2 ? 'nav-active' : ''}>\n
    \n
    \n )\n}\n\nconst StepperNavItem = ({ addActive }) => {\n return (\n
    \n )\n}\n\nconst StepperText = ({ currentState }) => {\n const stepText = ['Mit welcher Energiequelle wird geheizt?',\n 'Wie hoch ist der jährliche Brennstoffverbrauch?',\n 'Wie groß ist die Grundfläche aller Wohnräume?']\n const currentText = stepText[currentState]\n return (\n
    {currentText}
    \n )\n}\n\n\nconst Stepper = () => {\n const props = useCurrentContext();\n return (\n <>\n \n {props.currentState < 3 ? (
    \n {props.currentState > 0\n ? ()\n : ''}\n
    \n \n \n
    \n
    ) : ''}\n \n )\n}\n\nexport default Stepper","import React, { useEffect } from 'react';\n\nimport IconFlussiggas from '../../assets/icons/IconFlussiggas.svg'\nimport IconErdgas from '../../assets/icons/IconErdgas.svg'\nimport IconHeizol from '../../assets/icons/IconHeizol.svg'\nimport IconFernwarme from '../../assets/icons/IconFernwarme.svg'\nimport { useCurrentContext } from '../Context/Context';\n\nconst Selection = (props) => {\n return (\n
    \n {props.name}\n

    {props.name}

    \n \n \n
    \n )\n}\n\nconst FirstStep = () => {\n const { currentSelected, setCurrentSelected, canContinue, setCanContinue } = useCurrentContext();\n console.log(canContinue);\n useEffect(() => {\n if (currentSelected.val) {\n setCanContinue(true);\n }\n }, []);\n\n const handleRadioChange = () => (event) => {\n const selectedOption = event.target.getAttribute('data-id')\n setCurrentSelected({ val: parseInt(selectedOption), name: event.target.value })\n setCanContinue(true)\n }\n\n return (\n <>\n
    \n \n \n \n \n
    \n \n )\n}\n\nexport default FirstStep;","import React, { useEffect, useState } from 'react';\nimport { ButtonGroup, Form } from 'react-bootstrap';\nimport htmlParser from 'html-react-parser';\n\nimport IconFlussiggas from '../../assets/icons/IconFlussiggas.svg'\nimport IconErdgas from '../../assets/icons/IconErdgas.svg'\nimport IconHeizol from '../../assets/icons/IconHeizol.svg'\nimport IconFernwarme from '../../assets/icons/IconFernwarme.svg'\n\nimport { useCurrentContext } from '../Context/Context';\nimport InfoModal from '../Modal/modal';\n\n\nconst SecondStep = () => {\n const { currentState, setCurrentState, currentSelected, setCanContinue, Consumption, setConsumption, setFetchedData } = useCurrentContext();\n const [showEmissionBox, setShowEmissionBox] = useState(false);\n\n useEffect(() => {\n if (currentSelected.val % 2 === 0) {\n setConsumption({\n ...Consumption,\n 'Unit': 'kWh',\n });\n } else {\n setConsumption({\n ...Consumption,\n 'Unit': 'L',\n });\n }\n\n if (Consumption.Value) {\n setCanContinue(true);\n if (currentSelected.val === 2) {\n if (Consumption.Unit === 'm3') {\n setConsumption(({\n ...Consumption,\n 'Unit': 'm3'\n }))\n }\n }\n }\n }, []);\n\n useEffect(() => {\n if (Consumption.Value) {\n setCanContinue(true);\n }\n }, [Consumption]);\n\n const handleInputChange = (event) => {\n setConsumption({\n ...Consumption,\n 'Value': event.target.value,\n });\n }\n\n const handleUnitChange = (event) => {\n setConsumption({\n ...Consumption,\n 'Unit': event.target.textContent,\n });\n }\n\n const handleBrennwertChange = (event) => {\n setFetchedData({\n \"Erdgas\":\n [{ \"Unit\": \"kWh\", \"EmissionFactor\": 200.9, \"Heizwert\": 1, \"Brennwert\": 1.11 },\n { \"Unit\": \"m3\", \"EmissionFactor\": 200.9, \"Heizwert\": 10, \"Brennwert\": 1 }],\n \"Flüssiggas\":\n { \"Unit\": \"L\", \"EmissionFactor\": 235.8, \"Heizwert\": 6.57, \"Brennwert\": 1 },\n \"Heizöl\":\n { \"Unit\": \"L\", \"EmissionFactor\": 266.4, \"Heizwert\": 10, \"Brennwert\": 1 },\n \"Fernwärme\":\n { \"Unit\": \"kWh\", \"EmissionFactor\": event.target.value ? parseFloat(event.target.value) : 255.3, \"Heizwert\": 1, \"Brennwert\": 1 }\n });\n }\n\n const handleSubmit = e => {\n e.preventDefault();\n setCurrentState(currentState + 1)\n setCanContinue(false)\n };\n\n\n let selectedIcon;\n let addPadding = false;\n\n const selectedName = currentSelected.name;\n\n if (currentSelected.val === 1) {\n selectedIcon = IconFlussiggas\n } else if (currentSelected.val === 2) {\n selectedIcon = IconErdgas\n addPadding = true\n } else if (currentSelected.val === 3) {\n selectedIcon = IconHeizol\n } else if (currentSelected.val === 4) {\n selectedIcon = IconFernwarme\n }\n\n const handleSwitchChange = () => {\n setShowEmissionBox(!showEmissionBox)\n if (showEmissionBox === true) {\n setFetchedData({\n \"Erdgas\":\n [{ \"Unit\": \"kWh\", \"EmissionFactor\": 200.9, \"Heizwert\": 1, \"Brennwert\": 1.11 },\n { \"Unit\": \"m3\", \"EmissionFactor\": 200.9, \"Heizwert\": 10, \"Brennwert\": 1 }],\n \"Flüssiggas\":\n { \"Unit\": \"L\", \"EmissionFactor\": 235.8, \"Heizwert\": 6.57, \"Brennwert\": 1 },\n \"Heizöl\":\n { \"Unit\": \"L\", \"EmissionFactor\": 266.4, \"Heizwert\": 10, \"Brennwert\": 1 },\n \"Fernwärme\":\n { \"Unit\": \"kWh\", \"EmissionFactor\": 255.3, \"Heizwert\": 1, \"Brennwert\": 1 }\n });\n }\n }\n\n const emissionLabelText = `
    \n \n Bundesweiten ⌀ CO2 -Emissionsfaktor
    255,3 g/kWh verwenden.
    `;\n\n return (\n
    \n
    \n
    \n
    \n item-icon\n

    { }

    \n
    \n {selectedName === 'Fernwärme' &&\n
    \n Emissionfaktor \n
    \n }\n
    \n
    \n \n \n {selectedName === 'Erdgas' &&\n \n
    kWh
    \n
    m3
    \n
    \n }\n {(selectedName === 'Flüssiggas' || selectedName === 'Heizöl') &&\n L\n }\n {selectedName === 'Fernwärme' &&\n kWh\n }\n
    \n {selectedName === 'Fernwärme' &&\n \n \n {showEmissionBox &&\n
    \n \n \n g/kWh\n
    \n }\n
    \n }\n
    \n
    \n
    \n )\n\n}\n\nexport default SecondStep;","import React, { useEffect } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport IconHouse from '../../assets/icons/IconHouse.svg';\nimport { useCurrentContext } from '../Context/Context';\n\nconst ThirdStep = () => {\n const { currentState, setCurrentState, setCanContinue, TotalArea, setTotalArea } = useCurrentContext();\n useEffect(() => {\n if (TotalArea) {\n setCanContinue(true);\n }\n });\n const handleInputChange = () => (event) => {\n setTotalArea(event.target.value)\n if (event.target.value.length > 0) {\n setCanContinue(true)\n } else {\n setCanContinue(false)\n }\n }\n const handleSubmit = e => {\n e.preventDefault();\n setCurrentState(currentState + 1)\n setCanContinue(false)\n };\n return (\n
    \n
    \n
    \n item-icon\n

    Wohnfläche

    \n
    \n
    \n \n \n m2\n \n
    \n
    \n
    \n )\n}\n\nexport default ThirdStep;","// const fetchedData = {\n// \"Erdgas\":\n// [{ \"Unit\": \"kWh\", \"EmissionFactor\": 200.9, \"Heizwert\": 1, \"Brennwert\": 1.11 },\n// { \"Unit\": \"m3\", \"EmissionFactor\": 200.9, \"Heizwert\": 10, \"Brennwert\": 1 }],\n// \"Flüssiggas\":\n// { \"Unit\": \"L\", \"EmissionFactor\": 235.8, \"Heizwert\": 6.57, \"Brennwert\": 1 },\n// \"Heizöl\":\n// { \"Unit\": \"L\", \"EmissionFactor\": 266.4, \"Heizwert\": 10, \"Brennwert\": 1 },\n// \"Fernwärme\":\n// { \"Unit\": \"kWh\", \"EmissionFactor\": 255.3, \"Heizwert\": 1, \"Brennwert\": 1 }\n// };\n\nexport const InitialPricePerTon = 30;\n\nexport const TotalEmission = (currentSelected, Consumption, fetchedData) => {\n switch (currentSelected.name) {\n case 'Erdgas':\n return CalculateTotalEmission(fetchedData.Erdgas.filter(item => item.Unit === Consumption.Unit)[0], Consumption);\n case 'Flüssiggas':\n return CalculateTotalEmission(fetchedData.Flüssiggas, Consumption);\n case 'Heizöl':\n return CalculateTotalEmission(fetchedData.Heizöl, Consumption);\n case 'Fernwärme':\n return CalculateTotalEmission(fetchedData.Fernwärme, Consumption);\n default:\n return\n }\n}\n\nconst CalculateTotalEmission = (selectedData, Consumption) => {\n return ((((parseInt(Consumption.Value)\n * selectedData.Heizwert) / selectedData.Brennwert)\n * selectedData.EmissionFactor) / 1000)\n}\n\nexport const CalculateShare = (currentSelected, Consumption, TotalArea, reduction, fetchedData) => {\n const perMeterEmission = TotalEmission(currentSelected, Consumption, fetchedData) * reduction / TotalArea\n switch (true) {\n case (perMeterEmission < 12):\n return 0\n case (12 < perMeterEmission && perMeterEmission < 17):\n return 10\n case (17 < perMeterEmission && perMeterEmission < 22):\n return 20\n case (22 < perMeterEmission && perMeterEmission < 27):\n return 30\n case (27 < perMeterEmission && perMeterEmission < 32):\n return 40\n case 32 < perMeterEmission && perMeterEmission < 37:\n return 50\n case 37 < perMeterEmission && perMeterEmission < 42:\n return 60\n case 42 < perMeterEmission && perMeterEmission < 47:\n return 70\n case 47 < perMeterEmission && perMeterEmission < 52:\n return 80\n case perMeterEmission >= 52:\n return 95\n default:\n return 0\n }\n};\n\nexport const labels = ['2023', '2024', '2025', '2026', '2027', '2028', '2029', '2030', '2031', '2032'];\nconst vat = 1.19\n\nexport const getTenantData = (currentSelected, Consumption, fetchedData) => {\n return labels.map((item, index) => {\n if (index === 0) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) / 1000 * InitialPricePerTon * vat).toFixed(2)\n } else if (index === 1) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) / 1000 * (InitialPricePerTon + 5) * vat).toFixed(2)\n } else if (index === 2) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) / 1000 * (InitialPricePerTon + 15) * vat).toFixed(2)\n } else {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) / 1000 * (InitialPricePerTon + 25) * vat).toFixed(2)\n }\n });\n};\n\nexport const getDiscountedTenantData = (currentSelected, Consumption, fetchedData) => {\n return labels.map((item, index) => {\n if (index === 0) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) * 0.9 / 1000 * InitialPricePerTon * vat).toFixed(2)\n } else if (index === 1) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) * 0.9 / 1000 * (InitialPricePerTon + 5) * vat).toFixed(2)\n } else if (index === 2) {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) * 0.9 / 1000 * (InitialPricePerTon + 15) * vat).toFixed(2)\n } else {\n return parseFloat(TotalEmission(currentSelected, Consumption, fetchedData) * 0.9 / 1000 * (InitialPricePerTon + 25) * vat).toFixed(2)\n }\n });\n};\n\nexport const getLandlordData = (tenantData, currentSelected, Consumption, TotalArea, fetchedData) => {\n return tenantData.map((item) => parseFloat((item * (CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData) / 100))).toFixed(2));\n};\n\nexport const getDiscountedLandlordData = (discountedTenantData, currentSelected, Consumption, TotalArea, fetchedData) => {\n return discountedTenantData.map((item) => parseFloat((item * (CalculateShare(currentSelected, Consumption, TotalArea, 0.9, fetchedData) / 100))).toFixed(2));\n};\n","import React from 'react';\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Title\n} from 'chart.js';\nimport { Bar } from 'react-chartjs-2';\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { useCurrentContext } from '../Context/Context';\nimport { labels, getTenantData, getDiscountedTenantData, getLandlordData, getDiscountedLandlordData } from '../Calculation/Calculation';\n\n\nconst Chart = () => {\n const { currentSelected, Consumption, TotalArea, currentState, discount, fetchedData } = useCurrentContext();\n const tenantData = getTenantData(currentSelected, Consumption, fetchedData );\n const discountedTenantData = getDiscountedTenantData(currentSelected, Consumption, fetchedData);\n const landlordData = getLandlordData(tenantData, currentSelected, Consumption, TotalArea, fetchedData);\n const discountedLandlordData = getDiscountedLandlordData(discountedTenantData, currentSelected, Consumption, TotalArea, fetchedData);\n // add dotted line and label above line for tenant chart\n const floatingLabels = {\n id: 'floatingLabels',\n beforeDatasetsDraw(chart) {\n const chart1 = chart.getDatasetMeta(1);\n const chart2 = chart.getDatasetMeta(2);\n\n let chartToSelect;\n if (chart2.label) {\n chartToSelect = chart2\n } else {\n chartToSelect = chart1\n }\n\n console.log(chartToSelect.label);\n\n const { ctx, chartArea: { left }, scales: { x } } = chart;\n for (let i = 0; i < chartToSelect.data.length; i++) {\n // if (i > 1 && (chart.getDatasetMeta(datasetToSelect).data[i].$context.raw === chart.getDatasetMeta(datasetToSelect).data[i - 1].$context.raw)) {\n // break\n // }\n\n // show first second and last\n if (i > 2 && i < chartToSelect.data.length - 1) {\n continue\n }\n const xPostion = left - 40\n const yPostion = chartToSelect.data[i].y\n\n ctx.save()\n ctx.strokeStyle = 'rgba(0, 155, 180, 1)'\n ctx.setLineDash([2, 5])\n ctx.lineWidth = \"2\"\n ctx.beginPath()\n ctx.moveTo(x.getPixelForValue(i) + ((x.getPixelForValue(i + 1) - x.getPixelForValue(i)) / 2 - 6), yPostion);\n ctx.lineTo(xPostion, yPostion);\n ctx.stroke();\n ctx.fillText(parseFloat(chartToSelect.data[i].$context.raw).toLocaleString('de-DE') + \" €\", xPostion, yPostion - 10)\n }\n }\n }\n\n ChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n ChartDataLabels,\n floatingLabels\n )\n\n const chartOptions = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n title: {\n display: false,\n text: 'CO2 Chart',\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n display: false\n },\n ticks: {\n padding: 30,\n font: {\n weight: 'bold',\n }\n }\n },\n y: {\n display: false,\n stacked: false,\n grid: {\n drawOnChartArea: false\n },\n\n },\n },\n layout: {\n padding: {\n top: 20,\n left: 40\n }\n }\n }\n\n // based on state add discound dataset\n let dataset\n if (currentState === 5 && discount) {\n dataset = [\n {\n label: 'Discount',\n data: discountedLandlordData,\n backgroundColor: 'rgba(226, 6, 19, 1)',\n datalabels: {\n color: 'white',\n anchor: 'end',\n align: 'bottom',\n font: {\n family: 'Univers B'\n },\n display: 'true',\n formatter: (value) => { return parseFloat(value).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' €' }\n },\n barPercentage: 0.9,\n categoryPercentage: 1\n },\n {\n label: 'Vermietende',\n data: landlordData,\n backgroundColor: 'rgba(0, 155, 180, 1)',\n datalabels: {\n color: 'black',\n anchor: 'end',\n align: 'bottom',\n font: {\n family: 'Univers B'\n },\n display: 'auto',\n formatter: (value) => { return parseFloat(value).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' €' }\n },\n barPercentage: 0.9,\n categoryPercentage: 1\n },\n {\n label: 'Mietende',\n data: discountedTenantData,\n backgroundColor: 'rgba(0, 155, 180, 0.15)',\n datalabels: {\n display: false\n },\n barPercentage: 0.9,\n categoryPercentage: 1\n },\n ]\n } else {\n dataset = [\n {\n label: 'Vermietende',\n data: landlordData,\n backgroundColor: 'rgba(0, 155, 180, 1)',\n datalabels: {\n color: 'black',\n anchor: 'end',\n align: 'bottom',\n font: {\n family: 'Univers B'\n },\n formatter: (value) => { return parseFloat(value).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' €' }\n },\n barPercentage: 0.9,\n categoryPercentage: 1\n },\n {\n label: 'Mietende',\n data: tenantData,\n backgroundColor: 'rgba(0, 155, 180, 0.15)',\n datalabels: {\n display: false\n },\n barPercentage: 0.9,\n categoryPercentage: 1\n },\n ]\n }\n\n const chartData = {\n labels: labels,\n datasets: dataset,\n };\n\n return (\n \n )\n\n}\n\n\nexport default Chart;","import React, { useEffect, useState } from 'react'\nimport Validator from 'validator'\nimport { Form, Row, Col, Container } from 'react-bootstrap'\nimport { BackButton, handleNext } from '../Button/button'\nimport Chart from '../Chart/Chart'\nimport { apiUrl } from '../../constants'\nimport { ContinueButton } from '../Button/button'\nimport { TotalEmission, getTenantData, getLandlordData, CalculateShare } from '../Calculation/Calculation'\nimport axios from 'axios'\n\nimport IconFlussiggas from '../../assets/icons/IconFlussiggas.svg'\nimport IconErdgas from '../../assets/icons/IconErdgas.svg'\nimport IconHeizol from '../../assets/icons/IconHeizol.svg'\nimport IconFernwarme from '../../assets/icons/IconFernwarme.svg'\nimport IconHouse from '../../assets/icons/IconHouse.svg'\nimport IconCloud from '../../assets/icons/IconCloud.svg'\nimport ImageEmail from '../../assets/images/ImageEmail.png'\nimport IconEmail from '../../assets/images/EmailRedCircle.svg'\nimport Note from '../../assets/images/note.svg'\nimport techemLogoShadow from '../../assets/icons/Techem-Logo-Shadow.png'\nimport ImageFinalTwo from '../../assets/images/ImageFinalTwo.jpg'\nimport IconRight from '../../assets/icons/IconRight.svg'\nimport ImageFinalThree from '../../assets/images/ImageFinalThree.jpg'\nimport ImagePdfThreeOne from '../../assets/images/pdfThreeOne.png'\n\nimport { useCurrentContext } from '../Context/Context'\n\nconst FourthStep = () => {\n const { currentSelected, canContinue, setCanContinue, Consumption, TotalArea, setEmail, fetchedData } = useCurrentContext();\n const tenantData = getTenantData(currentSelected, Consumption, fetchedData);\n const landlordData = getLandlordData(tenantData, currentSelected, Consumption, TotalArea, fetchedData);\n const CalculateYearlyCost = () => {\n const sum = landlordData.reduce((partial, current) => {\n return parseFloat(partial) + parseFloat(current)\n }, [0])\n return parseFloat(sum).toFixed(2)\n };\n\n let selectedIcon\n if (currentSelected.val === 1) {\n selectedIcon = IconFlussiggas\n } else if (currentSelected.val === 2) {\n selectedIcon = IconErdgas\n } else if (currentSelected.val === 3) {\n selectedIcon = IconHeizol\n } else if (currentSelected.val === 4) {\n selectedIcon = IconFernwarme\n }\n\n const userData = {\n \"FuelType\": currentSelected.name,\n \"ConsumptionUnit\": Consumption.Unit,\n \"ConsumptionValue\": Consumption.Value,\n \"TotalArea\": TotalArea\n }\n\n useEffect(() => {\n const dataUploadUrl = apiUrl() + '/api/userData'\n console.log(dataUploadUrl)\n axios.post(dataUploadUrl, userData)\n .then(response => {\n console.log(response);\n });\n }, []);\n const [ValidEmail, setValidEmail] = useState(false)\n const [Consent, setConsent] = useState(false)\n\n const handleEmailChange = (event) => {\n if (Validator.isEmail(event.target.value)) {\n setEmail(event.target.value)\n setValidEmail(true)\n } else {\n setValidEmail(false)\n }\n\n }\n\n const handleConsentChange = (event) => {\n if (event.target.checked) {\n setConsent(true)\n } else {\n setConsent(false)\n }\n }\n\n const handleSubmit = e => {\n e.preventDefault();\n if (canContinue) {\n const triggerClick = handleNext();\n triggerClick();\n }\n };\n\n useEffect(() => {\n if (ValidEmail && Consent) {\n setCanContinue(true)\n } else {\n setCanContinue(false)\n }\n }, [ValidEmail, Consent])\n\n return (\n <>\n \n \n \n \n \n

    \n Ihre kostenlose CO2-Kostenprognose
    ist nur einen Klick entfernt!\n

    \n
    \n

    \n Geben Sie einfach Ihre E-Mail-Adresse an und erhalten\n Sie von uns gebührenfrei Ihre individuelle Prognose sowie wertvolle Energiespartipps!\n

    \n
    \n \n E-Mail\n \n \n \n \n \n \n \n \n Mit dem Absenden dieses Formulars willige ich ein, dass die Techem GmbH und die mit ihr verbundenen Gesellschaften\n (Techem Energy Services GmbH, Techem Solutions GmbH, Techem X GmbH,\n bautec Energiemanagment GmbH) die von mir oben eingetragenen Daten für werbliche Ansprachen per E-Mail und/oder der Auswertung zu Marketingzwecken\n verarbeitet.\n
    \n Diese Einwilligung erfolgt freiwillig und ist mit Wirkung für die Zukunft jederzeit widerrufbar.\n Einzelheiten zum Datenschutz bei der Techem GmbH entnehmen Sie bitte dem Datenschutzhinweis.\n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n email-icon\n email-img\n
    \n \n
    \n
    \n
    \n
    \n
    \n

    Techem CO2-Abgabe-Prognose

    \n\n
    Ihre individuelle Kostenprognose zur CO2-Abgabe
    \n
    Erhalten Sie einen schnellen\n Überblick über die zu erwartende CO2-Abgabe individuell für Ihre Liegenschaft berechnet.\n Als kleines Plus haben wir Ihnen zudem die aktuelle Rechtslage zur CO2-Umlage\n zusammengefasst und zeigen Ihnen, mit welchen einfachen Maßnahmen\n Sie und Ihre Mieterinnen und Mieter Energie und somit Emissionen sparen können!\n
    \n
    \n \n \n
    \n
    \n
    \n item-icon\n
    {currentSelected.name}
    \n
    \n
    {parseFloat(Consumption.Value).toLocaleString('de-DE')} {Consumption.Unit}
    \n
    \n
    \n
    \n house-icon\n
    Wohnfläche
    \n
    \n
    {TotalArea} m2
    \n
    \n
    \n \n \n
    \n
    \n house-icon\n
    CO2-Emission (10 Jahre)
    \n
    \n
    {parseFloat(((TotalEmission(currentSelected, Consumption, fetchedData) / 1000) * 10).toFixed(2)).toLocaleString('de-DE')} t
    \n
    \n
    \n \n \n
    \n
    \n
    {parseFloat(CalculateYearlyCost()).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €
    \n
    \n
    \n
    Gesamtkosten
    \n
    inkl. MwSt.
    \n
    \n
    (10 Jahre)
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    Techem CO2-Kostenprognose:
    \n
    Ihr Anteil beträgt voraussichtlich {parseFloat(CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData)).toLocaleString('de-DE')} %\n
    \n
    \n \n \n \n \n \n \n Mietende\n \n \n \n
    \n {parseFloat(100 - (CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData))).toLocaleString('de-DE')} % Anteil an der CO2-Abgabe\n
    \n \n\n
    \n \n \n \n \n Vermietende\n \n \n \n
    \n {parseFloat(CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData)).toLocaleString('de-DE')} % Anteil an der CO2-Abgabe\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    Dieser Wert ergibt sich aus der Energiebilanz Ihres Gebäudes.\n Je besser diese ist, desto niedriger ist Ihr voraussichtlicher Anteil an den CO2-Kosten als Vermieterin oder Vermieter.\n Eine Verabschiedung des Gesetzes steht allerdings noch aus, weshalb es sich um eine unverbindliche Prognose handelt.\n Besuchen Sie gerne weiterhin unseren\n \n CO2-Rechner\n ,\n um über Updates informiert zu werden oder diesen erneut zu nutzen.\n
    \n\n

    Die Rechtslage kurz erklärt

    \n \n pdf-img\n \n
    Anfang April hat sich die Bundesregierung auf die Neuregelung zur Verteilung der\n CO2-Bepreisung zwischen Mietenden und Vermietenden geeinigt.\n Damit nimmt die Regierung nun auch Vermietende mehr in die Pflicht.\n Sie sollen bei den Heizkosten und der Warmwasseraufbereitung ab 2023 anteilig\n am CO2-Preis beteiligt werden - abhängig von der Klimafreundlichkeit des Gebäudes.\n Dafür ist ein Zehn-Stufenmodell vorgesehen: Bei Wohnungen mit einer besonders schlechten\n Energiebilanz übernehmen Vermietende 95 % und Mietende 5 % der CO2-Kosten.\n In den weiteren Stufen nimmt der Anteil für Vermietende ab.\n\n
    \n \n
    \n
    \n
    \n \n
    \n pdf-img\n
    \n
    \n
    \n
    \n
    \n

    Wir helfen Ihnen gerne, die Energiebilanz Ihrer Immobilie zu verbessern!

    \n \n
    \n
    \n
    Mit der unterjährigen Verbrauchsinfo 10 % Einsparung erzielen*
    \n
    Beim Energie sparen unterstützt die EED-Verbrauchsinfo von Techem! Sie enthält detaillierte\n Angaben zum Verbrauch von Heizung und Warmwasser für Ihre Mieterinnen und Mieter.\n Durch das Mehr an Transparenz kann der Verbrauch effizient sinken - und damit auch die Kosten.
    \n Mehr erfahren\n icon-right\n \n
    \n pdf-img\n
    \n
    \n \n
    \n
    \n
    CO2-Abgabe reduzieren mit unseren Energiespartipps
    \n
    Was ist die optimale Raumtemperatur? Wie lüftet man richtig? Und warum sollte die Heizung nicht\n komplett ausgestellt werden? Mit unseren sieben Tipps rund um das Thema „Clever heizen“ können\n Ihre Mieterinnen und Mieter ihren Verbrauch noch stärker reduzieren!
    \n Mehr erfahren\n icon-right\n \n
    \n pdf-img\n
    \n
    \n \n
    \n
    \n
    Mit dem Techem Heizungscheck Online Eindruck über Heizungsanlage erhalten
    \n
    Nutzen Sie den kostenlosen Techem Heizungscheck Online und überprüfen Sie, wie fit Ihre Heizungsanlage ist.\n Mit wenigen Fragen erfahren Sie mehr über mögliche Optimierungen, um Energie zu sparen.\n Starten Sie den Check ganz einfach und bequem online.
    \n Mehr erfahren\n icon-right\n \n
    \n pdf-img\n
    \n
    \n \n *Mit der unterjährigen Verbrauchsinfo können Mieterinnen und Mieter laut Untersuchungen etwa 10 % ihres Heizungsverbrauchs senken (\n dena-Studie\n ).\n \n
    \n
    \n \n
    \n pdf-img\n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default FourthStep;","import React, { useEffect, useRef, useState } from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport { useCurrentContext } from '../Context/Context';\nimport { TotalEmission, CalculateShare, getTenantData, getLandlordData } from '../Calculation/Calculation';\nimport Chart from '../Chart/Chart'\nimport InfoModal from '../Modal/modal';\n\nimport IconFlussiggas from '../../assets/icons/IconFlussiggas.svg'\nimport IconErdgas from '../../assets/icons/IconErdgas.svg'\nimport IconHeizol from '../../assets/icons/IconHeizol.svg'\nimport IconFernwarme from '../../assets/icons/IconFernwarme.svg'\nimport IconHouse from '../../assets/icons/IconHouse.svg'\nimport IconCloud from '../../assets/icons/IconCloud.svg'\n\nconst ReportSection = () => {\n const { currentState, currentSelected, Consumption, TotalArea, discount, showDiscount, fetchedData } = useCurrentContext();\n const tenantData = getTenantData(currentSelected, Consumption, fetchedData);\n const landlordData = getLandlordData(tenantData, currentSelected, Consumption, TotalArea, fetchedData);\n const CalculateYearlyCost = () => {\n const sum = landlordData.reduce((partial, current) => {\n return parseFloat(partial) + parseFloat(current)\n }, [0])\n return parseFloat(sum).toFixed(2)\n };\n\n let selectedIcon\n if (currentSelected.val === 1) {\n selectedIcon = IconFlussiggas\n } else if (currentSelected.val === 2) {\n selectedIcon = IconErdgas\n } else if (currentSelected.val === 3) {\n selectedIcon = IconHeizol\n } else if (currentSelected.val === 4) {\n selectedIcon = IconFernwarme\n }\n\n // get element when visible\n const useOnScreen = (ref) => {\n\n const [isIntersecting, setIntersecting] = useState(false)\n\n const observer = new IntersectionObserver(\n ([entry]) => setIntersecting(entry.isIntersecting)\n )\n\n useEffect(() => {\n console.log(observer);\n observer.observe(ref.current)\n // Remove the observer as soon as the component is unmounted\n return () => { observer.disconnect() }\n }, [])\n\n return isIntersecting\n }\n\n\n // scroll scrollable element when visible\n const visible = useRef()\n const isVisible = useOnScreen(visible)\n if (isVisible) {\n visible.current.scrollBy({ left: 200, behavior: 'smooth' })\n setTimeout(() => {\n visible.current.scrollBy({ left: -200, behavior: 'smooth' })\n }, 250);\n }\n\n return (\n
    \n
    \n \n \n
    \n
    \n
    \n item-icon\n

    {currentSelected.name}

    \n
    \n
    {parseFloat(Consumption.Value).toLocaleString('de-DE')} {Consumption.Unit}
    \n
    \n
    \n
    \n house-icon\n

    Wohnfläche

    \n
    \n
    {TotalArea} m2
    \n
    \n
    \n \n \n
    \n
    \n house-icon\n

    CO2-Emission (10 Jahre)

    \n
    \n
    {(parseFloat(((TotalEmission(currentSelected, Consumption, fetchedData) / 1000) * 10).toFixed(2))).toLocaleString('de-DE')} t
    \n
    \n
    \n \n \n
    \n
    \n
    {parseFloat(CalculateYearlyCost()).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €
    \n
    \n
    \n
    Gesamtkosten
    \n
    inkl. MwSt.
    \n
    \n
    (10 Jahre)
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    Techem CO2-Kostenprognose:
    \n
    Ihr Anteil beträgt voraussichtlich {parseFloat(discount ? CalculateShare(currentSelected, Consumption, TotalArea, 0.9, fetchedData) : CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData)).toLocaleString('de-DE')} %\n \n \n
    \n
    \n \n \n \n \n \n \n Mietende\n \n \n \n
    \n {parseFloat(100 - (discount ? CalculateShare(currentSelected, Consumption, TotalArea, 0.9, fetchedData) : CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData))).toLocaleString('de-DE')} % Anteil an der CO2-Abgabe\n
    \n \n\n
    \n \n \n \n \n Vermietende\n \n \n \n
    \n {parseFloat(discount ? CalculateShare(currentSelected, Consumption, TotalArea, 0.9, fetchedData) : CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData)).toLocaleString('de-DE')} % Anteil an der CO2-Abgabe\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n {currentState === 5\n ? ('')\n : (\n

    Ihr CO2-Kostenanteil beträgt voraussichtlich {parseFloat(CalculateShare(currentSelected, Consumption, TotalArea, 1, fetchedData)).toLocaleString('de-DE')} %

    \n
    \n Dieser Wert ergibt sich aus der Energiebilanz Ihres Gebäudes.\n Je besser diese ist, desto niedriger wird voraussichtlich Ihr Anteil an den CO2-Kosten als Vermieter oder Vermieterin sein.\n Eine Verabschiedung des entsprechenden Gesetzes steht allerdings noch aus, weshalb es sich um eine unverbindliche Prognose handelt.\n
    \n
    \n Sie möchten die Energiebilanz Ihrer Immobilie verbessern? Dabei helfen wir Ihnen gerne mit unseren innovativen Lösungen!\n
    \n
    )}\n
    \n
    \n )\n}\n\nexport default ReportSection;","import React, { useEffect } from 'react';\nimport { useCurrentContext } from '../Context/Context';\nimport { BackButton } from '../Button/button';\nimport ReportSection from '../ReportSection/ReportSection';\n\nconst FifthStep = () => {\n const { setCanContinue } = useCurrentContext();\n useEffect(() => {\n setCanContinue(true);\n }, []);\n return (\n <>\n
    \n \n
    \n \n \n )\n}\n\nexport default FifthStep;","import React, { useEffect } from 'react';\nimport { Button, Row, Col } from 'react-bootstrap';\nimport { useCurrentContext } from '../Context/Context';\nimport { getTenantData, getDiscountedTenantData, getLandlordData, getDiscountedLandlordData } from '../Calculation/Calculation';\nimport { ContinueButton } from '../Button/button';\nimport InfoModal from '../Modal/modal';\n\n\nimport ImagePdfFront from '../../assets/images/ImagePdfFront.png';\nimport ImageFinalThree from '../../assets/images/ImageFinalThree.jpg';\nimport ImagePdfThreeOne from '../../assets/images/pdfThreeOne.png';\n\nimport ReportSection from '../ReportSection/ReportSection';\n\nconst SixthStep = () => {\n const { currentState, currentSelected, setCanContinue, Consumption, TotalArea, discount, showDiscount, fetchedData } = useCurrentContext();\n const tenantData = getTenantData(currentSelected, Consumption, fetchedData);\n const discountedTenantData = getDiscountedTenantData(currentSelected, Consumption, fetchedData);\n const landlordData = getLandlordData(tenantData, currentSelected, Consumption, TotalArea, fetchedData);\n const discountedLandlordData = getDiscountedLandlordData(discountedTenantData, currentSelected, Consumption, TotalArea, fetchedData);\n\n const CalculateYearlyCost = () => {\n const sum = landlordData.reduce((partial, current) => {\n return parseFloat(partial) + parseFloat(current)\n }, [0])\n return parseFloat(sum).toFixed(2)\n };\n\n const CalculateDiscountedYearlyCost = () => {\n const sum = discountedLandlordData.reduce((partial, current) => {\n return parseFloat(partial) + parseFloat(current)\n }, [0])\n return parseFloat(sum).toFixed(2)\n };\n\n useEffect(() => {\n setCanContinue(true);\n }, [])\n\n const showDiscountChart = () => {\n showDiscount(!discount);\n }\n\n return (\n
    \n \n \n

    \n Energie sparen mit
    Techem\n

    \n
    \n Steigern Sie durch Energieeffizienz den Wert Ihrer Immobilie.\n Beauftragen Sie jetzt unsere unterjährige Verbrauchsinformation, um Ihren Energieverbrauch um 10 % zu senken.\n Oder werfen Sie einen Blick in unsere Energiespartipps, um unkompliziert zu sparen.\n Und mit unserem Heizungscheck Online können Sie herausfinden, wie fit Ihre Heizungsanlage ist.\n
    \n \n \n front-img\n \n
    \n \n \n

    Energie sparen mit Techem

    \n
    Kosten kennen. Klug planen. Mit Weitblick investieren. Mit  Techem erhalten Sie nicht nur eine Einschätzung\n über die voraussichtlichen CO2-Kosten, die Sie erwarten. Wir unterstützen Sie zudem gerne mit smarten Lösungen beim Energie sparen.\n Verschaffen Sie sich hier einen einfachen Überblick über unser Angebot plus voraussichtlicher Einsparpotenziale!
    \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    10 Jahre Gesamtkosten
    \n\n
    \n
    \n
    \n
    \n {parseFloat(CalculateYearlyCost()).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €
    \n
    inkl. MwSt.
    \n
    \n {discount\n ? (
    \n
    {parseFloat(CalculateDiscountedYearlyCost()).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €
    inkl. MwSt.
    \n \n
    )\n : ('')}\n
    \n
    \n \n \n \n \n
    \n \n \n
    \n Durch mehr Transparenz mit der EED-Verbrauchsinfo von Techem können Mieter sowie Eigentümer ihren Verbrauch effizient senken - und damit auch die Kosten!\n Denn: Nur wer seinen Verbrauch kennt, kann gezielt Energie sparen.\n Aktivieren Sie noch heute die EED-Verbrauchsinfo!\n
    \n \n
    \n \n
    \n \n
    \n
    \n \n \n

    \n Unkompliziert Abgaben reduzieren mit unseren Energiespartipps\n

    \n
    \n Damit Ihre Mieter ihren Verbrauch noch einfacher reduzieren können, haben wir sieben einfache\n Tipps zum Thema „Clever heizen“ zusammengestellt. Hier erfahren Sie, was die optimale Raumtemperatur ist,\n wie man richtig lüftet und wie sich bis zu 50 kg CO2 im Jahr - quasi im Schlaf - sparen lassen!\n
    \n \n \n ImageFinalTwo\n \n
    \n \n \n \n \n \n ImageFinalTwo\n \n \n

    \n Heizungscheck Online\n

    \n
    \n Damit eine Heizungsanlage effizient läuft, müssen ihre Komponenten richtig eingestellt sein.\n Doch wie fit ist Ihre Heizungsanlage wirklich? Mit wenigen Fragen können Sie einen Eindruck davon bekommen,\n ob sich die Effizienz Ihrer Heizungsanlage verbessern lässt, um Energie zu sparen.\n Machen Sie jetzt den Check mit dem Heizungscheck Online.\n
    \n \n
    \n \n \n \n \n *Mit der unterjährigen Verbrauchsinfo können Mieterinnen und Mieter laut Untersuchungen etwa 10 % ihres Heizungsverbrauchs senken (\n dena-Studie\n ).\n \n
    \n )\n}\n\nexport default SixthStep;","import React from 'react'\nimport './style.css';\n\nimport FirstStep from '../Steps/FirstStep';\nimport SecondStep from '../Steps/SecondStep';\nimport ThirdStep from '../Steps/ThirdStep';\nimport FourthStep from '../Steps/FourthStep'\nimport FifthStep from '../Steps/FifthStep';\nimport SixthStep from '../Steps/SixthStep';\n\nimport { useCurrentContext } from '../Context/Context';\n\nconst SelectionChoice = () => {\n const { currentState } = useCurrentContext();\n switch (currentState) {\n case 1:\n return \n case 2:\n return \n case 3:\n return \n case 4:\n return \n case 5:\n return \n default:\n return \n }\n}\n\nexport default SelectionChoice;","import React, { useEffect } from 'react'\nimport Header from '../Header/header'\nimport Footer from \"../Footer/footer\";\nimport Stepper from \"../Stepper/stepper\"\nimport SelectionChoice from \"../SelectionChoice/selectionChoice\"\nimport { ContinueButton } from \"../Button/button\"\nimport LoadingOverlay from 'react-loading-overlay'\nimport HTMLReactParser from 'html-react-parser';\nimport { useCurrentContext } from '../Context/Context';\nimport { PageTracker, SelectionTracker } from '../Tracker/tracker';\n\n\nconst Layout = () => {\n const { loading, currentState, currentSelected } = useCurrentContext();\n // scroll app to top on state change\n useEffect(() => {\n PageTracker(currentState);\n window.scrollTo(0, 0);\n }, [currentState]);\n\n useEffect(() => {\n SelectionTracker(currentSelected, currentState);\n }, [currentSelected]);\n\n useEffect(() => {\n if (currentState === 4) {\n document.body.style.background = '#d9d9d980'\n document.getElementsByClassName('main')[0].style.height = 'auto'\n } else {\n document.body.style.background = 'white';\n document.getElementsByClassName('main')[0].style.height = '100vh'\n }\n }, [currentState]);\n \n return (\n Prognose wird berechnet...

    Dies kann bis zu 10 Sekunden dauern

    ')}>\n
    \n
    \n
    \n {currentState > 3\n ? ('')\n : ()}\n \n {currentState === 3 || currentState === 5\n ? ('')\n : ()}\n
    \n
    \n
    \n
    \n );\n}\n\nexport default Layout;\n\n","const PageTracker = (state) => {\n const pageIdentifier = `page: ${state + 1}`;\n\twindow.siteDataLayer = window.siteDataLayer || [];\n\twindow.siteDataLayer.push({\n\t\tevent: 'pageView',\n\t\tpageLanguage: 'de',\n\t\tpageIdentifier: pageIdentifier, // Optional, but necessary if no virtual page path in url\n\t\tpageName: document.title, // document.title\n\t\tpagePath: window.location.pathname, // Path w/o query parameters\n\t\tpageURL: window.location.href, // Full URL\n\t\tvirtualPagePath: window.location.hash, // Virtual hash routing path, including #, empty string if 'null/undefined'\n\t});\n};\n\nconst SelectionTracker = (selected, state) => {\n const pageIdentifier = `page: ${state + 1}`;\n\twindow.siteDataLayer = window.siteDataLayer || [];\n\twindow.siteDataLayer.push({\n\t\tevent: 'AnswerSelection',\n\t\tpageLanguage: 'de',\n\t\tpageIdentifier: pageIdentifier, // Optional, but necessary if no virtual page path in url\n\t\tpageName: document.title, // document.title\n\t\tpagePath: window.location.pathname, // Path w/o query parameters\n\t\tpageURL: window.location.href, // Full URL\n\t\tvirtualPagePath: window.location.hash, // Virtual hash routing path, including #, empty string if 'null/undefined'\n\t});\n};\nexport {PageTracker, SelectionTracker};","import React from \"react\";\nimport \"bootstrap/dist/css/bootstrap.css\";\nimport './App.css'\n\nimport Layout from './components/Layout/Layout';\nimport { CurrentContextProvider } from './components/Context/Context';\n\nconst App = () => {\n if (window.location.href === \"https://co2-rechner.azurewebsites.net/\"\n || window.location.href === \"https://techemco2app.azurewebsites.net/\"\n || window.location.href === \"https://www.techemco2app.azurewebsites.net/\"\n || window.location.href === \"https://www.co2-rechner.azurewebsites.net/\") {\n window.location.replace(\"https://co2-rechner.techem.com/\")\n }\n return (\n \n \n \n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nReactDOM.render(\n ,\n document.getElementById('root')\n);","module.exports = __webpack_public_path__ + \"static/media/IconErdgas.ae0b13b0.svg\";","module.exports = __webpack_public_path__ + \"static/media/IconHeizol.6b14f418.svg\";","module.exports = __webpack_public_path__ + \"static/media/IconFernwarme.622593d9.svg\";","module.exports = __webpack_public_path__ + \"static/media/IconHouse.d9cb3431.svg\";","module.exports = __webpack_public_path__ + \"static/media/IconCloud.f6d60bc4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ImageFinalThree.94100c48.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pdfThreeOne.d7b09b01.png\";","module.exports = __webpack_public_path__ + \"static/media/IconRight.d5e002b0.svg\";","module.exports = __webpack_public_path__ + \"static/media/InfoIcon.80cfa423.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADtCAYAAABJeIdtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAF9BJREFUeNrs3U2MXWd9B+A7tpPQYDE2bVoqRB2z6YbWpItskJp40Up0QeIFEl1AiETVTVESCbEhFbZENxWSHYUNIlISWASJRTCVilQWjit1wYcwpmzKJnHZtKKtMzYfSUw8Pb/LPc71zcyd+/Gec8+58zzS0YzHM/eer3t+5/+e97xnY7CD7e3tT1Zf7h0AAF3zysbGxnOTP9zY6d9VoF+ovjxgnQFA51ysAv3kZC1+YIdw36gC3eoCgA7aLaMPjIV5vj9YTXfcvHlzwyoDgO6pMjp5fUc1HRrl98Z4oI9X6Qer9BfoANDNCr0uwg8Mxi6dj6f7wdF01yj9AYCOefPNN5PRd+bb0XQr0AdjoT4s4wU6AHTTKKPH83t7PNAHY4F+yDV0AOhsoG+M8nt7LL/f1iluGOiuoQNApyv0+jL5rbzeqVPcAYEOAN00um1tvEPcrr3chTkAdN9teb3jwDLWEQB0OsjfltU79WY3TBwAdNv2ZF67PQ0A1oBr6ADQPxuTma3JHQD6Z3uvCh0A6E+ob+8W6KpzAOihnSp019ABYA0CHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOiU9MorrwzOnDkzOHXqlJVBcS+99NJwAgQ6DR5oH3300cHx48cHp0+fHrz66qtWCkVkXzp37txw3zp58uTg4sWLVgrsQ4esgmYPtN/85jcHTz311OBHP/qRFUJR2aeybz333HNWBiDQm5Bm9fpAqxKntOxXThIBgd6gNKvnQJuqHJwkAgK9R+pm9XR0y0EXSqov2ejoBgh0FRM9PEms9y0niYBAb4hmdZrct55//nmd3ACB3oY0rWv+pLSMS+AkEViG+9ChA1y2AQQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADALcx9Cu3ycNAxh8IkhHMLl++PNjc3Bx88IMfvPXzI0eO3Pbvvsry5bniWeYrV67s+nvjy//ggw/aUToq23J81L38e2tra3Ds2LHBvffee+vn+X783yDQ18jJkydbHaM977WxsTHz7ydELly4UPzgl/m4ePHiMNDy73nloJigy/TAAw90PuyynBkzPcucZV90yNXx5X7ooYfW4uSmb7Idc7KZ7Th5IjqrehueOHFi8PDDDzca8ovO46RFT6brk9fJ/bjtE5udjrNZniwXAp05Q7x+WlyJ8cPrg1T9YJF8KHNgfOSRRzoT7lnOPMEsTzJb5KRlr+U+ffp0J5d7noN83RIzrq5qu1TNZjueP3++2INssuz1PvHEE08Ml/OTn/zkcDuWXubsf9lXljXryf08J695zYRqlrvkyWneM/OQbVa3hE07Ucl85AQ5nyUBv5iNUbC/s5qOVtP7r1+//t3tfabakbarZe/slPlbxrPPPrtdfVBbnee8X953Va5evbpdHUC3qwNDq8tdBcHcy11y/8syT/Piiy9uV6E1nM95lil/k7/dL9sxy3vp0qViy5FlaONY8PLLLw/nvc39d1J1wrHUPNTrP8vC221tbX2/WkfvraZ7qunOarpDoO+DQM8BadXLlvcveWCc9QSm7QDY6cA4awC2EehZJ/OE+G5T1mveI0HbtKy/VW/HBEuJZW060DOPjz/+eNH9N8E8jwRw6ePNXieoAl2g74tAP3v2bKeWoY0PZg5qXduWmZ+9Ko0mAz2hWCLIdwr27GNNbceHH364M9swyzpvuLUZ6DlhbmIbZ8pJwqqPN2nta+MEUqAL9E4G+rLNXV2vdnZrjVh1NTctEKY1YzYR6FnPbewHCd6S2zSv1fbloVmnZZqimwr0nGg0vd9nP1r1yVf2ibZb+gS6QF95oHc1zJs82+5C0+wyrRSlA73tUCy1TfMaXd+O08Kt7UBPwK1yufu6n61roBtYZs08+uijw57AXe9pf+rUqaK3weT1SvTab1pu7Wuj53puwyzVo3/WbXrfffcttQ3q+e76dsznqwufsazzrK82l3vy7oJV7GdtLrNe7ir0lVXoaQ7seoW6yLW5vjaz79Q03df9r40KqkvXzGeZ5u3xX7pCX8VliXzW6u27ypbA/d5RTpP7mgd6Ol31JdiWOShONvc11RGoiWlax7h1CfRFT9T6djI6GW5tB3qp11o0TPO57fLnab8GuoFl1qipvXRTZT3YxPgAD8uMyrXbfOd9FhlEIn9baj6mySAX9Uh4UQ+0Uo94lYE70hQ5rekxA4rsl6FGz507N3jsscdmXt7stxnUpaR6NLXxQX7qQXRKjQiZ18s+WIVbq+s3+3yJAWqW2b5dcObMmUF1Iujgr8l9vSr09HItWXXMco9x3rNUE+kiFV3TFUI9uMY8FdhuA3rMUsmtU4U+mLPjWMlqc9ZBUUrdk59p1tvZVllVr+u0X6v03Sr0jdF0sJruGv3H0SrQXzh8+PD9++msJh0+pj2cY7zSKlX9zjNEaIbhzJCUOyk1Dn0qmgwpOU+1nPWWKmVZ1Qdzrgr2+PHjjVTnWfazZ8/uuq5nraCyTuptkipir9dr+1kCTct6zDbda19KlZttWaJ1Ket43oqtRCfSWYdiTUW5ysp6HeWzWhUE+265r1279oPNzc2Hq2/fqKat0QnODRX6nAYd69SRM9TBijszlbj+OU9F19T11tL3U6cVYdbbDduq0FOV5r3a6FA1S/+IUtty0VvJSnXGm6VKb6NCz3bN9m1rG09rUaynJvu5TOtoqlOcQO9doJc6SCw7YMOygTRPB6MmDhDLBELXL/lMu3zQ5Bj/s1xKKfHeWb5lTsRK3Ps+S7A0FejTLpO1OQ7+tMsdy44vP23ZBbpAX5tAL3FALBFmJa5pz3Lts4lr56sO8yYDfdZWhyYOtrPcmVHifUo8AKjE8u+1npsI9ATaLCfjTd/eOesIkE20ru3H6+gGlllDiz7DfFIeV7is9ARfVnqL7yWPoCwp872uPWXTJyI9sGfpE5F1UPqxr3v1cSjxCNT6sbXLymNDl1Xqka7zyLX7WR53Wu8LTe1n2X9m2c/Sz6H0Ne827nTpC4HeY6U6UZU4INadg5pcnvrZyiU7bq3zbS/zHsBLr4u9DrSznMDNss+VeG52iWeATz5PvmkJx3nme96OuE3tZ5///OcFukCnqQNiyYBc9oM5rbdz6V7g6SFbIgy6KAf7ee97z++XOrmbRYnWpRJBXGLfLbU8TQdjiZaIZfezrOuSx51Z7k4S6HReiTPTUgfEUq817aBY4gRmPLyWuTWt6xa9jFLi8ssscuJWYv8tOTZ+0y1MJeWztshARaUr9EX3lyZaChDovVbiANK1CnXaQb5kBdRmJdq2Za4rlzzB61I125a2HiyzaCCWHq1w0f3lxIkTDuANMPTrPj9wJEBLVRYlKq5pzWclK6DSTY9dskwolw70bLOdwqfUdc+S+2+Jz1ROVNqoPjPQ1KIS6qXW/6InCOt6qUugs9IKpyuPgmzjZGH8YNJWJdq3QC99wF/kxG0eJUYp3G/buI3ty2pocqcXwV3yALTOYV6i+tkvD5FhOV25Dt7WZQ6BTi8q1v22XOse6H2wTuPWjyvZcZPZrGt/DIG+j+y3WzVKHihdvwMEOtB5m5ubVgIIdKDvXFIAgQ4A9JTb1va5rt3Ctdu8LHPf7SSdaNZHeuR3qVd+yf0UBDpzB2ie2NSHA3cp7sFdHxm+t/TDPqCvNLn3VMkxrPvSklCyQnfv6vqcoAECnUF/mp9LXxZYxbOrKR/oWltAoPdeqVGaUqn2pVotOTLV+fPn7UQrVOrhHPpDgEBfuRIhWqrK6Uu1WjLQs8yqu9Up1eLi8gkI9JUrUVmUCri+VKuln9W9Xx/s0QU5GS3VL8LlExDovVeqY1xfqtVUdSU7U2U88T48aW5dlXom/ZkzZ6xMEOj9rtBLHRBXVa0uUlnlNqXSVbrrsKtRqsUlJ6Pnzp1rdd7TzK9lAIHOrQPCskGSJstSAZdqta2DYpb91KlTw2ne6uqxxx4r/nCVkydPCvUVVeiltuUTTzzR2jbM+2Sfyf67rk+NQ6Azp+eff37p13jkkUeKzU8Oik2Hepq4jx8/fqu6yfvN09yfAHj88ceLn2Dcd999xZc9y5oDP7sruS2bPjHLfpLPSPaV+n009yPQuRVmyx6A0jGuZO/vHLBSeZTuOZxKJgfCNHGPv3Z9kFx1lV4ve0Jh2f4EWda8TpbVdfr2tmVTJ2Z53bxmTkQnX9v2RaBzW1Wx7AGh9NCXqZ5z8Er1sUy45UBYV+TTqqe83zxNlwmApob7zHxkfhPG814jzfLl77Ks48uT9ejWqt23ZekWl5yYZRtm31tmvWffr18rX3d7rWn/B20ylvsCB6CSH968VkIgB4VU2jvdn5ugSO/us2fP7lql51p6yUoh83X69OnhlHnK9c70qp/2MIwcADNdvHhxGGjzhHTWwcsvvzzz7ycEcrtdU9cwsy4zZXtn2TMQyk7bJst7+fLl4XzsdsKS33nqqaeMOT6lSs+6LnmnRV5r/HOVfTfbL9NuLQLZfuP776ytZ/ms5KRtt88ntGljFOzvrKaj1fT+69evf3ebHVUHh+1qHbU+5X2nuXr16nYVtCuZt1JTdfIw17bIMlcH514sW+azOmFpZb+6cOFCZ/bxWeclv9fnfTfTpUuXpi5j9u8ubONS23evY1Jb23uZ+eirra2t71fL/t5quqea7qymOzS5L6BLjxqdbDl48cUXG7m23JZcn5yn9SPLmifF9WGZ6yqOwa6tTH2vcOftCwKlCfQ5dfkpZznZ6PNBMcE8b7Nr/fjXPoR6mpXd5rS7XEYpPc4ACiOBzq5K3jvbhBwQn3322V4ezC9durTQB71Poe6hMNNl3+1bqGe/y3xnH2T2dYZA70z4dFkOiH0JuDS1JsjTsrDM/Nah3uXnbGcZdZyaLdTTGbMP8llLZ04tCwj0nkqv3K43GdVB2dX5TPDWVU2peczrZJlLDolbcr66fiLYJbkjoMt9QurPV/Zh1SYCvcfqJrauf5ATmjnopNrpyrzWQd5UVVN3DuxCGNT7SZdPrLosJ2Zdq34T5DkJLXkiCgK9I1VXHz7UqXZyYFxlsOdA2GSQ7xYGq1jmnLTkfTXFljspSoCWHBFxXtmO+byvej5AoDdcAeeA09S12/oBLMtee61HV0vI5LXaOBHJe6SZOe+ZA2Hb4Ta+zNlGTS9zTiLSMpD3y/tqii1fGWfdZp9qY91me2a/uXr1aiv7DyzLSHGFzt4zZajQ9GLOCFPLjNGek4N6dKvSverroTYz5RaxzHM9MtayI+DVI3FlvjP/XemgVp8UZaqXucQoc/XIfvXyCvB2TqLrzoX5jNXbscTtgLYnAp3bzujHO2TVIZmhQcfVB5/xYSg3Nzf3HJqyiYNjHe5RP9I1oXflypVbv5ef5f8m5+3YsWPD18jP+lK9TC5zvWw5qZl1eacNf7vMyVDJE5h1mZdZTiDrIXXr7ZavW1tbt33edtpHM5xv/fM2PnPZf0o11y97R0gX9tlS60LLyVs2RtPBarpr8Nsh5I5ev379hcOHD99v9QBAt1y7du0HVRGY6vGNasrZa4bBveEaOgCsAYEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AGGfo15Gf/8VDg9f/9d+sCBZ2x4kPDA5sbg6/v+uBDw0OHfujwR1/+oHhzxkMblz+yeDGj38y+M2V/xy8fvG3n7U3r/xs+G9Y1Ds//teDo888bUUI9LEVUR18Xx8IdJYLrNrkyeFdf/6hwe985K+G08Fj79s36yPr4dff+mcnyzTm4L3vsxIEup2C9iTQMr36mc8NK/ZUFesY7qm4f/m1Fwa/+urXVd60om4VQ6DfkqZRaKtyffXy54bhnmC/+xMfG1bwfT9h+cXTXx5W49DqsdslrbdObqyC37rzxJ9YCbQu1Wz6b2Qab7LvU5DX8y/MUYwJ9E5I02euo8OqgvG/739wcPVTnx7cfHWr8/Obefzfj35CZ1JWXp0fOKLJXaDv4B0f+bCVwMor9v/64z/rdLX7q699vfPzyP6QS1YIdDsHna9+u1atZ14yT//3qb/rRSsC6y8dSxHoO0rzjWZ3ulSt//wvH+pEeKb3euYl8wRdkI6k++UWUIG+oHf9/WetBDojHeXSvL3KDnN571zf72OnPRyrBfo+dvfHP6ZKp1NSoac6XkWg5j270koA49V532/1FOgtMYwgQl2YozoX6Gty9qeDHF0M9XSWayNg62vmwpyuOfzpv1WdC/T5bH7xC0YgonMynGrTQZvX/p+PflyY0zk5Jh/54j9YEQJ9zhVzZHPw7q98yaAFdE6awrc+82Rjr3/1bz6tAxydDPN7/uW8FSHQl9uBdJKja3L7WBMDuxiPnS4fixVYAn3pHen3v3dB8zudk0q6ZLN4rptf+8I/WrF0Sq6XC3OBXm4lVTvSH3zvJT0r6ZThyG1VqJdiBDi6dtzNMfee7whzgd6Adz352cEf/vTSsAe8HYwuSPN4iSbyjM/uISt0JchzjB0WUU8qouaxMZoOVtNd1XRnNR29fv36C4cPH77f6pleHb32T98udkCFRaWPx3t++sOl9uWMRqc6Z5Uhnqb1jM2ewb2Y7tq1az/Y3Nx8uPr2jWrKB3e7mm4csmoW3wGz49U7X3oF55aiGz/WO3g/ev3i7dVtm9Vu9rtc+160mvnFl77capjnszP5DOu7HnBf8X6UED+wuamPkgodui8dzRK49dcEf/196ZB8z3/8cO5LQU1V52k1yEG6fuBRHqKREHepClTo0EsJstueCPXkW0H/xuV/H1byr33r20sHfAI5lfa8VXqp6jyh/Y6PfPjWGNuCG1TosC/lkk3uLV8m3Oe9lr5sdZ73u/sTHxt2YPIYS1h9ha6XO3RAPaRlAvl3v/HVhcaqzonAPB0006lzkTAf3hf8nfPDeU2LgDCHbhDo0DHp6ZvAzDRvsOf2s1n98qsvzB3kuW1zkfkCBDrsW3UlnIp91uGHU6HPUnXnGv6sPfHz3vUJhmocBDqwRMWe4YdnfaRvmtJnCf5Z5FGVeW8VOQh0oMQH9cjm4OgzTw/e/cyXioT1XtX58GmD1Xvlur4e6yDQgcIykFGGxJwWsnuFdZrkp4V+XjsPwzBiFwh0oEF7PUoygT0t1Kf9X147JwxG7gKBDrQY6rsF7yKBXr+mjm8g0IGWQ/33vvG1HSv1ybHl9wr0vap+QKADDUo1vVMQT3tIUEalu+0gMLpmLsxBoAMrrtQnAznX0SeDe6fqXJiDQAc6FupHv/L0bT/baUz4yZDPoDU6wIFABzokA9DkvvFb4b1Ds/vNrbdGkct95gaMAYEOdFBGdkuwx5uv/Oxt/193lsuoc+4zh/XieeiwZtL0nub23R7DOmyef+ZpKwpU6ECnP9QZtvUrOw8Rmyb33OoGCHSgB+rnq0/y/HIQ6EAPQ31SfX0dEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAPYK9G2rBQBU6ABAszZG09sCfWPiKwDQXdvTKnShDgA9DfUDYz8cnwCA7toYTDS7u4YOAGvgwC6JDwB019ta1VXoALCGFToAINABgFWor5kfrKa7qunOajpSTXdU0z2jn989+ir8AaB9N6vpzWp6rZp+XU2/qqar1fRGNW2N/v/GobE/qC+u3xz748Ho67ZAB4CVBno91Tl9223mhyb+aKdA/80ozAU6AKwm0G+O8njXUD80EeT5pRujf6ekPzj62YZAB4DWjbeeJ59fH02/GU23bl3bq8l9exTq7k8HgNWF+k4V+o5N7uO//NqoGt8ehfghgQ4AK6/S3xyrzF8fTDS7H9rlD7ZHpf3G6JcFOgC0E94bUwJ912vo409Yq7+vr5UfnPgdAGD1lfr4dLP+v0M7nBXUaX9ToANApwJ9Mthv+X8BBgB1loSKOiy4yAAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/Techem-Logo.bae6bf05.svg\";","module.exports = __webpack_public_path__ + \"static/media/InfoHover.f5fd8ff3.svg\";"],"sourceRoot":""}