{"id":109,"date":"2026-05-12T13:53:24","date_gmt":"2026-05-12T13:53:24","guid":{"rendered":"https:\/\/serviceagent.ai\/tools\/?page_id=109"},"modified":"2026-05-19T11:05:19","modified_gmt":"2026-05-19T11:05:19","slug":"solar-cost-calculator","status":"publish","type":"page","link":"https:\/\/serviceagent.ai\/tools\/solar-cost-calculator\/","title":{"rendered":"Solar Cost Calculator"},"content":{"rendered":"\n<style>.asc-wrap,.asc-wrap *,.asc-wrap *::before,.asc-wrap *::after{box-sizing:border-box !important;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif !important;}.asc-wrap *{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;color:inherit !important;font-size:inherit !important;font-weight:inherit !important;line-height:1.4 !important;text-decoration:none !important;list-style:none !important;box-shadow:none !important;max-width:none !important;min-width:0 !important;float:none !important;clear:none !important;text-transform:none !important;letter-spacing:normal !important;}.asc-wrap a{cursor:pointer !important}.asc-wrap button{cursor:pointer !important;-webkit-appearance:none !important;appearance:none !important}.asc-wrap{display:block !important;width:100% !important;max-width:1200px !important;margin:0 auto !important;padding:24px 16px !important;color:#0c0032 !important;background:#ffffff !important;font-size:16px !important;line-height:1.5 !important;}.asc-hero{display:block !important;background:linear-gradient(135deg,#2c157a 0%,#7456da 100%) !important;color:#ffffff !important;text-align:center !important;padding:72px 28px !important;border-radius:24px !important;margin:0 0 32px !important;}.asc-hero h1{font-size:44px !important;color:#ffffff !important;font-weight:800 !important;margin:0 0 16px !important;line-height:1.1 !important;letter-spacing:-0.02em !important;}.asc-hero p{font-size:17px !important;color:rgba(255,255,255,.92) !important;max-width:760px !important;margin:0 auto 28px !important;line-height:1.6 !important;}.asc-hero-cta{display:inline-flex !important;align-items:center !important;gap:10px !important;background:#adf21b !important;color:#0c0032 !important;padding:14px 28px !important;border-radius:999px !important;font-weight:700 !important;font-size:16px !important;box-shadow:0 10px 24px rgba(0,0,0,.18) !important;transition:transform .15s ease,background .15s ease !important;}.asc-hero-cta:hover{background:#9adf0e !important;transform:translateY(-1px) !important}.asc-hero-cta-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:22px !important;height:22px !important;background:#0c0032 !important;color:#adf21b !important;border-radius:999px !important;font-size:12px !important;}.asc-section{display:block !important;padding:56px 24px !important;margin:0 0 24px !important;border-radius:20px !important}.asc-section-soft{background:#f3f0fe !important}.asc-section-bench{background:linear-gradient(180deg,#fafbff,#ffffff) !important;border:1px solid #eef0f7 !important}.asc-narrow{display:block !important;max-width:880px !important;margin:0 auto !important}.asc-section-title{font-size:30px !important;font-weight:800 !important;text-align:center !important;color:#0c0032 !important;margin:0 0 28px !important;letter-spacing:-0.02em !important;line-height:1.2 !important;}.asc-calc-grid{display:grid !important;grid-template-columns:1fr !important;gap:24px !important}@media(min-width:1024px){.asc-calc-grid{grid-template-columns:1fr 1.4fr !important}}.asc-card{display:block !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:14px !important;overflow:hidden !important;box-shadow:0 4px 14px rgba(116,86,218,.07) !important;margin:0 0 20px !important;}.asc-card:last-child{margin-bottom:0 !important}.asc-card-head{display:block !important;padding:16px 22px !important;background:#faf7ff !important;border-bottom:1px solid #ece8f7 !important}.asc-card-head h3{font-size:17px !important;color:#7456da !important;font-weight:700 !important}.asc-card-head-purple{background:#7456da !important;border-bottom:0 !important}.asc-card-head-purple h3{color:#ffffff !important}.asc-card-body{display:block !important;padding:22px !important}.asc-card-sub{font-size:13px !important;color:#5a5570 !important;margin:6px 0 0 !important}.asc-field{display:flex !important;flex-direction:column !important;margin:0 0 16px !important}.asc-field:last-child{margin-bottom:0 !important}.asc-field label{display:block !important;font-size:13px !important;font-weight:600 !important;color:#0c0032 !important;margin:0 0 6px !important}.asc-field input,.asc-field select{width:100% !important;height:auto !important;padding:11px 12px !important;margin:0 !important;border:1px solid #e0dbf2 !important;border-radius:9px !important;font-size:14px !important;line-height:1.4 !important;background:#ffffff !important;color:#0c0032 !important;outline:none !important;-webkit-appearance:none !important;appearance:none !important;}.asc-field select{background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%237456da' d='M6 8L0 0h12z'\/><\/svg>\") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;padding-right:34px !important;}.asc-field input:focus,.asc-field select:focus{border-color:#7456da !important;box-shadow:0 0 0 3px rgba(116,86,218,.16) !important;}.asc-field.asc-has-error input,.asc-field.asc-has-error select{border-color:#e74c3c !important}.asc-err{display:none !important;color:#e74c3c !important;font-size:12px !important;margin:6px 0 0 !important}.asc-field.asc-has-error .asc-err{display:block !important}.asc-actions{display:flex !important;gap:10px !important;margin:18px 0 0 !important}.asc-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:12px 18px !important;border-radius:10px !important;font-weight:700 !important;font-size:15px !important;transition:background .15s ease,transform .12s ease !important;}.asc-btn-primary{flex:1 !important;background:#adf21b !important;color:#0c0032 !important}.asc-btn-primary:hover{background:#9adf0e !important;transform:translateY(-1px) !important}.asc-btn-reset{background:#7456da !important;color:#ffffff !important;padding:12px 22px !important}.asc-btn-reset:hover{background:#5e3fc5 !important}.asc-summary-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:18px !important}@media(max-width:520px){.asc-summary-grid{grid-template-columns:1fr !important}}.asc-summary-cell{display:block !important;padding:14px !important;background:#faf7ff !important;border-radius:10px !important}.asc-summary-label{font-size:12px !important;color:#5a5570 !important;font-weight:700 !important;margin:0 0 6px !important;text-transform:uppercase !important;letter-spacing:.04em !important}.asc-summary-val{font-size:20px !important;color:#0c0032 !important;font-weight:800 !important}.asc-summary-main{font-size:26px !important;color:#7456da !important}.asc-summary-interest{color:#dc2626 !important}.asc-summary-hero{display:block !important;background:rgba(116,86,218,.10) !important;border-radius:14px !important;padding:24px 18px !important;text-align:center !important;margin:0 0 18px !important;}.asc-summary-hero p{margin:0 !important}.asc-summary-hero-label{font-size:12px !important;color:#5a5570 !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.04em !important;margin:0 0 8px !important}.asc-summary-hero-val{font-size:38px !important;color:#7456da !important;font-weight:800 !important;line-height:1 !important}.asc-summary-sep{display:block !important;height:1px !important;background:#ece8f7 !important;margin:18px 0 !important}.asc-summary-list{display:block !important}.asc-summary-row{display:flex !important;align-items:center !important;justify-content:space-between !important;padding:10px 0 !important;gap:14px !important}.asc-summary-row .asc-summary-row-key{font-size:14px !important;color:#3a3650 !important;font-weight:600 !important}.asc-summary-row .asc-summary-row-val{font-size:16px !important;color:#0c0032 !important;font-weight:700 !important}.asc-summary-row .asc-summary-row-val.asc-red{color:#dc2626 !important}.asc-mini-formula{display:block !important;padding:14px 16px !important;background:#faf7ff !important;border:1px dashed #d8d0f3 !important;border-radius:10px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;font-size:13px !important;color:#3a3650 !important;line-height:1.6 !important;margin:0 0 14px !important}.asc-mini-formula strong{color:#0c0032 !important;font-weight:700 !important}.asc-schedule-toggle{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;cursor:pointer !important;background:#faf7ff !important;border-bottom:1px solid #ece8f7 !important;padding:16px 22px !important}.asc-schedule-toggle h3{font-size:17px !important;color:#7456da !important;font-weight:700 !important}.asc-schedule-toggle-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:28px !important;height:28px !important;color:#7456da !important;transition:transform .2s ease !important}.asc-schedule-toggle[aria-expanded=\"true\"] .asc-schedule-toggle-arrow{transform:rotate(180deg) !important}.asc-schedule-foot{display:block !important;text-align:center !important;font-size:12px !important;color:#5a5570 !important;padding:14px 18px !important;background:#faf7ff !important;border-top:1px solid #f3f1fa !important}.asc-table-wrap{display:block !important;max-height:420px !important;overflow:auto !important}.asc-table{width:100% !important;border-collapse:collapse !important;font-size:13px !important}.asc-table th{position:sticky !important;top:0 !important;z-index:1 !important;padding:12px 14px !important;text-align:left !important;background:#f5f3fb !important;color:#0c0032 !important;font-weight:700 !important;font-size:12px !important;text-transform:uppercase !important;letter-spacing:.04em !important;border-bottom:1px solid #ece8f7 !important;white-space:nowrap !important;}.asc-table td{padding:11px 14px !important;color:#0c0032 !important;font-size:13px !important;border-bottom:1px solid #f3f1fa !important;white-space:nowrap !important}.asc-table tbody tr:nth-child(even) td{background:#fafafd !important}.asc-cell-num{font-weight:700 !important}.asc-cell-prin{color:#7456da !important;font-weight:700 !important}.asc-cell-int{color:#dc2626 !important}.asc-foot{display:block !important;margin:24px 0 0 !important;text-align:center !important;font-size:13px !important;color:#5a5570 !important}.asc-code{display:block !important;padding:22px !important;border-radius:12px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;font-size:14px !important;line-height:1.7 !important;overflow-x:auto !important;white-space:pre-wrap !important;word-wrap:break-word !important;margin:0 0 18px !important;}.asc-formula{background:#ffffff !important;border:2px solid #7456da !important;color:#0c0032 !important;font-weight:700 !important}.asc-example{background:#eef4ff !important;border:2px solid #3b82f6 !important;color:#0c0032 !important}.asc-example-label{display:block !important;font-family:inherit !important;font-size:13px !important;color:#5a5570 !important;font-weight:600 !important;margin:0 0 8px !important;text-transform:uppercase !important;letter-spacing:.06em !important}.asc-copy{display:block !important;margin:24px 0 0 !important}.asc-copy p,.asc-copy div{font-size:16px !important;line-height:1.7 !important;color:#3a3650 !important;margin:0 0 14px !important}.asc-copy p:last-child,.asc-copy div:last-child{margin-bottom:0 !important}.asc-copy strong{color:#0c0032 !important;font-weight:700 !important}.asc-check-grid{display:grid !important;grid-template-columns:1fr !important;gap:16px !important}@media(min-width:768px){.asc-check-grid{grid-template-columns:1fr 1fr !important}}.asc-check-card{display:flex !important;align-items:flex-start !important;gap:14px !important;padding:20px !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:14px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;transition:box-shadow .18s ease,transform .15s ease !important;}.asc-check-card:hover{box-shadow:0 10px 22px rgba(12,0,50,.08) !important;transform:translateY(-2px) !important}.asc-check-icon{flex:0 0 auto !important;width:30px !important;height:30px !important;border-radius:999px !important;background:#7456da !important;color:#ffffff !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:14px !important;font-weight:800 !important;}.asc-check-card p{font-size:15px !important;line-height:1.55 !important;color:#3a3650 !important;font-weight:500 !important}.asc-cta-card{display:block !important;background:#e8e1ff !important;border-radius:24px !important;overflow:hidden !important;margin:0 !important}.asc-cta-grid{display:grid !important;grid-template-columns:1fr !important;align-items:center !important}@media(min-width:900px){.asc-cta-grid{grid-template-columns:1.2fr 1fr !important}}.asc-cta-copy{display:block !important;padding:40px !important}.asc-cta-copy h3{font-size:28px !important;color:#0c0032 !important;font-weight:800 !important;margin:0 0 14px !important;letter-spacing:-0.02em !important;line-height:1.2 !important}.asc-cta-copy p{font-size:16px !important;color:#3a3650 !important;line-height:1.6 !important;margin:0 0 22px !important}.asc-cta-btn{display:inline-flex !important;align-items:center !important;gap:10px !important;background:#0c0032 !important;color:#ffffff !important;padding:14px 26px !important;border-radius:999px !important;font-weight:700 !important;font-size:15px !important;transition:background .15s ease,transform .12s ease !important;}.asc-cta-btn:hover{background:#1f1147 !important;transform:translateY(-1px) !important}.asc-cta-btn-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:22px !important;height:22px !important;background:#adf21b !important;color:#0c0032 !important;border-radius:999px !important;font-size:12px !important;}.asc-cta-art{display:flex !important;align-items:center !important;justify-content:center !important;padding:48px 32px !important;min-height:220px !important;background:linear-gradient(135deg,#7456da 0%,#2c157a 100%) !important;color:#ffffff !important;font-weight:800 !important;font-size:22px !important;text-align:center !important;}.asc-bench-intro{display:block !important;text-align:center !important;font-size:16px !important;line-height:1.65 !important;color:#3a3650 !important;max-width:760px !important;margin:0 auto 28px !important}.asc-bench-grid{display:grid !important;grid-template-columns:1fr !important;gap:18px !important}@media(min-width:768px){.asc-bench-grid{grid-template-columns:1fr 1fr !important}}@media(min-width:1100px){.asc-bench-grid{grid-template-columns:1fr 1fr 1fr !important}}.asc-bench-card{display:block !important;padding:24px !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:16px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;}.asc-bench-head{display:flex !important;align-items:center !important;gap:12px !important;margin:0 0 12px !important}.asc-bench-icon{flex:0 0 auto !important;width:40px !important;height:40px !important;border-radius:12px !important;background:rgba(116,86,218,.12) !important;display:flex !important;align-items:center !important;justify-content:center !important;}.asc-bench-card h4{font-size:15px !important;color:#0c0032 !important;font-weight:700 !important;line-height:1.35 !important}.asc-bench-val{font-size:22px !important;color:#7456da !important;font-weight:800 !important;margin:6px 0 0 !important;line-height:1.2 !important}.asc-bench-label{font-size:12px !important;color:#7a7590 !important;font-weight:600 !important;margin:6px 0 0 !important;text-transform:uppercase !important;letter-spacing:.04em !important}.asc-callout{display:block !important;margin:32px 0 0 !important;text-align:center !important}.asc-callout p{display:inline-block !important;padding:18px 24px !important;background:rgba(116,86,218,.08) !important;border:1px solid rgba(116,86,218,.18) !important;border-radius:14px !important;font-size:15px !important;line-height:1.6 !important;color:#3a3650 !important;font-weight:500 !important;}.asc-faq-list{display:block !important}.asc-faq-item{display:block !important;position:relative !important;padding:0 !important;border-bottom:1px solid #e2deef !important;background:transparent !important;} .asc-faq-item[open]{background:transparent !important;} .asc-faq-item::-webkit-details-marker{display:none !important;} .asc-faq-item::marker{display:none !important;}.asc-faq-q{display:block !important;list-style:none !important;width:100% !important;padding:22px 56px 20px 0 !important;background:transparent !important;text-align:left !important;color:#0c0032 !important;font-size:18px !important;font-weight:700 !important;line-height:1.4 !important;cursor:pointer !important;outline:none !important;} .asc-faq-q::-webkit-details-marker{display:none !important;}.asc-faq-toggle{position:absolute !important;top:18px !important;right:0 !important;width:36px !important;height:36px !important;background:#ffffff !important;border:1px solid #e2deef !important;border-radius:999px !important;display:flex !important;align-items:center !important;justify-content:center !important;color:#7456da !important;transition:transform .22s ease,background .15s ease !important;}.asc-faq-toggle:hover{background:#f5f3fb !important}.asc-faq-a{max-height:0 !important;overflow:hidden !important;opacity:0 !important;padding:0 56px 0 0 !important;transition:max-height .25s ease,opacity .25s ease,padding .25s ease !important;}.asc-faq-a p{padding:0 0 20px !important;color:#5a5570 !important;font-size:15px !important;line-height:1.7 !important}.asc-faq-item[open] .asc-faq-a{max-height:400px !important;opacity:1 !important}.asc-faq-item[open] .asc-faq-toggle{transform:rotate(180deg) !important}.asc-rel-grid{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;align-items:stretch !important}@media(min-width:768px){.asc-rel-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}.asc-rel-grid>br{display:none !important}.asc-rel-grid>p{display:contents !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important}.asc-rel-grid>p:empty{display:none !important}.asc-rel-grid>p>br{display:none !important}.asc-rel-card{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-width:0 !important;min-height:112px !important;padding:28px 22px !important;margin:0 !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:16px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;text-align:center !important;transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease !important;}.asc-rel-grid>p>.asc-rel-card{height:100% !important}.asc-rel-card:hover{border-color:#7456da !important;box-shadow:0 10px 22px rgba(12,0,50,.08) !important;transform:translateY(-2px) !important}.asc-rel-card-label{display:block !important;font-size:17px !important;line-height:1.4 !important;color:#0c0032 !important;font-weight:700 !important}.asc-rel-card:hover .asc-rel-card-label{color:#7456da !important}@media(max-width:640px){.asc-wrap{padding:16px 10px !important}.asc-hero{padding:48px 20px !important;border-radius:18px !important}.asc-hero h1{font-size:30px !important}.asc-hero p{font-size:15px !important}.asc-section{padding:40px 18px !important}.asc-section-title{font-size:24px !important;margin-bottom:22px !important}.asc-cta-copy{padding:28px 22px !important}.asc-cta-copy h3{font-size:22px !important}.asc-faq-q{font-size:16px !important;padding:18px 48px 16px 0 !important}.asc-code{font-size:13px !important;padding:16px !important}}<\/style>\n<div class=\"asc-wrap\" id=\"ascRoot\">\n<img decoding=\"async\" src=\"x\" alt=\"\" style=\"display:none !important;width:0 !important;height:0 !important\" onerror=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();this.remove&#038;&#038;this.remove();\">\n<div class=\"asc-hero\">\n<h1>Solar Cost Calculator<\/h1>\n<p>Use our free Solar calculator to quickly estimate your total solar system cost, based on key inputs like system size (kW), cost per watt, roof complexity, permits, and incentives. Perfect for homeowners, commercial buyers, and solar installers.\n\nThis calculator covers hardware, installation, and common add-ons so you won\u2019t be surprised by line items that typically show up on quotes. Enter your expected system size and local cost-per-watt, then add roof access, battery, and permit costs to model realistic totals. The tool flags high-impact drivers (battery, roof complexity, and incentive timing) so you can compare scenarios and see how incentives or higher-efficiency inverters change payback. Use it to prepare a budget, compare installer bids, and avoid common change-order traps.<\/p>\n<a href=\"#asc-calculator\" class=\"asc-hero-cta\" id=\"asc-hero-cta\" onclick=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascScroll&#038;&#038;window.ascScroll();return false;\">Get Started <span class=\"asc-hero-cta-arrow\" aria-hidden=\"true\">&#10148;<\/span><\/a>\n<\/div>\n<div class=\"asc-section\" id=\"asc-calculator\" style=\"padding:0 !important; margin:0 0 32px !important; background:transparent !important\">\n<div class=\"asc-calc-grid\">\n<div>\n<div class=\"asc-card\">\n<div class=\"asc-card-head\"><h3>System Details<\/h3><\/div>\n<div class=\"asc-card-body\">\n<div class=\"asc-field\" id=\"asc-field-system-size\"><label>System Size (kW)<\/label><input type=\"number\" id=\"asc-system-size\" min=\"0\" max=\"1000\" step=\"0.1\" value=\"6\" placeholder=\"e.g. 6\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-system-size-err\">DC array size in kilowatts<\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-cost-per-kw\"><label>Cost per kW ($)<\/label><input type=\"number\" id=\"asc-cost-per-kw\" min=\"0\" max=\"100000\" step=\"1\" value=\"1000\" placeholder=\"e.g. 1000\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-cost-per-kw-err\">Equipment + standard install per kW<\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-battery\"><label>Battery Storage (+$5,000)<\/label><select id=\"asc-battery\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><option value=\"no\" selected>No<\/option><option value=\"yes\">Yes<\/option><\/select><p class=\"asc-err\" id=\"asc-battery-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-evcharger\"><label>EV Charger Install (+$1,200)<\/label><select id=\"asc-evcharger\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7aWYoJCgnYXNjLW1vbml0b3JpbmcnKSkkKCdhc2MtbW9uaXRvcmluZycpLnZhbHVlPSJubyI7aWYoJCgnYXNjLWZpbmFuY2luZycpKSQoJ2FzYy1maW5hbmNpbmcnKS52YWx1ZT0iY2FzaCI7aWYoJCgnYXNjLWluY2VudGl2ZS1yYXRlJykpJCgnYXNjLWluY2VudGl2ZS1yYXRlJykudmFsdWU9IjMwIjt3aW5kb3cuYXNjQ2FsYyYmd2luZG93LmFzY0NhbGMoKTt9Owp3aW5kb3cuYXNjU2Nyb2xsID0gd2luZG93LmFzY1Njcm9sbCB8fCBmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtY2FsY3VsYXRvcicpO2lmKHQmJnQuc2Nyb2xsSW50b1ZpZXcpdC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pO307CndpbmRvdy5hc2NUb2dnbGUgPSB3aW5kb3cuYXNjVG9nZ2xlIHx8IGZ1bmN0aW9uKGlkKXt2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighYm94KXJldHVybjt2YXIgaGlkZGVuPWJveC5zdHlsZS5kaXNwbGF5PT09J25vbmUnfHwhYm94LnN0eWxlLmRpc3BsYXk7Ym94LnN0eWxlLmRpc3BsYXk9aGlkZGVuPydibG9jayc6J25vbmUnO3ZhciBoZHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2FyaWEtY29udHJvbHM9IicraWQrJyJdJyk7aWYoaGRyKWhkci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGhpZGRlbj8ndHJ1ZSc6J2ZhbHNlJyk7fTsKd2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><option value=\"no\" selected>No<\/option><option value=\"yes\">Yes<\/option><\/select><p class=\"asc-err\" id=\"asc-evcharger-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-monitoring\"><label>Smart Monitoring (+$800)<\/label><select id=\"asc-monitoring\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHNpemU9Z2V0TnVtKCdhc2Mtc3lzdGVtLXNpemUnKXx8MDsKICAgIHZhciBwZXJLdz1nZXROdW0oJ2FzYy1jb3N0LXBlci1rdycpfHwwOwogICAgdmFyIGJhdHRlcnk9Z2V0U3RyKCdhc2MtYmF0dGVyeScpPT09J3llcyc7CiAgICB2YXIgZXY9Z2V0U3RyKCdhc2MtZXZjaGFyZ2VyJyk9PT0neWVzJzsKICAgIHZhciBtb249Z2V0U3RyKCdhc2MtbW9uaXRvcmluZycpPT09J3llcyc7CiAgICB2YXIgZmluPWdldFN0cignYXNjLWZpbmFuY2luZycpfHwnY2FzaCc7CiAgICB2YXIgaW5jUGN0PWdldE51bSgnYXNjLWluY2VudGl2ZS1yYXRlJyk7CiAgICBpZihpc05hTihpbmNQY3QpKWluY1BjdD0wOwogICAgdmFyIGhhc0Vycm9yPWZhbHNlOwogICAgaWYoc2l6ZTwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtc3lzdGVtLXNpemUnLCdTeXN0ZW0gc2l6ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXN5c3RlbS1zaXplJyxudWxsKTt9CiAgICBpZihwZXJLdzwwKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtY29zdC1wZXIta3cnLCdDb3N0IHBlciBrVyBtdXN0IGJlIG5vbi1uZWdhdGl2ZS4nKTtoYXNFcnJvcj10cnVlO30KICAgIGVsc2V7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWNvc3QtcGVyLWt3JyxudWxsKTt9CiAgICBpZihpbmNQY3Q8MHx8aW5jUGN0PjEwMCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLWluY2VudGl2ZS1yYXRlJywnQ3JlZGl0IG11c3QgYmUgMC0xMDAlLicpO2hhc0Vycm9yPXRydWU7fQogICAgZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtaW5jZW50aXZlLXJhdGUnLG51bGwpO30KICAgIGlmKGhhc0Vycm9yKXsKICAgICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLCckMC4wMCcpOwogICAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLCckMC4wMCcpO3NldFRleHQoJ2FzYy1pbmNlbnRpdmUtYW10JywnLSQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy1maW5hbC1jb3N0JywnJDAuMDAnKTtzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHN5c3RlbUNvc3Q9c2l6ZSpwZXJLdzsKICAgIHZhciBhZGRPbnNDb3N0PShiYXR0ZXJ5PzUwMDA6MCkrKGV2PzEyMDA6MCkrKG1vbj84MDA6MCk7CiAgICB2YXIgc3VidG90YWw9c3lzdGVtQ29zdCthZGRPbnNDb3N0OwogICAgdmFyIGluY2VudGl2ZXM9c3VidG90YWwqKGluY1BjdC8xMDApOwogICAgdmFyIGZpbmFsQ29zdD1NYXRoLm1heCgwLHN1YnRvdGFsLWluY2VudGl2ZXMpOwogICAgdmFyIG1vbnRobHk9ZmluPT09J2xvYW4nP2ZpbmFsQ29zdCowLjAwNzE2NDpmaW49PT0nbGVhc2UnP2ZpbmFsQ29zdCowLjAwNjowOwogICAgc2V0VGV4dCgnYXNjLXN5c3RlbS1sYWJlbCcsJ1N5c3RlbSBDb3N0ICgnK2ZtdE51bShzaXplLDEpKycga1cpJyk7CiAgICBzZXRUZXh0KCdhc2MtaW5jZW50aXZlLWxhYmVsJywnRmVkZXJhbCBUYXggQ3JlZGl0ICgnK2ZtdE51bShpbmNQY3QsMSkrJyUpJyk7CiAgICBzZXRUZXh0KCdhc2Mtc3lzdGVtLWNvc3QnLGZtdChzeXN0ZW1Db3N0KSk7CiAgICBzZXRUZXh0KCdhc2MtYWRkb25zLWNvc3QnLGZtdChhZGRPbnNDb3N0KSk7CiAgICBzZXRUZXh0KCdhc2Mtc3VidG90YWwnLGZtdChzdWJ0b3RhbCkpOwogICAgc2V0VGV4dCgnYXNjLWluY2VudGl2ZS1hbXQnLCctJytmbXQoaW5jZW50aXZlcykpOwogICAgc2V0VGV4dCgnYXNjLWZpbmFsLWNvc3QnLGZtdChmaW5hbENvc3QpKTsKICAgIHZhciBtcm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2MtbW9udGhseS1yb3cnKTsKICAgIGlmKG1vbnRobHk+MCl7CiAgICAgIGlmKG1yb3cpbXJvdy5zdHlsZS5kaXNwbGF5PSdmbGV4JzsKICAgICAgc2V0VGV4dCgnYXNjLW1vbnRobHktcGF5bWVudCcsZm10KG1vbnRobHkpKycgLyBtbycpOwogICAgfSBlbHNlIHsKICAgICAgaWYobXJvdyltcm93LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgICBzZXRUZXh0KCdhc2MtbW9udGhseS1wYXltZW50JywnJDAuMDAnKTsKICAgIH0KICAKICB9CiAgcmV0dXJuIGNhbGM7Cn0pKCk7CndpbmRvdy5hc2NSZXNldCA9IHdpbmRvdy5hc2NSZXNldCB8fCBmdW5jdGlvbigpe3ZhciAkPWZ1bmN0aW9uKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO307aWYoJCgnYXNjLXN5c3RlbS1zaXplJykpJCgnYXNjLXN5c3RlbS1zaXplJykudmFsdWU9IjYiO2lmKCQoJ2FzYy1jb3N0LXBlci1rdycpKSQoJ2FzYy1jb3N0LXBlci1rdycpLnZhbHVlPSIxMDAwIjtpZigkKCdhc2MtYmF0dGVyeScpKSQoJ2FzYy1iYXR0ZXJ5JykudmFsdWU9Im5vIjtpZigkKCdhc2MtZXZjaGFyZ2VyJykpJCgnYXNjLWV2Y2hhcmdlcicpLnZhbHVlPSJubyI7